W3C home > Mailing lists > Public > semantic-web@w3.org > November 2014

Re: dependency analysis of OWL axioms

From: Eric Prud'hommeaux <eric@w3.org>
Date: Sun, 16 Nov 2014 06:06:32 -0500
To: Pavel Klinov <pavel.klinov@uni-ulm.de>
Cc: "Obrst, Leo J." <lobrst@mitre.org>, Leila Bayoudhi <bayoudhileila@yahoo.fr>, "semantic-web@w3.org" <semantic-web@w3.org>
Message-ID: <20141116110630.GA12632@w3.org>
* Pavel Klinov <pavel.klinov@uni-ulm.de> [2014-11-15 22:17+0100]
> On Sat, Nov 15, 2014 at 9:52 PM, Obrst, Leo J. <lobrst@mitre.org> wrote:
> > Sure, but I do think that is generally very useful, even if it is syntactic.
> 
> First, no, it's not just syntactic; there's semantic compatibility
> between OWL and RDF, too.
> 
> Second, it's useful but typically for some specific purposes, like
> exchanging OWL documents in RDF or storing OWL ontologies in RDF (e.g.
> in triple stores).
> 
> However, when it comes to performing some sort of analysis on an OWL
> ontology, such as "what depends on the given axiom", then it is
> usually wrong to convert the ontology into RDF and analyse the
> resulting RDF graph. You lose the structure of the ontology as a
> logical theory and end up with a set of triples, from which it's not
> even easy to recover original axioms. Even parsing of RDF back into
> OWL isn't all that straightforward, let alone more complicate
> analyses.

In case anyone's curious to see what you *can* do within the RDF
graph, I took a trivial axiom
  { ?X a ?Y . ?Y rdfs:subClassOf ?Z } => { ?X a ?Z }
and tried doing some retractions with MINUS.

data:
  <fido> a <Dog> , <goodPet> .
  <rex> a <Dog> .
  <Dog> rdfs:subClassOf <Mammal> .
  <Mammal> rdfs:subClassOf <Animal> .
  <goodPet> rdfs:subClassOf <GoodThing> , <Pet> .

execute axiom:
CONSTRUCT { ?s a ?T , ?C }
    WHERE { ?s a ?T . ?T rdfs:subClassOf* ?C }'

  <fido> a <Dog> .
  <fido> a <Mammal> .
  <fido> a <Animal> .
  <rex> a <Dog> .
  <rex> a <Mammal> .
  <rex> a <Animal> .
  <fido> a <goodPet> .
  <fido> a <GoodThing> .
  <fido> a <Pet> .


manually retract <fido> a <Dog>:
CONSTRUCT { ?s a ?T , ?C }
    WHERE { ?s a ?T . ?T rdfs:subClassOf* ?C
       MINUS {
            BIND (<fido> AS ?s)
            BIND (<Dog> AS ?T)
            ?s a ?T . ?T rdfs:subClassOf* ?C
          } }

  <rex> a <Dog> .
  <rex> a <Mammal> .
  <rex> a <Animal> .
  <fido> a <goodPet> .
  <fido> a <GoodThing> .
  <fido> a <Pet> .

manually retract <Dog> rdfs:subClassOf <Mammal>:
CONSTRUCT { ?s a ?T , ?C }
    WHERE { ?s a ?T . ?T rdfs:subClassOf* ?C
       MINUS {
            BIND (<Dog> AS ?T)
            BIND (<Mammal> AS ?C)
            ?s a ?T . ?T rdfs:subClassOf* ?C
          } }

  <fido> a <Dog> .
  <fido> a <Animal> .
  <rex> a <Dog> .
  <rex> a <Animal> .
  <fido> a <goodPet> .
  <fido> a <GoodThing> .
  <fido> a <Pet> .

create a retractions graph into which you can place e.g.
  <fido> rdf:type <Dog>
  <Dog> rdfs:subClassOf <Mammal>

CONSTRUCT { ?s rdf:type ?T , ?C }
    WHERE { ?s rdf:type ?T . ?T rdfs:subClassOf* ?C
       MINUS {
            GRAPH <retract> {
              { ?s rdf:type ?T } UNION
              { ?T rdfs:subClassOf ?C }
            }
            ?s rdf:type ?T .
            ?T rdfs:subClassOf* ?C
          } }


IIRC, Sesame has or had an RDFS rewriter on SPARQL queries (perhaps
not including subproperties of rdfs:subClassOf). One could probably
tweak that to handle *some* retractions, or proofs or whatever.


> > Or are you meaning that because first-order logic is semi-decidable it is not useful to represent axioms and theorems as graphs? I.e., ultimately, that a graph-dependency analysis of an ontology is not useful?
> 
> Hm, I fail to see how the first question is even relevant to the
> discussion. Re: the second, I think one should first understand what's
> meant by "dependency" and only then suggest methods. And if by
> "graph-dependency analysis of an ontology" you mean "convert it to RDF
> and analyse", then I do think it is wrong.
> 
> Pavel
> 
> >
> > Thanks,
> > Leo
> >
> >>-----Original Message-----
> >>From: Pavel Klinov [mailto:pavel.klinov@uni-ulm.de]
> >>Sent: Saturday, November 15, 2014 3:17 PM
> >>To: Obrst, Leo J.
> >>Cc: Pavel Klinov; Leila Bayoudhi; semantic-web@w3.org
> >>Subject: Re: dependency analysis of OWL axioms
> >>
> >>On Sat, Nov 15, 2014 at 9:01 PM, Obrst, Leo J. <lobrst@mitre.org> wrote:
> >>> Pavel,
> >>>
> >>> How is a GCI not representable as a graph? I understand that all OWL
> >>ontologies can be represented as graphs, by definition into RDF graphs. Do you
> >>mean something else?
> >>
> >>In you read my first reply to you carefully, you will see that I did
> >>acknowledge it:
> >>
> >>"Of course, one can invoke the OWL2RDF mapping and take the resulting
> >>set of triples as a (kind of) graph, but I doubt it can be generally
> >>useful."
> >>
> >>But what are you going to do with that graph then?
> >>
> >>Cheers,
> >>Pavel
> >>
> >>>
> >>> Thanks,
> >>> Leo
> >>>
> >>>>-----Original Message-----
> >>>>From: Pavel Klinov [mailto:pavel.klinov@uni-ulm.de]
> >>>>Sent: Saturday, November 15, 2014 5:08 AM
> >>>>To: Obrst, Leo J.
> >>>>Cc: Pavel Klinov; Leila Bayoudhi; semantic-web@w3.org
> >>>>Subject: Re: dependency analysis of OWL axioms
> >>>>
> >>>>On Fri, Nov 14, 2014 at 10:51 PM, Obrst, Leo J. <lobrst@mitre.org> wrote:
> >>>>> Thanks, Pavel.
> >>>>>
> >>>>> My question is about your comment:
> >>>>>
> >>>>> "OWL is quite a rich language and one can write very complex axioms
> >>which
> >>>>don't look anything graph-like."
> >>>>>
> >>>>> I'd like to know your thoughts on this.
> >>>>
> >>>>For example, in OWL 2 DL one can take all (class) axioms and re-write
> >>>>all that into a single long GCI.
> >>>>
> >>>>Cheers,
> >>>>Pavel
> >>>>
> >>>>>
> >>>>> Thanks!
> >>>>> Leo
> >>>>>
> >>>>>>-----Original Message-----
> >>>>>>From: Pavel Klinov [mailto:pavel.klinov@uni-ulm.de]
> >>>>>>Sent: Friday, November 14, 2014 3:59 PM
> >>>>>>To: Obrst, Leo J.
> >>>>>>Cc: Leila Bayoudhi; semantic-web@w3.org
> >>>>>>Subject: Re: dependency analysis of OWL axioms
> >>>>>>
> >>>>>>On Fri, Nov 14, 2014 at 5:42 PM, Obrst, Leo J. <lobrst@mitre.org> wrote:
> >>>>>>> We had proposed this a number of years ago, but never had time to go
> >>>>down
> >>>>>>that path. More towards trying to infer "integrity constraints" dynamically
> >>>>(yes,
> >>>>>>OWL is Open World; integrity constraints are Closed World). Finding the
> >>>>ripple
> >>>>>>effect of deleting, adding, moving graph nodes that kind of corresponds to
> >>>>>>"referential integrity" (i.e., structural) in the database world. Since all OWL
> >>>>>>ontologies (the axioms) can be represented as graphs, it should be doable.
> >>>>How
> >>>>>>efficiently, I don't know.
> >>>>>>>
> >>>>>>
> >>>>>>I'd be very, very cautious with statements like "OWL axioms can be
> >>>>>>represented as graphs". In what precisely sense can they be
> >>>>>>represented as graphs? OWL is quite a rich language and one can write
> >>>>>>very complex axioms which don't look anything graph-like. Of course,
> >>>>>>one can invoke the OWL2RDF mapping and take the resulting set of
> >>>>>>triples as a (kind of) graph, but I doubt it can be generally useful.
> >>>>>>
> >>>>>>I can imagine that for some very specific tasks, like decomposition
> >>>>>>(as in [1]), a graph-based representation of OWL axioms can be
> >>>>>>helpful. But such use cases (and the corresponding representations)
> >>>>>>tend to be pretty specific rather than generic.
> >>>>>>
> >>>>>>Cheers,
> >>>>>>Pavel
> >>>>>>
> >>>>>>[1] Francisco Martín-Recuerda, Dirk Walther: Axiom Dependency
> >>>>>>Hypergraphs for Fast Atomic Decomposition of Ontologies. Description
> >>>>>>Logics 2014: 299-310
> >>>>>>
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>> Leo
> >>>>>>>
> >>>>>>>>-----Original Message-----
> >>>>>>>>From: Leila Bayoudhi [mailto:bayoudhileila@yahoo.fr]
> >>>>>>>>Sent: Friday, November 14, 2014 6:36 AM
> >>>>>>>>To: semantic-web@w3.org
> >>>>>>>>Subject: dependency analysis of OWL axioms
> >>>>>>>>
> >>>>>>>>Hello
> >>>>>>>>I want to know if there is a tool or an approach realizing dependency
> >>>>>>annalysis
> >>>>>>>>of OWL 2 axioms.
> >>>>>>>>Example:
> >>>>>>>>by removing a subClassOf axioms , I want to know affected ones in the
> >>>>>>>>ontology.
> >>>>>>>>Or, can I do it manually by recognizing different types of axioms and
> >>>>>>expecting
> >>>>>>>>relations between them.
> >>>>>>>>Thank you for answering me.
> >>>>>>>>--398296598-735493131-1415964971=3759
> >>>>>>>>Content-Type: text/html; charset=f-8
> >>>>>>>>Content-Transfer-Encoding: quoted-printable
> >>>>>>>>
> >>>>>>>><html><body><div style="color:#000; background-color:#fff; font-
> >>>>>>>>family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande,
> >>>>sans-
> >>>>>>>>serif;font-size:16px"><div>Hello</div><div>I want to know if there is a
> >>>>tool
> >>>>>>or
> >>>>>>>>an approach realizing dependency annalysis of OWL 2
> >>>>>>>>axioms.</div><div>Example:&nbsp;</div><div>by removing a
> >>subClassOf
> >>>>>>>>axioms , I want to know affected ones in the ontology.</div><div>Or,
> >>can I
> >>>>>>do it
> >>>>>>>>manually by recognizing different types of axioms and expecting
> >>relations
> >>>>>>>>between them.</div><div>Thank you for answering
> >>>>>>>>me.</div></div></body></html>
> >>>>>>>>--398296598-735493131-1415964971=3759--
> >>>>>>>>
> >>>>>>>
> 

-- 
-ericP

office: +1.617.599.3509
mobile: +33.6.80.80.35.59

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.
Received on Sunday, 16 November 2014 11:06:41 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:49:27 UTC