hmmm.... Then the FileGraph adds the extra constraint to its implementation of Graph in that it can't accept the non-URI nodes in the predicate position when transactions are in use as it writes the checkpoint file and the writer won't accept a non-URI in the predicate. Perhaps this is a bug in the writer then?
On Sun, Sep 1, 2013 at 10:06 AM, Dave Reynolds <[email protected]>wrote: > Hi Claude, > > > On 01/09/13 08:36, Claude Warren wrote: > >> I am a bit confused. I was under the impression that a predicate had to >> be >> a URI (not anon and not literal) node. This seems to be enforced by the >> graph writing code but not by the graph code itself. Should not the graph >> code thrown an exception when a non-URI node is used as a predicate? Or >> is >> the writer too strict? >> > > It is the Model/Statement layer which enforces "syntactic" constraints > like that, plus the writers. > > The Graph/Triple/Node storage layer deliberately omits those checks, > implementing what some people call "generalized RDF". > > This has several benefits. It keeps the storage layer uniform and simple, > it allows the reasoners to construct intermediate results which are outside > the RDF model constraints, it allows for possible change to the RDF model. > In particular the notion of allowing bnodes as predicates was discussed and > postponed at the previous round of standardization and has certainly been > discussed in the current round (especially in the context of JSONLD) - > though I don't know its current status. > > Dave > > -- I like: Like Like - The likeliest place on the web<http://like-like.xenei.com> Identity: https://www.identify.nu/[email protected] LinkedIn: http://www.linkedin.com/in/claudewarren
