Semantic Web Technologies: XML, RDF, OWL

This talk summarizes material from the appropriate RFCs and W3C Recommendations, as well as:

1 XML

1.1 XML

1.2 XML

1.3 XML Example

<?xml version="1.0"?>
<purchaseOrder orderDate="1999-10-20">
  <shipTo country="US">
    <name>Alice Smith</name>
    <street>123 Maple Street</street>
    <city>Mill Valley</city>
    <state>CA</state>
    <zip>90952</zip>
  </shipTo>
  <billTo country="US">
    <name>Robert Smith</name>
    <street>8 Oak Avenue</street>
    <city>Old Town</city>
    <state>PA</state>
    <zip>95819</zip>
  </billTo>
  <comment>Hurry, my lawn is going wild!</comment>
  <items>
    <item partNum="872-AA">
      <productName>Lawnmower</productName>
      <quantity>1</quantity>
      <USPrice>148.95</USPrice>
      <comment>Confirm this is electric</comment>
    </item>
    <item partNum="926-AA">
      <productName>Baby Monitor</productName>
      <quantity>1</quantity>
      <USPrice>39.98</USPrice>
      <shipDate>1999-05-21</shipDate>
    </item>
  </items>
</purchaseOrder>


2 Document Type Definitions

3 XML Namespaces

<x xmlns="http://www.w3.org/TR/REC-html40"
   xmlns:edi="http://ecommerce.org/schema">
  <!-- the "edi" prefix is bound to http://ecommerce.org/schema
       for the "x" element and contents -->
   <edi:price units="Euro">32</edi:price>
   <lineItem edi:taxClass="exempt">Baby food</lineItem>
</x>
<?xml version="1.0"?>
<!-- initially, the default namespace is "books" -->
<book xmlns="urn:loc.gov:books"
      xmlns:isbn="urn:ISBN:0-395-36341-6">
  <title>Cheaper by the Dozen</title>
  <isbn:number>1568491379</isbn:number>
  <notes>
    <!-- make HTML the default namespace for some commentary -->
    <p xmlns="urn:w3-org-ns:HTML">
      This is a <i>funny</i> book!
    </p>
  </notes>
</book>

4 XML Schema

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
    Purchase order schema for Example.com.
      Copyright 2000 Example.com. All rights reserved.
    </xsd:documentation>
  </xsd:annotation>
  
  <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
    
  <xsd:element name="comment" type="xsd:string"/>
      
  <xsd:complexType name="PurchaseOrderType">
    <xsd:sequence>
      <xsd:element name="shipTo" type="USAddress" />
      <xsd:element name="billTo" type="USAddress"/>
      <xsd:element ref="comment" minOccurs="0"/>
      <xsd:element name="items"  type="Items"/>
    </xsd:sequence>
    <xsd:attribute name="orderDate" type="xsd:date"/>
  </xsd:complexType>

  <xsd:complexType name="USAddress">
    <xsd:sequence>
      <xsd:element name="name"   type="xsd:string"/>
      <xsd:element name="street" type="xsd:string"/>
      <xsd:element name="city"   type="xsd:string"/>
      <xsd:element name="state"  type="xsd:string"/>
      <xsd:element name="zip"    type="xsd:decimal"/>
    </xsd:sequence>
    <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
  </xsd:complexType>

  <xsd:complexType name="Items">
    <xsd:sequence>
      <xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="productName" type="xsd:string"/>
            <xsd:element name="quantity">
              <xsd:simpleType>
                <xsd:restriction base="xsd:positiveInteger">
                  <xsd:maxExclusive value="100"/>
                </xsd:restriction>
              </xsd:simpleType>
            </xsd:element>
            <xsd:element name="USPrice"  type="xsd:decimal"/>
            <xsd:element ref="comment"   minOccurs="0"/>
            <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
          </xsd:sequence>
          <xsd:attribute name="partNum" type="SKU" use="required"/>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

<!-- Stock Keeping Unit, a code for identifying products -->
  <xsd:simpleType name="SKU">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="\d{3}-[A-Z]{2}"/>
    </xsd:restriction>
  </xsd:simpleType>

</xsd:schema>

4.1 XML Schema Types

Diagram of built-in type hierarchy
anyType anySimpleType duration dateTime time date gYearMonth gYear gMonthDay gDay gMonth boolean base64Binary hexBinary float double anyURI QName NOTATION string decimal normalizedString integer token nonPositiveInteger long nonNegativeInteger language Name NMTOKEN negativeInteger int unsignedLong positiveInteger NCName NMTOKENS short unsignedInt ID IDREF ENTITY byte unsignedShort IDREFS ENTITIES unsignedByte Built-in Datatypes

4.2 Building XML Schema Types

4.3 XML Simple Types

<?xml version="1.0"?>

<!-- A product code is 2 digits, a dash, and five digits-->
<!-- It restricts string. -->
<xsd:simpleType xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" name="productCode">
  <xsd:restriction base="xsd:string">
    <xsd:pattern value="\d{2}-\d{5}"/>
  </xsd:restriction>
</xsd:simpleType>

<!--We can extend this product code by allowing an optional-->
<!--dash followed by a letter -->

<xsd:simpleType name="productCodeEx">
  <xsd:restriction base="productCode">
    <xsd:patter value"\d{2}-\d{5}(-[a-z]){0,1}"/>
  </xsd:restriction>
</xsd:simpleType>

4.4 XML Complex Types

<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- A telephone number contains three parts-->
<!-- This is the schema -->
<xsd:complexType name="telephoneNumber">
  <xsd:sequence>
    <xsd:element name="area">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="\d{3}"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:element>
    <xsd:element name="exchange">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="\d{3}"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:element>
    <xsd:element name="number">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="\d{4}"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

<!--An instance of this phonenumber would look like-->
<telephone xsi:type="abc:telephoneNumber">
  <area>123</area>
  <exchange>123</exchange>
  <number>1234</number>
</telephone>

4.5 XML Complex Types by Extension

<?xml version="1.0" encoding="ISO-8859-1"?>

<!--The new type-->
<xsd:complexType name="telephoneNumberEx">
  <xsd:complexContent>
    <xsd:extension base="telephoneNumber">
      <xsd:sequence>
        <xsd:element name="countryCode">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:pattern value="\d{2}"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

<!--An instance of the type-->
<telephone xsi:type="abc:telephoneNumber">
  <area>123</area>
  <exchange>123</exchange>
  <number>1234</number>
  <contryCode>01</countryCode>
</telephone>

4.6 Netbeans XML Support

5 RDF

5.1 RDF Picture

diagram
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:s="http://description.org/schema/">
  <Description about="http://www.w3.org/Home/Lassila">
    <s:Creator>Ora Lassila</s:Creator>
  </Description>
</RDF>

5.2 RDF Abbreviated Syntax

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:s="http://description.org/schema/">
  <Description about="http://www.w3.org/Home/Lassila">
    <s:Creator>Ora Lassila</s:Creator>
  </Description>
</RDF>

<?xml version="1.0"?>
<rdf:RDF "xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
          xmlns:s="http://description.org/schema/">
  <rdf:Description about="http://www.w3.org/Home/Lassila"
    s:Creator="Ora Lassila" />
</rdf:RDF>
<!--These statements-->
<rdf:RDF>
  <rdf:Description about="http://www.w3.org">
    <s:Publisher>World Wide Web Consortium</s:Publisher>
    <s:Title>W3C Home Page</s:Title>
    <s:Date>1998-10-03T02:27</s:Date>
  </rdf:Description>
</rdf:RDF>

<!--are equivalent to these ones-->
<rdf:RDF>
  <rdf:Description about="http://www.w3.org"
    s:Publisher="World Wide Web Consortium"
    s:Title="W3C Home Page"
    s:Date="1998-10-03T02:27"/>
</rdf:RDF>



5.3 RDF Example

RDF example
<rdf:RDF>
  <rdf:Description about="http://www.w3.org/Home/Lassila">
    <s:Creator rdf:resource="http://www.w3.org/staffId/85740"/>
  </rdf:Description>

  <rdf:Description about="http://www.w3.org/staffId/85740">
    <v:Name>Ora Lassila</v:Name>
    <v:Email>lassila@w3.org</v:Email>
  </rdf:Description>
</rdf:RDF>

5.4 RDF Schema

RDF Sets

5.5 RDF Schema Class Hierarchy

RDF Hierarchy

5.6 RDF Schema Instance Example

Car Classes
<rdf:RDF xml:lang="en"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

  <!-- Note: this RDF schema would typically be used in RDF instance data 
  by referencing it with an XML namespace declaration, for example
  xmlns:xyz="http://www.w3.org/2000/03/example/vehicles#".  This allows
  us to use abbreviations such as xyz:MotorVehicle to refer
  unambiguously to the RDF class 'MotorVehicle'. -->

  <rdf:Description ID="MotorVehicle">
    <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <rdfs:subClassOf
        rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
  </rdf:Description>

  <rdf:Description ID="PassengerVehicle">
    <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <rdfs:subClassOf rdf:resource="#MotorVehicle"/>
  </rdf:Description>

  <rdf:Description ID="Truck">
    <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <rdfs:subClassOf rdf:resource="#MotorVehicle"/>
  </rdf:Description>

  <rdf:Description ID="Van">
    <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <rdfs:subClassOf rdf:resource="#MotorVehicle"/>
  </rdf:Description>

  <rdf:Description ID="MiniVan">
    <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <rdfs:subClassOf rdf:resource="#Van"/>
    <rdfs:subClassOf rdf:resource="#PassengerVehicle"/>
  </rdf:Description>

</rdf:RDF>

5.7 FOAF

5.8 RDFa

5.9 SPARQL

5.9.1 SPARQL: Optional

5.9.2 SPARQL: Union

5.9.3 SPARQL: Filter

5.10 Example: OpenCalais + Jena + NetBeans

6 OWL

6.1 DAML+OIL

6.2 OWL Classes

<?xml version='1.0' encoding='ISO-8859-1'?>
<rdf:RDF
  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#"
  xmlns:xsd  ="http://www.w3.org/2001/XMLSchema#"
  xmlns      =""
 >

<owl:Ontology rdf:about="">
 <owl:versionInfo>$Id$</owl:versionInfo>
 <rdfs:comment>
 </rdfs:comment>
</owl:Ontology>

<owl:Class rdf:ID="Animal">
  <rdfs:label>Animal</rdfs:label>
  <rdfs:comment>
    Not vegetable or mineral.
  </rdfs:comment>
  <owl:Class rdf:ID="Male">
    <rdfs:label>Male</rdfs:label>
    <rdfs:subClassOf rdf:resource="#Animal"/>
  </owl:Class>
  <owl:Class rdf:ID="Female">
    <rdfs:label>Female</rdfs:label>
    <rdfs:subClassOf rdf:resource="Animal"/>
    <owl:disjointWith rdf:resource="Male"/>
  </owl:Class>
</owl:Class>
</rdf:RDF>

6.3 OWL Properties

<owl:ObjectProperty rdf:ID="hasParent">
  <rdfs:domain rdf:resource="#Animal"/>
  <rdfs:range rdf:resource="#Animal"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasFather">
  <rdfs:subPropertyOf rdf:resource="#hasParent"/>
  <rdfs:range rdf:resource="#Male"/>  
</owl:ObjectProperty>

6.4 OWL Property Restrictions

<owl:Class rdf:ID="Person">
  <rdfs:subClassOf rdf:resource="#Animal"/>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#hasParent"/>
      <owl:toClass rdf:resource="#Person"/>
    </owl:Restriction>
  </rdfs:subClassOf>


  <rdfs:subClassOf>
    <owl:Restriction owl:cardinality="1">
      <owl:onProperty rdf:resource="#hasFather"/>
    </owl:Restriction>
  </rdfs:subClassOf>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#shoesize"/>
      <owl:minCardinality>1</owl:minCardinality>
   </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

6.5 OWL Extends Other Ontologies

<owl:Class rdf:about="#Animal">
  <rdfs:comment>
    Animals have exactly two parents, ie:
    If x is an animal, then it has exactly 2 parents 
    (but it is NOT the case that anything that has 2 
    parents is an animal).
  </rdfs:comment>
  <rdfs:subClassOf>
    <owl:Restriction owl:cardinality="2">
      <owl:onProperty rdf:resource="#hasParent"/>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<owl:Class 
   rdf:about="http://www.sample.com/ontologies/zoo#Animal">

6.6 OWL Defines Individuals

<Person rdf:ID="Adam">
  <rdfs:label>Adam</rdfs:label>
  <rdfs:comment>Adam is a person.</rdfs:comment>
  <age><xsd:integer rdf:value="13"/></age>
  <shoesize><xsd:decimal rdf:value="9.5"/></shoesize>
</Person>

6.7 OWL Ontology

RDF Schema Features: (In)Equality: Property Characteristics:
Property Restrictions: Restricted Cardinality: Header Information:
Class Intersection: Versioning: Annotation Properties:
Datatypes

6.8 OWL Example

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF 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#"
         xmlns="http://www.xfront.com/owl/ontologies/camera/#"
         xmlns:camera="http://www.xfront.com/owl/ontologies/camera/#"
         xml:base="http://www.xfront.com/owl/ontologies/camera/">

    <owl:Ontology rdf:about="">
        <rdfs:comment>
        Camera OWL Ontology                           
      Author: Roger L. Costello                                   
        </rdfs:comment>
    </owl:Ontology>

     <owl:Class rdf:ID="Money">
          <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
     </owl:Class>

     <owl:DatatypeProperty rdf:ID="currency">
          <rdfs:domain rdf:resource="#Money"/>
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
     </owl:DatatypeProperty>

     <owl:Class rdf:ID="Range">
          <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
     </owl:Class>

     <owl:DatatypeProperty rdf:ID="min">
          <rdfs:domain rdf:resource="#Range"/>
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/>
     </owl:DatatypeProperty>

     <owl:DatatypeProperty rdf:ID="max">
          <rdfs:domain rdf:resource="#Range"/>
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/>
     </owl:DatatypeProperty>

     <owl:DatatypeProperty rdf:ID="units">
          <rdfs:domain rdf:resource="#Range"/>
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
     </owl:DatatypeProperty>

     <owl:Class rdf:ID="Window">
          <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
     </owl:Class>

     <camera:Window rdf:ID="ThroughTheLens"/>
     <camera:Window rdf:ID="WindowOnTopOfCamera"/>

     <owl:Class rdf:ID="Viewer">
         <owl:oneOf rdf:parseType="Collection">
               <camera:Window rdf:about="#ThroughTheLens"/>
               <camera:Window rdf:about="#WindowOnTopOfCamera"/>
          </owl:oneOf>
     </owl:Class>

     <owl:Class rdf:ID="PurchaseableItem">
          <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
     </owl:Class>

     <owl:ObjectProperty rdf:ID="cost">
          <rdfs:domain rdf:resource="#PurchaseableItem"/>
          <rdfs:range rdf:resource="#Money"/>
     </owl:ObjectProperty>

     <owl:Class rdf:ID="Body">
          <rdfs:subClassOf rdf:resource="#PurchaseableItem"/>
     </owl:Class>

     <owl:Class rdf:ID="BodyWithNonAdjustableShutterSpeed">
          <owl:intersectionOf rdf:parseType="Collection">
               <owl:Class rdf:about="#Body"/>
               <owl:Restriction>
                     <owl:onProperty rdf:resource="#shutter-speed"/>
                     <owl:cardinality>0</owl:cardinality>
               </owl:Restriction>
          </owl:intersectionOf>
     </owl:Class>

     <owl:Class rdf:ID="Lens">
          <rdfs:subClassOf rdf:resource="#PurchaseableItem"/>
     </owl:Class>

     <owl:Class rdf:ID="Camera">
          <rdfs:subClassOf rdf:resource="#PurchaseableItem"/>
     </owl:Class>

     <owl:Class rdf:ID="SLR">
          <owl:intersectionOf rdf:parseType="Collection">
               <owl:Class rdf:about="#Camera"/>
               <owl:Restriction>
                     <owl:onProperty rdf:resource="#viewFinder"/>
                     <owl:hasValue rdf:resource="#ThroughTheLens"/>
               </owl:Restriction>
          </owl:intersectionOf>
     </owl:Class>

     <owl:Class rdf:ID="Large-Format">
          <rdfs:subClassOf rdf:resource="#Camera"/>
          <rdfs:subClassOf>
               <owl:Restriction>
                     <owl:onProperty rdf:resource="#body"/>
                     <owl:allValuesFrom rdf:resource="#BodyWithNonAdjustableShutterSpeed"/>
               </owl:Restriction>
          </rdfs:subClassOf>
     </owl:Class>

     <owl:Class rdf:ID="Digital">
          <rdfs:subClassOf rdf:resource="#Camera"/>
     </owl:Class>

     <owl:ObjectProperty rdf:ID="part"/>

     <owl:ObjectProperty rdf:ID="lens">
          <rdfs:subPropertyOf rdf:resource="#part"/>
          <rdfs:domain rdf:resource="#Camera"/>
          <rdfs:range rdf:resource="#Lens"/>
     </owl:ObjectProperty>

     <owl:ObjectProperty rdf:ID="body">
          <rdfs:subPropertyOf rdf:resource="#part"/>
          <rdfs:domain rdf:resource="#Camera"/>
          <rdfs:range rdf:resource="#Body"/>
     </owl:ObjectProperty>

     <owl:ObjectProperty rdf:ID="viewFinder">
          <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
          <rdfs:domain rdf:resource="#Camera"/>
          <rdfs:range rdf:resource="#Viewer"/>
     </owl:ObjectProperty>

     <owl:DatatypeProperty rdf:ID="size">
          <rdfs:domain rdf:resource="#Lens"/>
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
     </owl:DatatypeProperty>

     <owl:DatatypeProperty rdf:ID="aperture">
          <rdfs:domain rdf:resource="#Lens"/>
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
     </owl:DatatypeProperty>

     <owl:ObjectProperty rdf:ID="compatibleWith">
          <rdfs:domain rdf:resource="#Lens"/>
          <rdfs:range rdf:resource="#Body"/>
     </owl:ObjectProperty>

     <owl:ObjectProperty rdf:ID="shutter-speed">
          <rdfs:domain rdf:resource="#Body"/>
          <rdfs:range rdf:resource="#Range"/>
     </owl:ObjectProperty>

     <owl:DatatypeProperty rdf:ID="focal-length">
          <owl:equivalentProperty rdf:resource="#size"/>
          <rdfs:domain rdf:resource="#Lens"/>
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
     </owl:DatatypeProperty>

     <owl:DatatypeProperty rdf:ID="f-stop">
          <owl:equivalentProperty rdf:resource="#aperture"/>
          <rdfs:domain rdf:resource="#Lens"/>
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
     </owl:DatatypeProperty>

</rdf:RDF>

6.9 From DAML+OIL to OWL

  1. The namespace was changed to http://www.w3.org/2002/07/owl [36].
  2. Various updates to RDF and RDF Schema from the RDF Core Working Group [37] were incorporated, including
    • cyclic subclasses are now allowed
    • multiple rdfs:domain and rdfs:range properties are handled as intersection
    • RDF Semantics
    • datatypes
    • the daml:List construct used to represent closed collections was largely incorporated into RDF
      • rdf:parseType="Collection" replaces rdf:parseType="daml:collection"
      • rdf:List, rdf:first, rdf:rest and rdf:nil replace daml:List, daml:first, daml:rest, and daml:nil
      • daml:item is not supported.
  3. Qualified restrictions were removed from the language, resulting in the removal of the following properties:
    • daml:cardinalityQ
    • daml:hasClassQ
    • daml:maxCardinalityQ
    • daml:minCardinalityQ
  4. Various properties and classes were renamed, as shown in the following table:
    DAML+OIL OWL
    daml:differentIndividualFrom owl:differentFrom
    daml:equivalentTo owl:sameAs
    daml:sameClassAs owl:equivalentClass
    daml:samePropertyAs owl:equivalentProperty
    daml:hasClass owl:someValuesFrom
    daml:toClass owl:allValuesFrom
    daml:UnambiguousProperty owl:InverseFunctionalProperty
    daml:UniqueProperty owl:FunctionalProperty
  5. owl:SymmetricProperty was added.
  6. An owl:DatatypeProperty may be an InverseFunctionalProperty in OWL Full.
  7. Synonyms for RDF and RDF Schema classes and properties were removed from the language, resulting in the removal of:
    • daml:comment
    • daml:domain
    • daml:label
    • daml:isDefinedBy
    • daml:Literal
    • daml:Property
    • daml:range
    • daml:seeAlso
    • daml:subClassOf
    • daml:subPropertyOf
    • daml:type
    • daml:value
  8. daml:disjointUnionOf was removed from the language, since it can be effected using owl:unionOf or rdfs:subClassOf and owl:disjointWith.
  9. daml:equivalentTo was renamed to owl:sameAs, and is no longer a superproperty of owl:equivalentClass and owl:equivalentProperty,
  10. The following properties and classes were added to support versioning:
    • owl:backwardCompatibleWith
    • owl:DeprecatedClass
    • owl:DeprecatedProperty
    • owl:incompatibleWith
    • owl:priorVersion
  11. owl:AllDifferent and owl:distinctMembers were added to address the Unique Names Assumption.

6.10 Three Sublanguages

6.11 OWL Ontology Creation

6.12 The Future of OWL

7 Summary

URLs

  1. Extensible Markup Language (XML) 1.0, http://www.w3.org/TR/REC-xml/
  2. Tutorial: The Semantic Web., http://jmvidal.cse.sc.edu/lib/klein01a.html
  3. The Semantic Web: The Roles of XML and RDF., http://jmvidal.cse.sc.edu/library/w5063.pdf
  4. Finding friends with XML and RDF, http://www.ibm.com/developerworks/xml/library/x-foaf.html
  5. Search RDF Data with SPARQL, http://www.ibm.com/developerworks/xml/library/j-sparql/
  6. OWL Web Ontology Language Overview, http://www.w3.org/TR/owl-features/
  7. W3C Recommendation 6, http://www.w3.org/TR/REC-xml
  8. over 10 years old, http://www.tbray.org/ongoing/When/200x/2008/02/10/XML-People
  9. XML namespaces recommendation, http://www.w3.org/TR/REC-xml-names/
  10. RFC2396, http://www.ietf.org/rfc/rfc2396.txt
  11. XML Schema, http://www.w3.org/XML/Schema
  12. Lots of support, http://xml.netbeans.org/
  13. tutorial , http://developers.sun.com/jsenterprise/nb_enterprise_pack/reference/techart/abe.html
  14. UBL Order, http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Order-1.0.xsd
  15. Resource Description Framework, http://www.w3.org/RDF/
  16. RDF Schema, http://www.w3.org/TR/rdf-schema/
  17. Friend Of A Friend, http://www.foaf-project.org/
  18. generate your own FOAF, http://www.ldodds.com/foaf/foaf-a-matic
  19. RDFa, http://www.w3.org/2006/07/SWD/RDFa/syntax
  20. tutorial, http://www.xml.com/pub/a/2007/02/14/introducing-rdfa.html
  21. part 2, http://www.xml.com/pub/a/2007/04/04/introducing-rdfa-part-two.html
  22. SPARQL, http://www.w3.org/TR/rdf-sparql-query/
  23. tutorials, http://jena.sourceforge.net/ARQ/Tutorial/index.html
  24. tutorial, http://www.ibm.com/developerworks/xml/library/j-sparql/
  25. Jena, http://jena.sourceforge.net
  26. OpenCalais, http://www.opencalais.com
  27. http://s.opencalais.com/1/pred/, http://s.opencalais.com/1/pred/
  28. http://s.opencalais.com/1/type/em/e/, http://s.opencalais.com/1/type/em/e/
  29. http://www.w3.org/1999/02/22-rdf-syntax-ns#, http://www.w3.org/1999/02/22-rdf-syntax-ns#
  30. wikipedia:Ontology_(computer_science), http://www.wikipedia.org/wiki/Ontology_(computer_science)
  31. OWL Web Ontology Language Overview, http://www.w3.org/TR/owl-features/
  32. DAML sample ontologies, http://www.daml.org/ontologies/
  33. W3C Note on DAML+OIL, http://www.w3.org/TR/daml+oil-reference
  34. Appendix D of the OWL reference, http://www.daml.org/2002/06/webont/owl-ref-proposed#appd
  35. DAML+OIL to OWL converter, http://www.mindswap.org/2002/owl.html
  36. http://www.w3.org/2002/07/owl, http://www.w3.org/2002/07/owl
  37. RDF Core Working Group, http://www.w3.org/2001/sw/RDFCore/
  38. http://www.w3.org/2001/XMLSchema, http://www.w3.org/2001/XMLSchema
  39. http://www.w3.org/2000/10/XMLSchema, http://www.w3.org/2000/10/XMLSchema
  40. Jess, http://herzberg.ca.sandia.gov/jess/
  41. Protege, http://protege.stanford.edu
  42. Protege Owl tutorial, http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf

This talk available at http://jmvidal.cse.sc.edu/talks/xmlrdfdaml/
Copyright © 2009 José M. Vidal . All rights reserved.

23 February 2008, 11:46AM