An RDF Reification Syntax Idea

In reifying statements from other sources or in a document discussing its own statements, it appears that we have two alternatives.  First, we can use the syntax where the statement is an element and contains subject, predicate and object elements. This leads to replication, where an author must repeat the statements in this context. The second approach is to consider them to be a subgraph literal which again removes them from their original context or otherwise duplicates them.

I would like to propose a third alternative to the discussion while the topics of reification and provenance in RDF are being considered. This idea uses the relationship between RDF and N3: that any RDF-based document can be represented uniquely as a sequence of triples.

It occurs that in all the things that can be resources, one that is missing is a statement residing in another document.

I propose for consideration a syntax convention resembling:

"!123" to indicate that the resource I wish to discuss or describe is the 123rd triple in the triples representation of the document at that address.

These resources can be placed into sets should I wish to discuss a more complex statement or subgraph, or a sequence should the order have importance, in the case of a reasoning or proof. Additionally, reasoners can construct sets or sequences from multiple sources to make statements, possibly regarding the logical consistency of portions of one or more documents.

Should this syntactic convention have merit, browsing software could allow a user to navigate to such a reference, set or sequence of references, to open a view of the referenced document(s) with the referenced statements highlighted in the corresponding RDF-based language(s). Identically, editing software could allow one or more highlighted portions of another RDF-based text document to be converted into this notation for referencing or reification purposes.

Where software is additionally helpful with this syntactic convention, is in document self-reference. As an author composes a document, the line numbers of that document's triples fluctuate and software would be useful in holding the consistency of these references while the document was being composed. The notation for this would be as above but with the document's URI instead of the address of another resource, or in the convention of the '#' based URI's, just simply "!21".

This syntax would allow an author to utilize another author's subgraph in a functional context within their own document and to additionally indicate the subgraph's provenance.  That is, text from another RDF-based document could be placed into a useful position in a document and that document could indicate which portions of itself were from other authors.

This proposed shorthand notation does make sense from an 'any statement is a resource', 'any set or sequence of statements can be collected into a resource' perspective, but the need for tools in browsing, composing and editing is noteworthy. The syntax offered for discussion does view statements as things that can be referenced by URI, however it utilizes the facts that these can be automatically generated for each statement, each statement in every URI-addressable document already has one, and avoids interference with the accepted meaning of a URI containing the '#' symbol.

I look forward to hearing any thoughts on this syntactic convention.



Received on Tuesday, 30 January 2007 16:21:08 UTC