W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2010

Re: [TF-ENT] Entailment regimes doc update

From: Birte Glimm <birte.glimm@comlab.ox.ac.uk>
Date: Wed, 17 Feb 2010 14:48:09 +0000
Message-ID: <492f2b0b1002170648q1fe39b71wc937e91099f4e02e@mail.gmail.com>
To: Ivan Herman <ivan@w3.org>
Cc: SPARQL Working Group <public-rdf-dawg@w3.org>, Chimezie Ogbuji <ogbujic@ccf.org>
Wow, thanks for the quick read :-)

On 17 February 2010 12:30, Ivan Herman <ivan@w3.org> wrote:
> Mini editorial issues:
> - "query answer: in:" (section 2.2., right before the table for the
> simple results

> - Better use the same formulation everywhere. In, say, RDFS, (C2) is
> [[[
> (C2) For each variable x in V(BGP), sk(μ(x)) occurs in sk(SG).
> ]]]
> whereas, for OWL2/RDF it says
> [[[
> (C2) Each variable x that occurs in a triple in BGP is such that
> sk(μ(x)) occurs in sk(SG).
> ]]]
> meaning, I believe, the same, but let us use the same terms:-)

Agreed and unified the formulation (meaning was the same).

> - "ontolgy" -> "ontology" in the section referreing to scm-eqc2

> More substantial comment:
> I must admit I am a bit bothered by 5.2.1. I understand what is
> happening but I am bothered anyway:-( I am afraid that it will become
> fairly difficult for an average OWL RL user to follow what is happening
> (and an average OWL RL user may not understand all the details and
> intricacies of all this). Eg, if I look at
> SELECT ?r WHERE { ex:a ?r ex:a }
> for the data
> [[
> ex:a ex:b ex:c .
> ex:w ex:ww 123 .
> ex:z ex:zz 123 .
> ]]
> then ?r/owl:sameAs will be the result. This is because the dt-eq will
> bring owl:sameAs into the picture through the back door of the rule set.
> As a consequence, eq-ref will produce the (ex:a owl:sameAs ex:a) triple
> and due to dt-eq (C2) will not apply.

I agree with the not nice/counterintuitive side effect, but I don't
think you'll get ?r/owl:sameAs as answer because the variable binding
owl:sameAs does not occur in the input/the scoping graph and also does
not occur in the implicitly present axioms that are assumed to be any
OWL 2 ontology. However, if you add ex:somethingelse owl:sameAs
ex:somethingelse, which is not really related to any of the previous
triples and not saying much, then you will get owl:sameAs as solution
for the same query.

I think you assume that we look at the saturation, i.e., I take the
input, then I run all the rules exhaustively, and whatever I find
there I take to be the "allowed" values. This means that in order to
get systems have the guaranteed same results on a query, we are fixed
to that rule set, which is not so nice.

I see two possibilities to reduce the number of counterintuitive side
effect. We need something to prevent infinite answers, which dome from
axioms containing rdf:_1, rdf:_2,... and from datatypes (in particular
for OWL Full with owl:topDataPropery or numberRestrictions), and from
In order to handle all these cases, it would be nice if we can always
assume that query results are always taken from a finite
signature/vocabulary. This signature/vocabulary at the moment contains
only the input, but one possibility would be to also add, for example,
the reserved vocabulary of the language minus rdf:_1, rdf:_2, ...
In that case, owl:sameAs would always be assumed to be present because
it is part of the reserved vocabulary, while you still  have a
guarantee of finite answers. In the RDF(S) case, that will give you
always lots of axiomatic triples, but not those of the form
rdf:_1 rdf:type rdf:Property.
We might still want to exclude axiomatic triples unless they occur in
the input because they potentially add lots of answers that you don't
really want.
Another possibility would be to apply C2 only to variables in subject
and object position and allow anything in the predicate position. That
still can cause counterintuitive side effects, but many more cases are
covered. In that case, inconsistencies need extra care because in
principle this would still allow infinite answers if the given graph
is inconsistent and we just assume the scoping graph to be equivalent
to the queried graph no matter what.

> On the other hand, with the data
> [[
> ex:a ex:b ex:c .
> ]]
> (C2) will apply, and the result set will be empty. This is true
> mathematically, but very counter-intuitive for a user:-(

> I am not sure how to solve that, I must admit. One solution would be to
> say that the axiomatic triples listed in[1] are implicitly part of the
> graph, beyond your reference to[2]. In contrast to the RDFS axiomatic
> triples [1] is finite triple set and therefore does not produce infinite
> results. On the other hand, it takes away the peculiarities of the
> consequences of (C2) because it will list essentially all OWL terms.
> However, [1] is marked as informative in the RDF based semantics text:-(
> (I remember having had long discussions on that in the OWL 2 WG...).
> Also, this may bring in a sh...load of extra results that one would not
> want to see...
> Sigh.

Sigh too.

> Ivan
> [1]
> http://www.w3.org/TR/2009/REC-owl2-rdf-based-semantics-20091027/#Appendix:_Axiomatic_Triples_.28Informative.29
> [2]
> http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Entity_Declarations_and_Typing
> On 2010-2-16 18:42 , Birte Glimm wrote:
>> Hi all,
>> I have committed a new version of the entailment regimes document:
>> http://www.w3.org/2009/sparql/docs/entailment/xmlspec.xml
>> There is now a description of the OWL RDF-Based Semantics incl. the
>> OWL 2 RL profile. The OWL 2 RL profile can also be used with Direct
>> Semantics, so I have added that there too. Further I have added a
>> section about aggregates with RDF(S) entailment, addressing at least
>> parts of Axel's comments (no owl:sameAs discussion yet for
>> aggregation). I also defined the behaviour for inconsistent graphs
>> more clearly because the previous spec didn't define the scoping graph
>> in the case of inconsistencies. It was rather assumed that the scoping
>> graph is still equivalent to the active graph, so that systems can
>> just use the graph as is modulo bnode renaming, but that allowed
>> infinite answers for inconsistent graphs. I now use Axel's suggestion
>> for condition C2 and require not only bindings for variables inn
>> subject position to occur in the input, but require this for all
>> variables. This also solves the OWL RDF-Based semantics problem where
>> you can have infinite answers from owl:topDataProperty, which relates
>> an individual to all data values. Now all RDF-Based regimes (RDF,
>> RDFS, OWL 2 RDF-Based (for OWL Full and OWL RL)) use the same
>> definitions, which is nice IMO.
>> Birte
> --
> Ivan Herman, W3C Semantic Web Activity Lead
> Home: http://www.w3.org/People/Ivan/
> mobile: +31-641044153
> PGP Key: http://www.ivan-herman.net/pgpkey.html
> FOAF   : http://www.ivan-herman.net/foaf.rdf
> vCard  : http://www.ivan-herman.net/HermanIvan.vcf

Dr. Birte Glimm, Room 306
Computing Laboratory
Parks Road
United Kingdom
+44 (0)1865 283529
Received on Wednesday, 17 February 2010 14:55:11 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:00:59 UTC