- 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>
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 UTC