W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > April to June 2005

Re: punctuationSyntax (let's drop reification shorthand)

From: Dan Connolly <connolly@w3.org>
Date: Fri, 08 Apr 2005 06:35:30 -0500
To: Jeen Broekstra <jeen@aduna.biz>
Cc: Dave Beckett <dave.beckett@bristol.ac.uk>, RDF Data Access Working Group <public-rdf-dawg@w3.org>
Message-Id: <1112960130.15073.961.camel@localhost>

On Fri, 2005-04-08 at 12:20 +0200, Jeen Broekstra wrote:
> Dave Beckett wrote:
> 
> 
> > As a particular criticism, I don't like the << ... >> reification
> > syntax, it has never been asked for as an addition to Turtle (a few
> > years experience)  and I don't need it for any of my applications.
> 
> Actually we have had some examples of people using the reification
> shorthand syntax in SeRQL. Example case (actually a pretty exotic one
> where this is used in the CONSTRUCT to create new reifications):
> 
> http://www.openrdf.org/forum/mvnforum/viewthread?lastpage=yes&thread=404

Hmm...

| construct {{xxx} aaa {yyy}} my:foo {my:bar}
| from {xxx} aaa {yyy}

No, let's please not use {} for rdf:subject/predicate/object
style reification. That style of reification does *not* quote
the terms; it's referentially transparent, which I think
causes all kinds of trouble.

Using the << >> syntax just for the sake of argument...

If we have
  :Mary a :Person.
  :Term owl:disjointWith :Person.
then with rdf:subject/predicate/object, we have

  << :Mary :hit [ a :Ball ] >> rdf:subject [ a :Person ].

and *not*
  << :Mary :hit [ a :Ball ] >> rdf:subject [ a :Term ].

While this is true...
  << :Mary :hit [ a :Ball ] >> a rdf:Statement.
I think it's misleading. I can almost make my peace
with it this way...
  << :Mary :hit [ a :Ball ] >> a :Situation.

To see why the rdf:Statement thing is misleading,
consider... it *does* follow from...

  :Lois :believes << :Superman a :Hero >>.
  :Superman owl:sameAs :ClarkKent.

by OWL entailment that

  :Lois :believes << :ClarkKent a :Hero >>.

In contrast, the N3 {}s do quote their contents, so it
does *not* follow from

  :Lois :believes { Superman a Hero }.
  :Superman owl:sameAs ClarkKent.

that

  :Lois :believes { :ClarkKent a :Hero }.


There's also the business of referring to multiple triples. Reifying
multiple triples was supposed to be done with rdf:Bag's, I think,
which are another construct that doesn't really work (they
don't have enough information to say "and there's nothing else
in this bag"). I don't think the grammar even allows stuff
like...

  SELECT ?who
   WHERE ?who :said << ?anmial1 :eats ?animal2.
                       ?animal2 :eats ?animal3 >>.


Hmm... how do []s inside <<>> work? The grammar does allow
those... I think

  << Mary hit [ a Ball ] >> a FunnySituation

actually reduces to

  << Mary hit _:something >> a FunnySituation
  _:something a Ball.

i.e. the claim that Mary hit something is not
asserted at the top level, but the claim that the something
is a ball is.


I really wish RDF Core had deprecated rdfs:subject/predicate/object
because they don't get this quoting stuff right.
They/we didn't, but I'll make the same argument again here.
Let's please not encourage people to use rdfs:subject/predicate/object.


>  From a point of view of QL adequacy it seems a bit poor to not add
> some sort of convenience shortcut for reification. After all, the
> concept is part of the RDF abstract model.

Hmm... How so? I think it's just a utility vocabulary, like
rdf:value and rdfs:label. It's certainly not part
of the abstract syntax.

The SPARQL spec, in 2.2 Graph patterns,
  http://www.w3.org/2001/sw/DataAccess/rq23/#BasicGraphPatterns
imports the "RDF Data Model" from section  3.1 Graph Data Model
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-data-model
which refers to section 6. Abstract Syntax
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph-syntax

"reification" occurs in neither section of rdf-concepts. In fact,
it occurs nowhere in rdf-concepts.

> That being said, I'm not particularly fond of the double angle bracket
> syntax either - yet more brackets to clutter up the syntax. So,
> neither a strong like nor strong dislike in my case, but I felt the
> additional data point might be useful.

Yes, it's good to have all the relevant experience on the table.

But we discussed this <<reificatoin shorthand>> on the teleconference,
and several spoke against it an noone spoke for it. The only known
advocate in the WG, Andy, wasn't there, so rather than put the question,
I took an action...

  ACTION: DanC to propose to close punctuationSyntax (again)
    sans <<reifiction shorthand>>"
   http://www.w3.org/2005/04/05-dawg-minutes.html#item06

so here we are. Let anyone who wants to keep <<subj pred obj>>
speak now/soon or forever hold your peace.


-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E
Received on Friday, 8 April 2005 11:35:31 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:23 GMT