Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Query about constructing an ontology based on received OWL-DL fragments on your behalf

Timothy Redmond tredmond at stanford.edu
Tue Feb 7 08:35:16 PST 2012


> (1) Is it reasonable to compose an ontology in this way? That is, to 
> be able to receive fragments to add to your local ontology. Of course 
> there are various axioms etc that may also need to be passed with 
> respect to knowledge about classes, properties and individuals. One 
> issue would be to know how much knowledge must one receive about a 
> class, property or individual to provide the intended semantics and so 
> forth. However, that aside, is what I am saying above in principle 
> sensible or even desirable? 

This sounds like a sensible thing to me.  These "fragments" that you are 
talking about are called axioms in the OWL DL terminology.

One question is how you are going to do this.  I would strongly advise 
you not to move them with a text editor in RDF/XML.  RDF/XML is one of 
the hardest serialization formats to work with both programatically and 
from a user perspective.  If you are going to use a text editor I would 
suggest you use another serialization format that is easier to work with 
such as OWL/XML.  Protege 4 supports a variety of serialization formats 
most of which are easier to understand than RDF/XML.  (On the other 
hand, when you share the file you will probably want to use RDF/XML.  It 
has become the standard format for sharing OWL files.)

In addition, a set of tools that you should be aware of in this context 
are the OWL modularity tools.  These allow you to provide a set of 
entities (classes and properties say) and extract from an ontology a set 
of axioms that say everything that is known about those entities based 
on the larger ontology.  Sorry I didn't express that well but I believe 
there is a Protege plugin that does this.

A good approach would be to use a tool to copy the axioms from one 
ontology to another.  Protege 4 allows you to move axioms from one 
ontology to another.  But it was not clear to me that you could copy the 
axioms which is what you really want.

> Having defined a class Fiesta, I changed within Protege the URI from 
> http://www.car.com/car.owl#Fiesta to 
> http://www.ford.com/ford.owl#Fiesta. I then added to the XML file 
> generated by protege the following 
> xmlns:ford="http://www.ford.com/ford.owl#". 

I think that changing the names like this muddies the waters.  By 
analogy suppose that you are taking some quotes from an encyclopedia 
article but you insist on changing the names of many of the words that 
appear in the article.  This creates two problems.  First it is not 
clear that you are quoting the original article any more.  You very well 
might be changing something that the original author thinks is 
important.  Secondly you now have to keep track of all the mappings of 
words that you are using.

> What I noticed was, with the locally defined class "Car" in the 
> OWL-XML file used "rdf:ID", however when simulating the addition of an 
> owl fragment for class "Fiesta" the OWL-XML file used "rdf:about".
>
> I am not sure what is happening here with respect to rdf:ID and 
> rdf:about. One obviously requires the full URI and the other doesn't. 
> Is it illegal/incorrect to also use the rdf:ID on class ford:Fiesta? 
> Any insight is welcomed. 

The right answer is that you shouldn't be worrying about RDF/XML 
syntax.  Let the tools do this.  Experts can use a text editor to modify 
OWL files in RDF/XML and get it right a reasonable percentage of the 
time.  But it is tricky.  In contrast other serialization formats are 
very easy to work with.

Another answer is that, modulo the way that rdf:ID and rdf:about name 
their resources, there is no difference.  So there is no reason to worry 
about converting an rdf:ID to an rdf:about or vice versa.


> What I noticed was, with the locally defined class "Car" in the 
> OWL-XML file used "rdf:ID", however when simulating the addition of an 
> owl fragment for class "Fiesta" the OWL-XML file used "rdf:about". 

As you might have noticed from my note, OWL/XML is different from 
RDF/XML.  The OWL/XML format does not use rdf:ID and rdf:about.


-Timothy



On 02/06/2012 07:16 AM, William Fitzgerald wrote:
> Hi all,
>
> I would like your opinion about composing an OWL-DL ontology based on 
> received ontology fragments from other users/knowledge sources on your 
> behalf.
>
> Traditionally, if I wanted to use a knowledge within another ontology, 
> I would simply import it. However, this imports the entire ontology 
> into my own local one, rather than certain portions or relevant 
> fragments.
>
> What I would like to do, is allow knowledge received from another user 
> with respect to a classes, properties and individuals that I would 
> like to add to my own ontology.
>
> Consider the following trivial ontology scenario to list the kinds of 
> car manufactures etc.
> Lets say I define a class called "Car" and define locally a number of 
> subclasses, for example Ford.
>
> <owl:Class rdf:ID="Ford">
> <rdfs:subClassOf rdf:resource="#Car"/>
>
> where xmlns="http://www.car.com/car.owl#"
>
> I would now like to receive knowledge from Ford about its cars. 
> Imagine Ford send me new knowledge about a new kind of Ford car called 
> Fiesta (a subclass of Ford).
>
> The following OWL-DL fragment is what I may receive from Ford.
>
> xmlns:ford="http://www.ford.com/ford.owl#"
> <owl:Class rdf:about="http://www.ford.com/ford.owl#Fiesta">
> <rdfs:subClassOf rdf:resource="#Ford"/>
>
> That is, ford:Fiesta is a subclass of Ford.
>
> My questions are the following:
>
> (1) Is it reasonable to compose an ontology in this way? That is, to 
> be able to receive fragments to add to your local ontology. Of course 
> there are various axioms etc that may also need to be passed with 
> respect to knowledge about classes, properties and individuals. One 
> issue would be to know how much knowledge must one receive about a 
> class, property or individual to provide the intended semantics and so 
> forth. However, that aside, is what I am saying above in principle 
> sensible or even desirable?
>
> (2) I constructed this simple ontology using Protege 3.4.8. Having 
> defined a class Fiesta, I changed within Protege the URI from 
> http://www.car.com/car.owl#Fiesta to 
> http://www.ford.com/ford.owl#Fiesta. I then added to the XML file 
> generated by protege the following 
> xmlns:ford="http://www.ford.com/ford.owl#".
>
> What I noticed was, with the locally defined class "Car" in the 
> OWL-XML file used "rdf:ID", however when simulating the addition of an 
> owl fragment for class "Fiesta" the OWL-XML file used "rdf:about".
>
> I am not sure what is happening here with respect to rdf:ID and 
> rdf:about. One obviously requires the full URI and the other doesn't. 
> Is it illegal/incorrect to also use the rdf:ID on class ford:Fiesta? 
> Any insight is welcomed.
>
> many thanks,
> Will
>



More information about the protege-owl mailing list