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

Hi Boris,

thanks for reacting that quickly:-)

Boris Motik wrote:
> Hello,
> 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.

Yes, I think we _do_ need a name for that. Whether we call it OWL-R-Full 
or OWL-R/RDF, well, I do not really care at the moment (afaik, all these 
names are still in flux anyway.)

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

Yes, I understand that.

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

Definitely true.

I must admit I do not think we have ever defined a profile as being 
necessarily a _syntactic_ fragment. I do apologize to refer to the 
charter here, and it is not my intention to introduce any process issue 
_at all_, but I believe the word profile was picked because it is in the 
charter. That one simply says:

The Working Group will also define a set of language fragments 
—profiles, or subsets of the language— that have been identified as 
having interesting or useful properties (e.g., being easier to 
implement). Fragments may include some of the extensions that the 
Working Group adopts. One of the first tasks of the Working Group will 
be to determine how subsets are to be defined.

Ie, whether we call OWL-R/RDF a profile or not is, well, our choice. But 
you are right that making a strict difference between syntactic profiles 
and XXX profiles (I am not sure what to put in place of XXX... semantic 
profile? implementation profile?...) is helpful both for us and for the 
community at large.

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

That is true. But then a really good tool would make a difference 
between those cases that are really really rubbish from the OWL-R point 
of view and those that might still make sense in OWL-R/RDF. That would 
be an important message for the user, instead of a black-and-white 
answer. I am not sure this is possible, though.

> 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
> reasoner.

See my remark above. I guess that some heuristics, at least, is 
possible. But that becomes an implementation issue, I guess...


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

I did not comment on owl:intendedProfile because I did not really think 
this through yet. I can understand it is a gross hack but, frankly, I 
think it is much more important for us to have a proper 'story' for the 
community, including the RDF community, than to be too picky about the 
'hackness' of a particular property. If we can accommodate both then, 
well, it is fine, but, well...

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

O.k. So we may agree to have this 'thing' called OWL-R/RDF properly 
defined in the profile document, but you do not want to call it profile. 
Or at least not a syntactic profile but something else. This becomes 
then an editorial issue, which is way easier to solve. My point was that 
we _need_ a clearly referenceable 'thing', with a proper definition that 
is a bit more positive than simply saying 'incomplete definition of 
OWL-Full' in the official document. We seem to agree on this; if so, I 
am happy!

Thanks Boris


> Regards,
>  Boris
>> 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:
>> FOAF:


Ivan Herman, W3C Semantic Web Activity Lead
PGP Key:

Received on Monday, 14 July 2008 09:06:31 UTC