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] Phantom class

Dmitry Repchevsky dmitry.repchevski at bsc.es
Fri Oct 3 01:30:06 PDT 2008


Thank you very much for the extended answer!

The ontology I generate is coming from XML Schema so I can't change 
names of classes neither their properties.
The problem is that some properties are classes itself and some a 
primitive XML types...
... And there are some rare cases when the same name is used for 
different types of properties.

> In addition, I think that the restriction [...]is still ambiguous because it is not clear whether the restriction is  
> a datatype or object restriction.
>   
I hoped that this could be inferred by the resource itself (actually if 
I change the name of properties to "Rulez" protegé 4 distinguish them 
perfectly).
So the problem is in the "pun" what's why I thought about the bug -

1. I can have both, datatype and object properties with the same name 
(at least protegé 4 does't complain)
2. I can have the same name for a property and a class

> It is valid as an owl full ontology but not as owl 1.0 nor owl 2.0.
If I understand you correctly owl 1.0-dl forbids using a same name for a 
class and a property???

Sincerely yours,

Dmitry

Timothy Redmond wrote:
> The ontology is problematic on several fronts and will probably give  
> many tools problems.  It is valid as an owl full ontology but not as  
> owl 1.0 nor owl 2.0.
>
> So first of all the Rules resource is a three way pun.  It is first  
> declared as a class, then used as a datatype property and finally  
> there is an malformed restriction that might suggest that it is an  
> object property.  Protege 3 cannot handle this type of punning.
>
> The malformed restriction in question is
>
>        <owl:Restriction>
>          <owl:onProperty rdf:resource="#Rules"/>
>          <owl:allValuesFrom rdf:resource="#Rules" />
>          <owl:maxCardinality rdf:datatype="#Rules">1</ 
> owl:maxCardinality>
>        </owl:Restriction>
>
> This is not valid as owl 1.0 dl nor as owl 2.0.  It seems possible  
> that what you wanted here was the owl 2.0 qualified cardinality  
> restriction which I think would be represented as
>
>        <owl11:ObjectRestriction>
>          <owl:onProperty rdf:resource="#Rules"/>
>          <owl:onClass rdf:resource="#Rules" />
>          <owl:maxCardinality rdf:datatype="#Rules">1</ 
> owl:maxCardinality>
>        </owl11:ObjectRestriction>
>
> In addition, I think that the restriction
>
>       <rdfs:subClassOf>
>         <owl:Restriction>
>           <owl:onProperty rdf:resource="#Rules"/>
>           <owl:allValuesFrom rdf:resource="&xsd;string" />
>         </owl:Restriction>
>       </rdfs:subClassOf>
>
> is still ambiguous because it is not clear whether the restriction is  
> a datatype or object restriction.  The owl 2.0 specification [1]  
> cleverly resolves this by requiring that you use
>
>       <rdfs:subClassOf>
>         <owl11:DataRestriction>
>           <owl:onProperty rdf:resource="#Rules"/>
>           <owl:allValuesFrom rdf:resource="&xsd;string" />
>         </owl11:DataRestriction>
>       </rdfs:subClassOf>
>
> But this construct (while valid as owl 1.0 full) will not have the  
> desired meaning in owl 1.0.  But it doesn't look like Protege 4  
> handles this owl 2.0 construct yet so this can't yet be used in  
> Protege 4.
>
> -Timothy
>
>
> [1] http://www.w3.org/TR/owl2-mapping-to-rdf/
>
>
> On Oct 1, 2008, at 12:50 AM, Dmitry Repchevsky wrote:
>
>   
>> Hello!
>>
>> I have an ontology (here is a test) where I get a "phantom" class.
>>
>> here it is:
>>
>> ************************************************************
>> <?xml version='1.0' encoding='ISO-8859-1'?>
>>
>> <!DOCTYPE rdf:RDF [
>>    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
>>    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
>>    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
>>    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
>> ]>
>>
>> <rdf:RDF
>>    xml:base="http://nemus.org/datatypes.owl"
>>    xmlns="http://nemus.org"
>>    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
>>    xmlns:owl="http://www.w3.org/2002/07/owl#"
>>    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
>>
>>  <owl:Class
>>    rdf:ID="Rules"
>>    rdfs:label="Rules">
>>
>>     <rdfs:subClassOf>
>>       <owl:Restriction>
>>         <owl:onProperty rdf:resource="#Rules"/>
>>         <owl:allValuesFrom rdf:resource="&xsd;string" />
>>       </owl:Restriction>
>>     </rdfs:subClassOf>
>>
>>    <owl:disjointWith rdf:resource="#PrositeMotif"/>
>>
>>  </owl:Class>
>>
>>  <owl:DatatypeProperty rdf:about="#Rules" >
>>     <rdfs:domain rdf:resource="#Rules"/>
>>     <rdfs:range rdf:resource="&xsd;string"/>
>>  </owl:DatatypeProperty>
>>
>>  <owl:Class
>>    rdf:ID="PrositeMotif"
>>    rdfs:label="PrositeMotif">
>>
>>     <rdfs:subClassOf>
>>       <owl:Restriction>
>>         <owl:onProperty rdf:resource="#Rules"/>
>>         <owl:allValuesFrom rdf:resource="#Rules" />
>>         <owl:maxCardinality rdf:datatype="#Rules">1</ 
>> owl:maxCardinality>
>>       </owl:Restriction>
>>     </rdfs:subClassOf>
>>
>>     <owl:disjointWith rdf:resource="#Rules"/>
>>  </owl:Class>
>>
>>  <owl:ObjectProperty rdf:about="#Rules" >
>>     <rdfs:domain rdf:resource="#PrositeMotif"/>
>>     <rdfs:range rdf:resource="#Rules"/>
>>  </owl:ObjectProperty>
>>
>> </rdf:RDF>
>>
>> ************************************************************
>>
>> So apart of "PrositeMotif" and "Rules" classes I got strange "string"
>> class in Protege 4 (101) which inherits from "Thing".
>> [Class Usage] for "string" says: "Rules subclass of Rules only  
>> string".
>>
>> Is this a bug in Protege?
>>
>> Thank you in advance,
>>
>> Dmitry
>> _______________________________________________
>> protege-owl mailing list
>> protege-owl at lists.stanford.edu
>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>
>> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>>     
>
> _______________________________________________
> protege-owl mailing list
> protege-owl at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 
>
>   




More information about the protege-owl mailing list