Re: Why does RDF* allow triples as objects?

Richard,

The reason why I defined RDF* in the way I did (i.e., allowing triples not only 
in the subject position but also in the object position) was based on several 
thoughts.

One of which was along the same lines of William's comment. Now, regarding 
your response to this comment, I don't think that introducing the possible 
asymmetry regarding the use of triples within RDF* triples can be justified by 
the fact that RDF has the same kind of asymmetry for literals.

Another thought was that I wanted RDF* to be as close as possible to RDF 
reification. In RDF reification, the triples that talk about a reified triple may 
contain as their object the IRI or bnode used for the reification of the reified 
triple. For instance, the following is an RDF reification version of William's 
example:

:bob :believes _:b1 .
_:b1  rdf:type  rdf:Statement .
_:b1  rdf:subject  :moon .
_:b1  rdf:predicate :consistsOf .
_:b1  rdf:object  :greenCheese .


Olaf


On måndag 2 september 2019 kl. 10:52:48 CEST Richard Cyganiak wrote:
> William,
> 
> I understand you are dissatisfied with the design of RDF, and believe that
> RDF would have been better if certain decisions had been made differently.
> Such sentiments are not uncommon among those who have worked with RDF. I
> myself am no exception.
> 
> Nevertheless, we have to acknowledge that RDF* is an extension of RDF-as-is,
> and not an extension of some RDF-that-could-have-been.
> 
> As a matter of fact, in plain RDF, rules of the form
> 
>     { ?a :p1 ?b } => { ?b :p2 ?a }
> 
> already produce syntactically invalid triples under certain circumstances.
> So I don't see why one would expect rules of that form to always produce
> valid triples in RDF*.
> 
> Again, allowing triples only as subjects is sufficient to address the stated
> use cases for RDF* (annotation of statements, and PG interoperability), and
> makes it easier to define appropriate syntaxes and user interfaces.
> 
> Richard
> 
> > On 1 Sep 2019, at 14:33, William Waites <wwaites@inf.ed.ac.uk> wrote:
> > 
> > (Introduction: Hi everyone, I've worked with RDF off and on for 12 or so
> > years, recently to help with describing genetic circuits.)
> > 
> > Richard, why are triples allowed as objects in RDF*? My guess would be
> > because arbitrary asymmetries have a cost. We already have the problem
> > that literals aren't allowed as subjects which upsets reasoning with even
> > simple rules.
> > 
> > Why should
> > 
> >    <<:moon :consistsOf :greenCheese>> :isBelievedBy :bob.
> > 
> > be allowed, but not,
> > 
> >    :bob :believes <<:moon :consistsOf :greenCheese>>.
> > 
> > especially under the rule that you would expect,
> > 
> >    { ?a :believes ?b } => { ?b :isBelievedBy ?a }.
> > 
> > Best wishes,
> > 
> > William Waites | wwaites@inf.ed.ac.uk
> > Institute for Language, Cognition and Computation
> > School of Informatics, University of Edinburgh

Received on Monday, 2 September 2019 16:38:00 UTC