Re: RDF Scoping Mechanism

Pat Hayes wrote:
> It wouldn't take very much to make into full first-order logic: all it needs is a scoping mechanism (think graph literals in N3 or named graphs, or my 'surfaces' idea from the Blogic talk) and negation. Mind you, that scoping mechanism would drive a truck through triple-store-based implementations, I suspect.

Well, given that every triple store I know has a fourth component,  Often used to store the document it came from,  that can just allow that to alternatively be the id of a subgraph.  You just have to allow a subgraph id to fill an S or O slot and viola!

Triple store object-oriented systems typically have a "store" or "graph" object already. You extend the statement object you can make a graph be a valid holder of a S or O position.

Your parser recursively calls the document parser you already has for the stuff between the  { }. Same with the serializer. Code you already have. A lot of the code is there.


The slightly more complicated bit is when you realize that ?x variables in SPARQL and _:y nodes in RDF are special cases of something more general, and when you have nested graphs you have to be able to track within which scope each is quantified. So each graph also gets a list of the variables quantified in each way.  It is a very logical extension of what we have with RDF which led to N3.


>> Back to tree structures and Sexpressions, no doubt :-)
> 

(Actually I think we need to make sure that lists are first class objects in the implementations, so that ordered collections can be handled efficiently. ) 


> Obvious question, regardless of implementations, is there any chance of getting that scoping mechanism in to RDF through W3C to rec?
> 
> Any rough ideas how long that process may take? (I'm assuming the RDF Semantics are bug-less and this would just be an addition).
> 
> My logic here is that if other serializations or even something N3-like were to go through standardization, then work would probably have to start on getting said scoping mech in to RDF sooner rather than later.

Well, from the standards track point of view, one could add things incrementally to RDF 2.0, 2.1, etc or one could just standardize N3 as it is, within minimum changes, focussing on code which has been working for many years.  That is generally an very accepted way to make a standard.    Get n3 1.0 nailed as a standard. Demonstrate that it can be considered a superset of RDF. Demonstrate its use for carrying RIF.  Standardize some built-in function ontologies. Set up an agenda for any later developments to be done after  basic N3.

Tim

> 
> Best,
> 
> Nathan
> 

Received on Saturday, 3 July 2010 12:08:54 UTC