[Mulgara-dev] Questions about the string-pool.

Andrae Muys andrae at netymon.com
Tue Dec 12 06:19:32 UTC 2006


On 12/12/2006, at 4:32 PM, Life is hard, and then you die wrote:

> On Tue, Dec 12, 2006 at 03:03:34PM +1100, Andrae Muys wrote:
>>
>> I've been thinking about the XA2 StringPool implementation.
>>
>> 6 primitive operations and 1 optimised compound operation
>>
>> Insert mapping
>> Delete mapping
>> Localize
>> Globalize
>> Interval (by values)
>> Interval (by type)
>
> What exactly is meant this last one? I presume interval-by-value
> is a range of values, like the current
> StringPool.findGNodes(low, incLow, high, incHigh).
>

That was referring to StringPool.findGNodes(TypeCategory, URI);

>> +
>> Localize||Insert (inserts if lookup fails)
>>
>> My questions:
>>
>> Does it make any sense to perform interval/value operations for
>> anything except Typed-Literals?
>> Does it make any sense to perform heterogeneous interval/value
>> operations?
>> Does it make any sense to perform heterogeneous interval/type
>> operations?
>>
>> As far as I can tell the answers are
>>
>> No.
>> No.
>> Not between RDF-Node types (but it does make sense to request all
>> Literals - untyped, typed, and language-coded).
>>
>> Comments?
>
> We have a resolver to be able to do case-insensitive literal
> comparisons, and that uses the current findGNodes() for that. This
> works on both typed and untyped literals. So unless I'm
> misunderstanding something, I would say yes to the first two (unless
> there's a better way).
>
> Also, the PrefixResolver makes use of interval-by-value on untyped
> literals.

I just finished a 1 hour conversation with Simon Raboczi, and I can  
definately confirm that the answer to the first question is Yes.

I am confident that the third question is that nodes need to be  
selectable by
1. RDF-Node type (BN,URI,Literal)
2. Typed-Literal type (for typed-literals only)
Do they need to be selectable by language?  - I don't believe so but  
would appreciate input.

The second question comes down to how we define total-orders wrt types.

Ultimately it can be reduced to answering the questions:
1. Does ("2006/02/15"^^Date < $x < "3.14"^^Double) make sense?
2. Does (<some:uri> < $x < "The quick brown fox...") make sense?
3. Does ("2006/02/15" $x < "2006/05/15"^^Date) make sense?

and I believe the answer to all three questions is No.

Certainly my XA2 StringPool design currently assumes the answer is No.

Andrae

-- 
Andrae Muys
andrae at netymon.com
Principal Mulgara Consultant
Netymon Pty Ltd




More information about the Mulgara-dev mailing list