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

Reply via email to