W3C home > Mailing lists > Public > xmlschema-dev@w3.org > November 2011

RE: A valuable lesson on the difference between XML Schemas and ontologies

From: Costello, Roger L. <costello@mitre.org>
Date: Sun, 6 Nov 2011 13:49:28 +0000
To: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
Message-ID: <B5FEE00B53CF054AA8439027E8FE177501C97F@IMCMBX04.MITRE.ORG>
Hi Folks,

Thanks for the excellent feedback!

I added the following section to the paper:

------------------------------
What Kind Of Thing Is It?
------------------------------
Suppose processing of XML instance documents requires answers to these questions:

    - What kind of thing is Book? 
    - What kind of thing is Person? 
    - What kind of thing is title? 
    - What kind of thing is author? 
    - What kind of thing is name? 

Here are the answers we expect to get:

    - Book is an Object
    - Person is an Object
    - title is a property
    - author is a property
    - name is a property

In this paper I have attempted to persuade you that "what-kind-of-thing-is-it" questions are best answered with an ontology, not an XML Schema. The relationship of each element to a semantic identifier such as Object or property is readily expressed in an RDF Schema, as shown below. The below RDF Schema is read as: "A Book is a subclass of Object (i.e., a Book is an Object). A Person is an Object. A title is a property. An author is a property. A name is a property."

 <?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

    <rdfs:Class rdf:ID="Object">
    </rdfs:Class>
    
    <rdfs:Class rdf:ID="property">
    </rdfs:Class>

    <rdfs:Class rdf:ID="Book">
        <rdfs:subClassOf rdf:resource="#Object"/>
    </rdfs:Class>

    <rdfs:Class rdf:ID="Person">
        <rdfs:subClassOf rdf:resource="#Object"/>
    </rdfs:Class>

    <rdfs:Class rdf:ID="title">
        <rdfs:subClassOf rdf:resource="#property"/>
    </rdfs:Class>

    <rdfs:Class rdf:ID="author">
        <rdfs:subClassOf rdf:resource="#property"/>
    </rdfs:Class>

    <rdfs:Class rdf:ID="name">
        <rdfs:subClassOf rdf:resource="#property"/>
    </rdfs:Class>

</rdf:RDF>

More ... http://www.xfront.com/What-Kind-Of-Thing-Is-It.pdf  

Comments welcome.

/Roger
Received on Sunday, 6 November 2011 13:50:02 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:19 UTC