[Mulgara-dev] Questions about the string-pool.
Andrae Muys
andrae at netymon.com
Tue Dec 12 00:19:32 CST 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