Re: [GRAPHS] One graph to bind them all ?

On 3/1/2011 8:20 PM, Lee Feigenbaum wrote:
> On 3/1/2011 6:33 PM, Fabien Gandon wrote:
>> Hello,
>>
>> Going through the numerous messages about RDF graphs, g-*, named
>> graphs, graph literals, etc. I felt that there is one question which
>> has not been explicitly addressed and which for me is important for
>> instance when it comes to handling blank nodes.
>>
>> One of the things I liked in the notion of "surface" as proposed by
>> Pat (unless I am mistaken) is that they natively support overlapping
>> i.e. a given triple can belong to several surfaces. This ability to
>> support multiple partitioning of a triple set, overlapping g-boxes,
>> would lead me to say that a blank node participating to the overlap of
>> two g-boxes should be considered the same shared blank node in the two
>> g-boxes.
>>
>> In other words I believe we need to decide if there can be overlaps
>> between g-boxes, between g-snaps and between g-texts.
>>
>> I am convinced we need to allow overlapping g-boxes.
>> I am not too sure about overlapping g-snaps and overlapping g-texts.
>
> What do existing systems do?
>
> All triples within Anzo live inside of named graphs, which are analogous
> to Sandro's g-boxes. The same blank node can appear in multiple g-boxes,
> and so any triple can appear in multiple g-boxes.
>
> I don't recall offhand whether our TriG parser scopes blank node labels
> to a particular graph, and the existing TriG document doesn't specify
> one way or the other. (i.e. given "Example Document 3" in
> http://www4.wiwiss.fu-berlin.de/bizer/TriG/, what is the answer to this
> query:
>
> PREFIX : <http://example.org/>
> PREFIX foaf: <http://xmlns.com/foaf/0.1/>
> ASK
> FROM NAMED :alice
> FROM NAMED :bob
> {
> GRAPH ?g1 {
> ?p foaf:name "Alice"
> }
> GRAPH ?g2 {
> ?p foaf:name "Bob"
> }
> }
>
> Given the data, I'd assume that the implicit understanding is that bnode
> labels are scoped to a graph, and so the answer to this query would be
> "false". I _think_ that's what our parser does. Despite that, you can
> still programmatically put the same blank node into 2 graphs (err
> g-boxes) within Anzo.
>
> (Note that I think this can only be tested using "FROM NAMED" in SPARQL,
> as multiple "FROM" clauses use RDF merge to combine the source graphs,
> which explicitly prevents any shared blank nodes, IIUC.)

For completeness, I should add that I don't care all that much about 
this particular issue, since we rarely use blank nodes :-)

Lee

>
> Lee

Received on Wednesday, 2 March 2011 01:22:24 UTC