Re: Implementation issues [was Re: Future-proof modelling]

> On Jan 23, 2023, at 10:25 AM, Andy Seaborne <andy@apache.org> wrote:
> 
> 
> 
> On 23/01/2023 17:48, Peter F. Patel-Schneider wrote:
>> It would be useful to have a good idea of just what different RDF implementations do that is related to embedded triples.
> 
> Jena has an RDF term for it.
> 
> https://www.w3.org/2021/12/rdf-star.html#quoted-triples
> "RDF-star introduces quoted triple, which is a new kind of RDF term."
> 
> 
> Disk:
> It gets a nodeID of it's own (8 byte binary value) like all other RDF terms then the storage layer works in 4-tuples and 3-tuples of nodeids.
> 
> Memory:
> The RDF term has a triple but that triple isn't "the same" java object as every other same SPO. .equals is "same value", not "same reference" so it isn't a triple id a I understand your usage of it.
> 
> One in-memory implementation does not store triples, only S->P->O paths. Another in-memory implementation does have a Triple object.
> It's transparent at the API.

In fact the default Ruby RDF in-memory store uses a muti-level map (G->S->P->O), with an option to store more metadata on the object reference; for all practical purposes, this last reference is is unique for each triple/quad. There is an in-memory Triple/Statement object, which is not indexed, but it is used for quoted triples.

There are other dataset implementations that do use indexed statements, but none that currently support RDF-star.

Gregg

> Optionality, in the future and transparently, quoted triples may get indexed. But that's an implementation choice, not one to require by standard.
> 
> If this were RDF*, the implementation would be different.
> 
>    Andy
> 
> The code is open source.
> 
>> peter
> 

Received on Monday, 23 January 2023 20:24:41 UTC