- From: Alex Hall <alexhall@revelytix.com>
- Date: Wed, 2 Mar 2011 10:57:38 -0500
- To: RDF WG <public-rdf-wg@w3.org>
- Message-ID: <AANLkTinX7k-CydC4U8sY+e=1==U0pSbxf3t5S9P_vwfr@mail.gmail.com>
On Tue, Mar 1, 2011 at 8:20 PM, Lee Feigenbaum <lee@thefigtrees.net> 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? > Mulgara is a quad store, where the fourth column is the URI of the graph associated with the statement. Each node is identified internally as a long integer, and there's nothing preventing the same blank node ID from appearing in different graphs. Statements get added to a graph in one of three ways: 1. Loaded from a file 2. Inserted manually, as in an INSERT DATA call in SPARQL 1.1 3. Computed from query results, as in an INSERT WHERE call in SPARQL 1.1 In cases 1 and 2, a new blank node ID is always allocated. In case 3, if the query returns an internal blank node ID then that same node ID will be re-used in the new statement. -Alex
Received on Wednesday, 2 March 2011 15:58:11 UTC