Re: using owl:restrictions

You're right, I had left out a lot of assumptions that I thought could
be filled out in the most "obvious" manner, but that's probably bad
practice -- when one is asking for clarifications especially!

So I'll try to be more specific below.  Let me say that this was just
for clarifying to myself the meaning of Owl expressions, and their
relations to FOL style KR.  I had no particular application in mind. 
So your reply is already helpful.  But onto the particulars:

On 2/18/06, Bijan Parsia <bparsia@isr.umd.edu> wrote:
> On Feb 18, 2006, at 3:01 PM, PL. Miraglia (home) wrote:
>
> > consider the following:
> >
> > <rdfs:subClassOf>
> >    <owl:Restriction>
> >       <owl:onProperty rdf:resource="#R"/>
> >       <owl:someValuesFrom rdf:resource="#P"/>
> >    </owl:Restriction>
> >    <owl:Class rdf:about="#Q"/>
> > </rdfs:subClassOf>
> >
> > I need some clarifications about this term: are these statements true
> > or false?
> >
> > 1) The construct above is legal in OWL DL/Full not OWL Lite -- right?
>
> FIrst I want to ask why do you care? It's relatively important to
> distinguish between OWL Full and OWL DL, but much less so for OWL Lite
> and OWL DL. Anyhoo.

I am not interested in the DL/Lite distinction, actually.  I was most
curious about: can a restriction be the subject of a subClassOf axiom
too? It's not commonly seen, but it seems to me that it's perfectly
legal -- also it would help dispensing with having to use inverse
relations for everything, which I find kinda silly.)

>
> This fragment alone (assuming a reasonable outer wrapping element) will
> be owl full because of the lack of type triples for #R and #P (probably
> objectproperty and class).

Right. I didn't mean this fragment to be "alone", but I didn't bother
to add the necessary definitional axioms.  I guess i was assuming at
least this:

<owl:Class rdf:about="#D">
    <rdfs:comment>a domain</rdfs:comment>
</owl:class>

<owl:Class rdf:about="#P">
    <rdfs:subClassOf rdf:resource="#D"/>
</owl:class>

<owl:Class rdf:about="#Q">
    <rdfs:subClassOf rdf:resource="#D"/>
</owl:class>

<owl:ObjectProperty rdf:about="#R">
     <rdfs:domain rdf:resource="#D"/>
     <rdfs:domain rdf:resource="#D"/>
</owl:ObjectProperty>



>
>
> If the rest of the ontology is like that, I'll bet it is "repairable",
> in which case, this fragment would be in OWL Lite, see:
>         http://www.w3.org/TR/owl-semantics/syntax.html#2.3.1
>
> Pellet will suggest the extra type triples:
>         http://www.mindswap.org/2003/pellet/demo
>
> Oh, and it's illegal RDF as it will have two object elements as the
> value of one property element.
>
> You may have meant something like this:
>
> <owl:Class rdf:about="#A">
>         <rdfs:subClassOf>
>            <owl:Restriction>
>                      <owl:onProperty rdf:resource="#R"/>
>                     <owl:someValuesFrom rdf:resource="#P"/>
>                 </owl:Restriction>
>         </rdfs:subClassOf>
>         <rdfs:subClassOf>
>                 <owl:Class rdf:about="#Q"/>
>         </rdfs:subClassOf>
> </owl:Class>

This is not what I meant. Logically, it defines a class A that is (a
subset of) the intersection of the set {x: Ey(Rxy & Py)} and Q.  What
I was trying to express is instead:

{x: Ey(Rxy & Py)} is a subset of Q

>
> This is an implication (or two implications). In FOL:
>
> (x)(Ax -> (some y)(Rxy & Py))
> (x)(Ax -> Qx)
>
> That's a pretty direct transliteration.

see previous point.

>
> > (This is what the Wonderweb validator seems to indicate, although I
> > found some of the OWL documents a bit unclear)
> >
> > 2) It is logically equivalent to the this FOL formula (KIFfy style):
> >
> > (implies
> >     (and (R x y) (P y))
> >     (Q x))
>
> Er...don't think so. First off, your fragment above is incomplete.
> Second, I take it that (Q x) is the consequent? See my translation
> above.
>
> > 3) Assuming that IR is the inverse of R, it is also logically
> > equivalent to:
> >
> > <rdfs:subClassOf>
> >    <owl:Class rdf:about="#P"/>
> >    <owl:Restriction>
> >       <owl:onProperty rdf:resource="#R"/>
> >       <owl:allValuesFrom rdf:resource="#Q"/>
> >    </owl:Restriction>
> > </rdfs:subClassOf>
>
> I clearly don't understand what you are trying to do. Was Q supposed to
> be the LHS of the subsumption?
>
> Cheers,
> Bijan.

I was trying to figure how to express in owl these 2 logical
constraints on an arbitrary property (binary predicate) R:

1. (Ex)(Rxy & Qx) => Py

2. (Ey)(Rxy & Py) => Qx

(1) is straightforward in owl (or so I thought, perhaps I am wrong there too):

<owl:Class rdf:about="#Q>
   <rdfs:subClassOf>
      <owl:Restriction>
         <owl:onProperty rdf:resource="#R"/>
         <owl:allValuesFrom rdf:resource="#P"/>
      </owl:Restriction>
   </rdfs:subClassOf>
</owl:Class>

(2) is the one I have a question about.  It seems that it can be
expressed in the "straightforward" form of (1), provided that IR (the
inverse of R) is used.  But is the inverse necessary?


--
# Pierluigi Miraglia pierlu.m
# Austin, Tex.

Received on Sunday, 19 February 2006 16:47:55 UTC