RE: relate subclasses to other subclasses

Hans Teijgeler wrote:

>I am a newcomer in the world of OWL, and I don't recognize the notation
>method you used. Can you tell me what that is, and where I can find an
>explanation of it? Would you be so kind to also represent it in RDF/XML?

I used the Abstract Syntax defined in the OWL Web Ontology Language 
Semantics and Abstract Syntax document [1].  Tools like Protege and SWOOP 
can display OWL ontologies in this form.  In fact, I used Protege to create
that example and just copied the displayed abstract syntax to my email.

I used the abstact syntax in that example because the RDF/XML produced
by Protege/JENA was quite verbose.  But since you asked for it.  Here it is 
(with a little white space added to separate resource definitions):

<?xml version="1.0"?>
<rdf:RDF
    xmlns="http://a.com/ontology#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
  xml:base="http://a.com/ontology">
  <owl:Ontology rdf:about=""/>

  <owl:Class rdf:ID="Woman">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:ID="likes"/>
        </owl:onProperty>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Ford"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Person"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#likes"/>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Honda"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="Man">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Person"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#likes"/>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Mercedes"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#likes"/>
        <owl:someValuesFrom>
          <owl:Class rdf:about="#Honda"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="Mercedes">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Automobile"/>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="Person">
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Man"/>
          <owl:Class rdf:about="#Woman"/>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>

  <owl:Class rdf:ID="Honda">
    <rdfs:subClassOf rdf:resource="#Automobile"/>
  </owl:Class>

  <owl:Class rdf:ID="Ford">
    <rdfs:subClassOf rdf:resource="#Automobile"/>
  </owl:Class>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 1.2 beta, Build 156)  http://protege.stanford.edu -->

-Evan

Evan K. Wallace
Manufacturing Systems Integration Division
NIST
ewallace@nist.gov

[1] http://www.w3.org/TR/owl-semantics/syntax.html

Received on Tuesday, 17 May 2005 15:01:58 UTC