RE: A possible way of going forward with OWL-R unification (ISSUE-131)



> > - An OWL-R implementation can also claim to handle OWL Full (although without the completeness
> guarantees).
> >
> But this is exactly the muddy message I was referring to, isn't it? It
> does not really implement OWL Full. If there is no clear reference to a
> name/profile, then it just not clear what it implements, except for a
> vague statement on incompleteness. That is certainly not what a company
> would put in a marketing brochure! By clearly identifying a subset of
> OWL-Full through the rule set, giving it a standard name as a profile,
> the situation becomes clear for all parties involved.
> Actually, I am not even sure that your statement is correct. There is
> nothing that would prevent an OWL-R-DL implementation to use other
> implementation techniques, relying on the DL restrictions. In  which
> case your statement would probably not be true any more. I do not
> believe the profile document says (or should say) that the rule set is
> the _only_ implementation method for OWL-R-DL... Ie, such an
> non-rule-based implementation would have the right to _refuse_ an RDF
> Graph that other OWL-R implementations (based on the rules) could process.

In this statement, I was not referring to an implementation of OWL-R-DL; rather, I was referring to an implementation of OWL-R Full.
(An OWL-R-DL implementation will most certainly not use the presented rules directly anyway.)

The marketing message for an OWL-R implementation would be the following:

- For each RDF graph that is a syntactically valid OWL-R ontology, the consequences that are produced by the rules specified in the
Profiles document are the same as if we applied the direct model-theoretic semantics.

- If an RDF graph is not a syntactically valid OWL-R ontology, the consequences that are produced by the rules are a subset of the
consequences of OWL Full.

If you need a name for the latter, we can call it OWL-R/RDF. Note, however, that this name doesn't refer to the class of ontologies
that fall into a certain fragment of OWL 2; rather, it refers to a *class of implementations* of OWL-R.

This distinction between sets of implementations and sets of ontologies seems to lie at the bottom of the problem. All other
profiles actually define subsets of OWL 2 ontologies that satisfy certain restrictions; however, OWL-R/RDF defines a subset of OWL
implementations. Thus, we are currently not comparing like with like.

The situation would be clearer if we cleaned up our definitions. An ontology (in RDF or not) is an OWL-R ontology if it falls into a
certain syntactic fragment of OWL 2. An implementation is an OWL-R/RDF implementation if it implements the rules from the mentioned
section. Clearly, an OWL-R/RDF implementation can accept OWL-R graphs, but it can also accept other graphs as well. In the former
case, we know exactly what happens.

It seems to me that making this distinction would actually help marketing quite a bit.

> > - The syntactic definition can be used to inform users whether or not these guarantees hold for a
> given ontology.
> >
> Yes, true for the DL version but only for the DL version.

I disagree. For most RDF graphs that are syntactically not in OWL-R, there is simply *no point* in feeding them into an OWL-R/RDF
reasoner, because you just won't get the consequences that the ontology says you should get. This is the case, for example, of
owl:someValuesFrom on the right-hand side of rdfs:subClassOf, and for most other constructs. Therefore, keeping your ontology
syntactically in OWL-R might make quite a bit of sense for users even if they are using an OWL-R/RDF implementation.

The RDF graphs that are syntactically not in OWL-R but for which it still makes sense to feed them into an OWL-R/RDF reasoner are
only those where you are violating some of the typing constraints of OWL 2, such as property punning or using rdf:List. Granted, in
these cases you can't use the syntactic checker to see whether it makes sense to feed your graph into your reasoner; however, I
don't expect that the majority of ontologies will fall into this case. This drawback might be mended by somehow specifying a grammar
describing "reasoneable" ontologies; however, writing a grammar for RDF triples is next to impossible. Therefore, using the grammar
of OWL-R DL is the best that implementations can use to determine whether it makes sense to feed their ontology into an OWL-R/RDF

> > - Implementations can support a larger fragment of OWL Full without becoming incorrect for OWL-R.
> >
> I am not sure I understand this statement

The idea here was to see what you could take OWL-R/RDF even further and add rules that implement some of the missing inferences.

> > - An OWL Full implementation *is* an OWL-R implementation.
> >
> Of course. Just as a OWL DL is also an OWL-R-DL implementation. But this
> statement is irrelevant in the context of profiles...
> > - No need for owl:intendedProfile.
> >
> > Under the current profile definition, if implementers add functionality beyond OWL-R, as they might
> want to do, then their
> > implementation would be strictly speaking incorrect for OWL-R Full.
> >
> I am not sure I understand the relevance of this...

owl:intendedProfile is a gross hack because it doesn't allow you to interpret an ontology by just looking at it: the interpretation
actually depends on the reasoner that you use to do something with the ontology. This has numerous undesirable consequences:

- Why would you write owl:someValuesFrom and similar constructs on the RHS of an implication and then say "interpret the ontology as
OWL-R"? This makes no sense.

- What should an OWL 2 reasoner do when it sees such statements but owl:intendedProfile says that the ontology should be interpreted
as OWL-R?

All of these problems stem from the fact that we are conflating the definition of sets of ontologies with the sets of
implementations. My proposal tries to break this: it allows you to have a definition of what an OWL-R ontology is separate from a
definition of what an OWL-R/RDF implementation is. This obviates the need for owl:intendedProfile: an implementation should
interpret an ontology in the best way it can. If it is an OWL 2 implementation, it can provide you with all the consequences. If it
is an OWL-R/RDF implementation, it should ideally first check whether the ontology is syntactically in OWL-R; if so, everything is
fine, and if not, it should issue a warning (so that the users might see that they might get fewer consequences) and then produce as
many consequences as it can.



> The other day I asked you on the call whether, by accepting your
> proposal, we would loose anything. You said the answer is 'no' but,
> unfortunately, my examples show that this is not exactly true. We
> probably have a different appreciation on the importance of those things
> that we do loose... in other words, we can just agree at this point that
> we disagree:-(
> Ivan
> > Regards,
> >
> > 	Boris
> >
> >
> >> -----Original Message-----
> >> From: [] On Behalf Of Ivan Herman
> >> Sent: 12 July 2008 09:47
> >> To: Boris Motik
> >> Cc:
> >> Subject: Re: A possible way of going forward with OWL-R unification (ISSUE-131)
> >>
> >> Hi Boris,
> >>
> >> I must admit I do feel a bit uncomfortable with this. My unease is not
> >> on the technical aspect but more on the 'messaging' side.
> >>
> >> What the proposal amounts to is to say that if I am an RDF user who uses
> >> OWL-R, and I happen to use, say, the RDF List vocabulary, then I am not
> >> in any official profile of OWL in spite of the fact that the rule set of
> >> OWL-R work perfectly well. On the other hand, if I do not use the List
> >> vocabulary then I am ok. For an RDF+OWL-R user this restriction may seem
> >> fairly arbitrary.
> >>
> >> For vendors announcements it would look at bit unclear, too. What would
> >> they announce as part of their product description? That they implement
> >> OWL-R? But would that mean that, strictly speaking, they should reject
> >> an RDF Graph using the List vocabulary? If they don't reject those then,
> >> in fact, they do not implement OWL-R but an unnamed, unofficial, though
> >> well defined OWL profile. With the current setup they could clearly
> >> announce that what they implement is OWL-R-Full which is then well
> >> referenced and defined.
> >>
> >> I wonder whether the advantages you describe below outweigh the
> >> disadvantages of not having a clear reference to a profile that both
> >> users and vendors can refer to. I have my doubts.
> >>
> >> Ivan
> >>
> >> Boris Motik wrote:
> >>> Hello,
> >>>
> >>> Yes, some RDF Graphs will be syntactically outside the OWL-R fragment. The rules can still
> operate
> >> on such graphs, but this might
> >>> result in missing consequences that would be intuitively expected; in this case it can be seen as
> >> an incomplete implementation of
> >>> OWL Full. Advantages include streamlining the definition of OWL-R, making profiles in general
> much
> >> cleaner and easier to understand,
> >>> and obviating the need for owl:intendedProfile.
> >>>
> >>> Regards,
> >>>
> >>> 	Boris
> >>>
> >>>> -----Original Message-----
> >>>> From: [] On Behalf Of Ivan
> Herman
> >>>> Sent: 11 July 2008 11:43
> >>>> To: Boris Motik
> >>>> Cc:
> >>>> Subject: Re: A possible way of going forward with OWL-R unification (ISSUE-131)
> >>>>
> >>>> Boris,
> >>>>
> >>>> I do not see how this answers the questions I had in
> >>>>
> >>>>
> >>>>
> >>>> Isn't it correct that this approach will make some RDF Graphs formally
> >>>> incorrect OWL-R graphs (even if the rules can handle them without any
> >>>> problems)?
> >>>>
> >>>> Ivan
> >>>>
> >>>> Boris Motik wrote:
> >>>>> Hello,
> >>>>>
> >>>>> Here is a possible way of going forward with ISSUE-131.
> >>>>>
> >>>>> - We add to the introduction of the Profiles document a definition of what it means for an RDF
> >>>> graph G to be an instance of profile
> >>>>> P:
> >>>>>
> >>>>> "Let G be an RDF graph closed w.r.t. imports. G is a P-ontology if the triples in G can be
> parsed
> >>>> into an ontology in structural
> >>>>> specification that satisfies the grammar given in the profile specification for P".
> >>>>>
> >>>>> - We change Section 4 to talk only about OWL-R, and not about OWL-R DL and OWL-R Full.
> >>>>>
> >>>>> - We rename Section 4.2 to "Profile Specification".
> >>>>>
> >>>>> - We delete Section 4.3.1.
> >>>>>
> >>>>> - We rename Section 4.3.2 into Section 4.3 and call it "Reasoning in OWL-R and RDF Graphs using
> >>>> Rules".
> >>>>> - In current Section 4.4, we already have a statement that, for OWL-R ontologies, describes the
> >>>> consequences that these rules
> >>>>> produce. In the end of this section, however, we would add the following sentence:
> >>>>>
> >>>>> "The rules from Section 4.3 can be applied to arbitrary RDF graphs, in which case the produced
> >>>> consequences are sound but not
> >>>>> necessarily complete."
> >>>>>
> >>>>> Please let me know how you feel about this.
> >>>>>
> >>>>> Regards,
> >>>>>
> >>>>> 	Boris
> >>>>>
> >>>>>
> >>>> --
> >>>>
> >>>> Ivan Herman, W3C Semantic Web Activity Lead
> >>>> Home:
> >>>> PGP Key:
> >>>> FOAF:
> >>>
> >> --
> >>
> >> Ivan Herman, W3C Semantic Web Activity Lead
> >> Home:
> >> PGP Key:
> >> FOAF:
> >
> --
> Ivan Herman, W3C Semantic Web Activity Lead
> Home:
> PGP Key:

Received on Sunday, 13 July 2008 15:43:58 UTC