CS835 - Data and Document Representation & Processing

Lecture 9 - Data: Semantic Web, Ontologies, RDF

 

References:

  1. The Semantic Web: An Introduction http://infomesh.net/2001/swintro/
  2. http://www.w3.org/2001/12/semweb-fin/w3csw

 

The Semantic Web?

·       The Semantic Web is worldwide information linked in such a way as to be easily understandable by machines

·       Idea created by Tim Berners-Lee, inventor of the WWW, URIs, HTTP, and HTML.

 

·       Problem: Most data on the Web in a form difficult to use on a large scale

·        no global system for publishing data that can be easily processed by anyone.

·       Solution - Semantic Web

 

What is the Problem?

Hyper-links to related content
  • Semantic content is accessible to humans but not (easily) to computers…
  • Take this webpage

     

     

    What we see:

    Siggraph 2005

    Sketches

     

    Everything you can imagine is real.

    PABLO PICASSO

    The Sketches program is one of the most dynamic programs of the annual SIGGRAPH conference, providing a forum for ideas, techniques, and uses of computer graphics and interactive techniques.

    Every year, an eclectic mix of researchers, artists, animators, and programmers share their experiences and show their ideas. Sketches cover a broad spectrum of topics in art, design, science, and engineering, and include provocative speculation, academic research, industrial development, practical tools, and behind-the-scenes explanations of commercial and artistic works.

    Sketches are presentations, about 20 minutes long, followed by about five minutes for questions. Sketch sessions are organized by topic in groups of four or five sketches and chaired by a member of the review committee.

    We welcome submissions from artists, animators, developers, and researchers. Whether you are developing new techniques or using existing ones in novel ways, we want to hear from you. We encourage submissions from academia and industry, as well as independent work. International contributions are especially welcome.

    Be a part of this exciting exchange of ideas and techniques. Contribute your sketch proposal to SIGGRAPH 2005!

    Juan Buhler
    PDI/DreamWorks
    SIGGRAPH 2005 Sketches Chair

     

    What the Computer Sees:

    SKETCHES INFORMATION

     

    New for SIGGRAPH 2005

     

    Implementation Sketches

     

    Frequently Asked Questions

     

    Submission Guidelines

     

    Submission Procedure Checklist

     

    Review and Upon Acceptance

     

    GENERAL INFORMATION

     

    New for SIGGRAPH 2005

     

    Deadlines

     

    How to Submit Your Work

     

    Online Submission

     

    Uploading Files

     

    Presenter Information

     

    Award Nominations

     

    Conference Volunteer Application


    REFER A FRIEND

    >

    Share the SIGGRAPH
    2005 web site

     

    Need to Add “Semantics

    E.g., Dublin Core

    Problems with this approach

      • Inflexible
      • Limited number of things can be expressed
    • Use Ontologies to specify meaning of annotations

    Ontologies provide a vocabulary of terms

    New terms can be formed by combining existing ones

    Meaning (semantics) of such terms is formally specified

    Can also specify relationships between terms in multiple ontologies

     

    A Semantic Web — First Steps

    • Make web resources more accessible to automated processes
      • Extend existing rendering markup with semantic markup
        Metadata annotations that describe content/funtion of web accessible resources
    • Use Ontologies to provide vocabulary for annotations
      • “Formal specification” is accessible to machines
    • A prerequisite is a standard web ontology language
      • Need to agree common syntax before we can share semantics
      • Syntactic web based on standards such as HTTP and HTML

     

    Ontologies

    • Ontology: Origins and History
      • Ontology in Philosophy
      • a philosophical discipline
        a branch of philosophy that deals with the nature and the organisation of reality
      • Science of Being (Aristotle, Metaphysics, IV, 1)
      • Tries to answer the questions:
      • What characterizes being?
      • Eventually, what is being?
    • Ontology in Linguistics

     

    ·       Ontology in Computer Science

    ·       An ontology is an engineering artifact:

    o      It is constituted by a specific vocabulary used to describe a certain reality,

    o      plus a set of explicit assumptions regarding the intended meaning of the vocabulary.

     

      • Shared understanding of a domain of interest
      • Formal and machine manipulable model of a domain of interest

     

    Structure of an Ontology

    ·       Ontologies typically have two distinct components:

    o      Names for important concepts in the domain

    o      Elephant is a concept whose members are a kind of animal

    o      Herbivore is a concept whose members are exactly those animals who eat only plants or parts of plants

    o      Adult_Elephant is a concept whose members are exactly those elephants whose age is greater than 20 years

     

    ·

          
    Background knowledge/constraints on the domain

    o     
    Adult_Elephants weigh at least 2,000 kg

    o     
    All Elephants are either African_Elephants or Indian_Elephants

    o     
    No individual can be both a Herbivore and a Carnivore

     

    Semantic Web Main Principles

    Principle 1: Everything can be identified by URI's

    Principle 2: Resources and links can have types

    Principle 3: Partial information is tolerated

    Principle 4: There is no need for absolute truth

    Principle 5: Evolution is supported

    Principle 6: Minimalist design

    Semantic Web Layers

     

    URI - Uniform Resource Identifier

    ·       Semantic Web built on syntaxes that use URIs to represent data called "Resource Description Framework" syntaxes.

     

    RDF - Resource Description Framework

    ·        The Resource Description Framework (RDF) is a language for representing information about resources in the World Wide Web.

    ·        Intended for representing metadata about Web resources, such as the title, author, and modification date of a Web page, copyright and licensing information about a Web document, or the availability schedule for some shared resource.

    ·        By generalizing the concept of a "Web resource", RDF can be used to represent information about things that can be identified on the Web, even when they cannot be directly retrieved on the Web.

      • Examples include information about items available from on-line shopping facilities (e.g., information about specifications, prices, and availability), or the description of a Web user's preferences for information delivery.

    ·        A language that uses three URIs - Uniform Resource Identifiers

    ·        In RDF, information is a collection of statements, each with a subject, verb and object - and nothing else.

    ·        Once information is in RDF form, it can be processed

     

    The RDF Data Model

    o      Statements are <subject, predicate, object> triples:

             

    <Frank,hasColleague,Richard>

    Can be represented as a graph:

     

     

    o      Statements describe properties of resources

    o      A resource is any object that can be pointed to by a URI:

    o      a document, a picture, a paragraph on the Web;

    o      http://www.cs.man.ac.uk/index.html

    o      a book in the library, a real person (?)

    o      isbn://5031-4444-3333

    o     

    o      Properties themselves are also resources (URIs)

     

    Linking Statements

    o      The subject of one statement can be the object of another

    Such collections of statements form a directed, labeled graph

     

     

    Note that the object of a triple can also be a “literal” (a string)

     

    RDF Syntax

    o      RDF has an XML syntax that has a specific meaning:

    Every
    Description element describes a resource

    Every attribute or nested element inside a
    Description  is a property of that Resource

    We can refer to resources by using URIs

     

               

    <Description about="some.uri/person/ian_horrocks">

               

       <hasColleague resource="some.uri/person/uli_sattler"/>

               

    </Description>

               

    <Description about="some.uri/person/uli_sattler">

               

       <hasHomePage>http://www.cs.mam.ac.uk/~sattler</hasHomePage>

               

    </Description>

               

    <Description about="some.uri/person/carole_goble">

               

       <hasColleague resource="some.uri/person/uli_sattler"/>

               

    </Description>

     

     

    Notation3: RDF Made Easy

    • XML RDF can be difficult
    • Simpler teaching form of RDF -  "Notation3" or N3 developed by Tim Berners-Lee.
    • In Notation3 - simply write out the URIs in a triple, delimiting them with a "<" and ">" symbols
      • For example, triple consisting of three URI triples:

     

    <http://xyz.org/#a> <http://xyz.org/#b> http://xyz.org/#c

     

    • To use literal values, simply enclose the value in double quote marks:

     

    <http://xyz.org/#Sean> <http://xyz.org/#name> "Sean"

     

    The above reads as subject, verb and object – Sean has the name “Sean”

     

    • To omit the URI for something use an underscore with a colon and a label :

     

    _:a1 <http://xyz.org/#name> "Sean"

    This may be read as "there is something that has the name Sean", or "a1 has the name Sean, for some value of a1".

     

    ·        These are called anonymous nodes, because they don't have a URI.

     

    ·        Given: <http://xyz.org/#a> <http://xyz.org/#b> http://xyz.org/#c

      • Only the last character changes each time
      • N3 can abbreviate this: gives parts of URIs aliases:

    @prefix xyz: <http://xyz.org/#>

    o      This gives:

    @prefix xyz: <http://xyz.org/#>

    :a :b :c

     

    • Can declare many aliases. The following bits of code are both equivalent to the piece of code above:

    @prefix blargh: <http://xyz.org/#> .

    blargh:a blargh:b blargh:c .

     

    @prefix blargh: <http://xyz.org/#> .

    @prefix xyz: <http://xyz.org/#> .

    blargh:a xyz:b blargh:c .

     

    • Standard" aliases:-

    @prefix : <#> .

    @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

    @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

    @prefix daml: <http://www.daml.org/2001/03/daml+oil#> .

    @prefix log: <http://www.w3.org/2000/10/swap/log#> .

    @prefix dc: <http://purl.org/dc/elements/1.1/> .

    @prefix foaf: <http://xmlns.com/foaf/0.1/> .

     

    • The empty alias ":" is used to denote a new namespace that the author has not yet created a URI

     

    CWM: An XML RDF And Notation3 Inference Engine

    • RDF and Semantic Web processing can be done using a Python program called CWM or "Closed World Machine". (See SWAP site)
    • CWM can convert from XML RDF into Notation3 and vice versa.
    • To convert "a.n3" into "a.rdf", use the following command line:

    python cwm.py a.n3 -rdf > a.rdf

    • CWM is a powerful Semantic Web toolkit.

     

    RDF Schema

    ·       RDF gives a formalism for meta data annotation, and a way to write it down in XML, but it does not give any special meaning to vocabulary such as subClassOf or type

    • interpretation is an arbitrary binary relation

     

    RDF Schema allows you to define vocabulary terms and the relations between those terms

    it gives “extra meaning” to particular RDF predicates and resources

    this “extra meaning”, or semantics, specifies how a term should be interpreted

     

    ·        RDF Schema (also: RDF Schema Candidate Recommendation) was designed to be a simple datatyping model for RDF.

    ·        Using RDF Schema, we can say:

    "Fido" is a type of "Dog"

    "Dog" is a sub class of animal.

    ·        Can create properties and classes, and create ranges and domains for properties.

     

    ·        All terms for RDF Schema start with "http://www.w3.org/2000/01/rdf-schema#"

    • Three most important concepts given by RDF and RDF Schema :

    1.     "Resource" (rdfs:Resource)

    2.     "Class" (rdfs:Class)

    3.     "Property" (rdf:Property)

    • These are all "classes", in that terms may belong to these classes.
      • For example, all terms in RDF are types of resource.
      • To declare that something is a "type" of something else, use the rdf:type property:

    rdfs:Resource rdf:type rdfs:Class

    rdfs:Class rdf:type rdfs:Class

    rdf:Property rdf:type rdfs:Class

    rdf:type rdf:type rdf:Property

      • This says that "Resource is a type of Class, Class is a type of Class, Property is a type of Class, and type is a type of Property".
      • These are all true statements.
    • To make up your own classes.
      • For example, create a class called "Dog", which contains all of the dogs in the world:

    :Dog rdf:type rdfs:Class

    o      Now we can say that "Fido is a type of Dog":

    :Fido rdf:type :Dog

    o      Can create properties by saying a term is a type of rdf:Property, and then use those properties in the RDF:

    :name rdf:type rdf:Property

    :Fido :name "Fido"

    ·       This says that Fido's name is "Fido"?

    ·       The term ":Fido" is a URI, and any URI for Fido, including ":Squiggle" or ":n508s0srh"

    ·       The URI ":Fido" is easier to remember.

    ·       Must tell machines that his name is Fido

     

    ·       More properties: rdfs:subClassOf and rdfs:subPropertyOf.

    o      Can say that one class or property is a sub class or sub property of another.

    o      e.g., "Dog" is a sub class of the class "Animal":

    :Dog rdfs:subClassOf :Animal

    o      Also say that there are other sub classes of Animal:-

    :Human rdfs:subClassOf :Animal

    :Duck rdfs:subClassOf :Animal

    o      Create new instances of those classes:-

    :Bob rdf:type :Human

    :Quakcy rdf:type :Duck

    ·       Can invent another property, use that, and build up more information...

    :owns rdf:type rdf:Property

    :Bob :owns :Fido

    :Bob :owns :Quacky

    :Bob :name "Bob Fleming"

    :Quacky :name "Quakcy"

     

    ·       RDF Schema provides ranges and domains

    o      Ranges and domains specify what classes the subject and object of each property belong.

    o      e.g., to constain ":bookTitle" to a book with a literal value:

    :Book rdf:type rdfs:Class

    :bookTitle rdf:type rdf:Property

    :bookTitle rdfs:domain :Book

    :bookTitle rdfs:range rdfs:Literal

    :MyBook rdf:type :Book

    :MyBook :bookTitle "My Book"

    • rdfs:domain always says what class the subject of a triple using that property belongs to
    • rdfs:range always says what class the object of a triple using that property belongs to.

     

    ·       RDF Schema contains a set of properties for annotating schemata, providing comments, labels, and the like.

    ·       Two properties for doing this are rdfs:label and rdfs:comment

    ·       e.g.:

    :bookTitle rdfs:label "bookTitle";

       rdfs:comment "the title of a book" .

     

    Problems with RDFS

    ·       RDFS too weak to describe resources in sufficient detail

    ·      
    No localized range and domain constraints

    ·      
    Can’t say that the range of hasChild is person when applied to persons and elephant when applied to elephants

    ·      
    No existence/cardinality constraints

    ·      
    Can’t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents

    ·      
    No transitive, inverse or symmetrical properties

    ·      
    Can’t say that isPartOf is a transitive property, that hasPart is the inverse of isPartOf or that touches is symmetrical

     

    Difficult to provide reasoning support

    No “native” reasoners for non-standard semantics

     

    Web Ontology Language Requirements

    Desirable features identified for Web Ontology Language:

     

    o

           Extends existing Web standards

    Such as XML, RDF, RDFS

    o       Easy to understand and use

    Should be based on familiar KR idioms

    o       Formally specified

    o       Of “adequate” expressive power

    o       Possible to provide automated reasoning support

     

    From RDF to OWL

    ·       Two languages developed to satisfy above requirements

    OIL: developed by group of (largely) European researchers (several from EU OntoKnowledge project)

    DAML-ONT: developed by group of (largely) US researchers (in DARPA DAML program)

    Efforts merged to produce DAML+OIL

    Development was carried out by “Joint EU/US Committee on Agent Markup Languages”

    Extends (“DL subset” of) RDF

    DAML+OIL submitted to W3C as basis for standardisation

    Web-Ontology (WebOnt) Working Group formed

    WebOnt group developed OWL language based on DAML+OIL

    OWL language now a W3C Candidate Recommendation

    Will soon become Proposed Recommendation

     

     

    DAML

    ·       DAML , The DARPA Agent Markup Language is a language created by DARPA

    ·       It aims to provide a language and toolset that enables the Web to transform from a platform that focuses on presenting information to a platform that focuses on understanding and reasoning with information.

    ·       DAML gives RDF Schema more in depth properties and classes.

    ·       DAML provides simple terms for creating inferences.

     

    DAML+OIL

    ·       DAML+OIL is a language for describing ontologies, building on RDF Schema and XML Schema.

    ·       It can be used to describe types of objects and the kinds of relationships expected between them.

    ·       It uses references to XML Schema datatypes to describe integers, dates and other datatypes.

    ·       DAML provides a method of saying things such as inverses, unambiguous properties, unique properties, lists, restrictions, cardinalities, pairwise disjoint lists, datatypes, and so on.

     

    ·       DAML construct - daml:inverseOf 

    ·       Can say that one property is the inverse of another.

    ·       The rdfs:range and rdfs:domain values of daml:inverseOf is rdf:Property.

    ·       example of daml:inverseOf:

    :hasName daml:inverseOf :isNameOf

    :Sean :hasName "Sean"

    "Sean" :isNameOf :Sean

     

    ·       DAML construct - daml:UnambiguousProperty class.

    ·       Saying that a Property is a daml:UnambiguousProperty means that if the object of the property is the same, then the subjects are equivalent.

    ·       example:

    foaf:mbox rdf:type daml:UnambiguousProperty .

    :x foaf:mbox 

    :y foaf:mbox 

    implies that:-

    :x daml:equivalentTo :y

     

    Inference

    ·       Inference is one of the driving principles of the Semantic Web

    ·       Example:

    :MyCar de:macht "160KW" .

    ·       A German Semantic Web processor may understand ":macht"

    ·       An English processor may not

    ·       Here is a piece of inference data that makes things clearer to the processor:

    de:macht daml:equivalentTo en:power

    ·       The DAML "equivalentTo" property is used to say that "macht" in the German system is equivalent to "power" in the English system.

    ·       Using an inference engine, a Semantic Web client could successfully determine that:

    :MyCar en:power "160KW"

     

    ·       Merging databases becomes a matter of recording in RDF somewhere that "Person Name" in your database is equivalent to "Name" in my database, and then throwing all of the information together and getting a processor to think about it.

    ·       CWM can do this

    ·       Great levels of inference can only be provided using "First Order Predicate Logic" languages, and DAML is not a FOPL language entirely.

     

    OWL Language

    ·       Three species of OWL

    OWL full is union of OWL syntax and RDF

    OWL DL restricted to FOL fragment (Ľ DAML+OIL)

    OWL Lite is “easier to implement” subset of OWL DL

    Semantic layering

    OWL DL Ľ OWL full within DL fragment

    DL semantics officially definitive

    OWL DL based on
    SHIQ Description Logic

    In fact it is equivalent to SHOIN(Dn) DL

    OWL DL Benefits from many years of DL research

    Well defined semantics

    Formal properties well understood (complexity, decidability)

    Known reasoning algorithms

    Implemented systems (highly optimised)

     

    OWL Class Constructors

     

    XMLS datatypes as well as classes in 8P.C and 9P.C

    E.g., 9hasAge.nonNegativeInteger

    Arbitrarily complex nesting of constructors

    E.g., Person u 8hasChild.Doctor t 9hasChild.Doctor

    RDFS Syntax

    e.g., Person u 8hasChild.Doctor t9hasChild.Doctor:

    <owl:Class>

      <owl:intersectionOf rdf:parseType=" collection">

        <owl:Class rdf:about="#Person"/>

        <owl:Restriction>

          <owl:onProperty rdf:resource="#hasChild"/>

          <owl:toClass>

            <owl:unionOf rdf:parseType=" collection">

              <owl:Class rdf:about="#Doctor"/>

              <owl:Restriction>

                <owl:onProperty rdf:resource="#hasChild"/>

                <owl:hasClass rdf:resource="#Doctor"/>

              </owl:Restriction>

            </owl:unionOf>

          </owl:toClass>

        </owl:Restriction>

      </owl:intersectionOf>

    </owl:Class>

     

    OWL Axioms

    Axioms (mostly) reducible to inclusion (v)

    C ´ D  iff  both C v D and D v C

     

    Ontology Editors

    Swoop http://www.mindswap.org/2004/SWOOP/

    OilEd http://oiled.man.ac.uk/

    Protégé http://protege.stanford.edu/

    OntoEdit http://www.ontoprise.de/products/ontoedit_en

     

    Developing an Ontology using Protégé

     

    Example: A Teaching Ontology

     

    1.     Create a new OWL project, selecting OWL files

    2.     Create subclasses to OWL, Thing, by clicking ă

    3.     Ensure classes are not overlapping by setting them to disjoint

     

     

    Create Group of Classes using Wizard

     

     

    Create Datatype Property

     

    Create Objecttype Property

     

    Defining Classes:

    ·       Property Restrictions (Quantifier, Cardinality, hasValue)

    ·       Primitive vs Defined Class

     

     

    <?xml version='1.0' encoding='UTF-8'?>

    <!DOCTYPE rdf:RDF [

                   <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>

                   <!ENTITY a 'http://protege.stanford.edu/system#'>

                   <!ENTITY rdf_ 'http://protege.stanford.edu/rdf'>

                   <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>

    ]>

    <rdf:RDF xmlns:rdf="&rdf;"

                   xmlns:rdf_="&rdf_;"

                   xmlns:a="&a;"

                   xmlns:rdfs="&rdfs;">

    <rdfs:Class rdf:about="&rdf_;:OWL-ALL-DIFFERENT"

                   rdfs:label=":OWL-ALL-DIFFERENT">

                   <rdfs:subClassOf rdf:resource="&a;_system_class"/>

    </rdfs:Class>

    <rdfs:Class rdf:about="&rdf_;:OWL-ALL-RESTRICTION"

                   rdfs:label=":OWL-ALL-RESTRICTION">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-RESTRICTION"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-ANNOTATION-PROPERTY"

                   rdfs:label=":OWL-ANNOTATION-PROPERTY">

                   <rdfs:domain rdf:resource="&rdf;Property"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-ANONYMOUS-CLASS"

                   rdfs:label=":OWL-ANONYMOUS-CLASS">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-CLASS"/>

    </rdfs:Class>

    <rdfs:Class rdf:about="&rdf_;:OWL-ANONYMOUS-ROOT"

                   rdfs:label=":OWL-ANONYMOUS-ROOT">

                   <rdfs:subClassOf rdf:resource="&a;_system_class"/>

    </rdfs:Class>

    <rdfs:Class rdf:about="&rdf_;:OWL-CARDI-RESTRICTION"

                   rdfs:label=":OWL-CARDI-RESTRICTION">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-RESTRICTION"/>

    </rdfs:Class>

    <rdfs:Class rdf:about="&rdf_;:OWL-CLASS"

                   rdfs:label=":OWL-CLASS">

                   <rdfs:subClassOf rdf:resource="&rdfs;Class"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-CLASSIFICATION-STATUS"

                   rdfs:label=":OWL-CLASSIFICATION-STATUS">

                   <rdfs:domain rdf:resource="&rdfs;Class"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-COMPLEMENT-CLASS"

                   rdfs:label=":OWL-COMPLEMENT-CLASS">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-LOGICAL-CLASS"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-DEPRECATED"

                   rdfs:label=":OWL-DEPRECATED">

                   <rdfs:domain rdf:resource="&rdf;Property"/>

                   <rdfs:domain rdf:resource="&rdfs;Class"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-DISJOINT-CLASSES"

                   rdfs:label=":OWL-DISJOINT-CLASSES">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-CLASS"/>

                   <rdfs:range rdf:resource="&rdf_;:OWL-CLASS"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-DISTINCT-MEMBERS"

                   rdfs:label=":OWL-DISTINCT-MEMBERS">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-ALL-DIFFERENT"/>

                   <rdfs:range rdf:resource="&a;owl_thing"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-ENUMERATION-CLASS"

                   rdfs:label=":OWL-ENUMERATION-CLASS">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-ANONYMOUS-CLASS"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-EQUIVALENT-SLOTS"

                   rdfs:label=":OWL-EQUIVALENT-SLOTS">

                   <rdfs:domain rdf:resource="&rdf;Property"/>

                   <rdfs:range rdf:resource="&rdf;Property"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-HAS-RESTRICTION"

                   rdfs:label=":OWL-HAS-RESTRICTION">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-RESTRICTION"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-INFERRED-DIRECT-TYPES"

                   rdfs:label=":OWL-INFERRED-DIRECT-TYPES">

                   <rdfs:range rdf:resource="&rdfs;Class"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-INFERRED-SUBCLASSES"

                   rdfs:label=":OWL-INFERRED-SUBCLASSES">

                   <rdfs:range rdf:resource="&rdfs;Class"/>

                   <rdfs:domain rdf:resource="&rdfs;Class"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-INFERRED-SUPERCLASSES"

                   rdfs:label=":OWL-INFERRED-SUPERCLASSES">

                   <rdfs:domain rdf:resource="&rdfs;Class"/>

                   <rdfs:range rdf:resource="&rdfs;Class"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-INTERSECTION-CLASS"

                   rdfs:label=":OWL-INTERSECTION-CLASS">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-LOGICAL-CLASS"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-INVERSE-FUNCTIONAL"

                   rdfs:label=":OWL-INVERSE-FUNCTIONAL">

                   <rdfs:domain rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:domain rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-LOGICAL-CLASS"

                   rdfs:label=":OWL-LOGICAL-CLASS">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-ANONYMOUS-CLASS"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-LOGICAL-OPERANDS"

                   rdfs:label=":OWL-LOGICAL-OPERANDS">

                   <rdfs:range rdf:resource="&rdf_;:OWL-CLASS"/>

                   <rdfs:domain rdf:resource="&rdf_;:OWL-LOGICAL-CLASS"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-MAXCARDI-RESTRICTION"

                   rdfs:label=":OWL-MAXCARDI-RESTRICTION">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-RESTRICTION"/>

    </rdfs:Class>

    <rdfs:Class rdf:about="&rdf_;:OWL-MINCARDI-RESTRICTION"

                   rdfs:label=":OWL-MINCARDI-RESTRICTION">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-RESTRICTION"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-ONTOLOGY-IMPORTS"

                   rdfs:label=":OWL-ONTOLOGY-IMPORTS">

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-ONTOLOGY-PREFIXES"

                   rdfs:label=":OWL-ONTOLOGY-PREFIXES">

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-ONTOLOGY-URI"

                   rdfs:label=":OWL-ONTOLOGY-URI">

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-RESOURCE-URI"

                   rdfs:label=":OWL-RESOURCE-URI">

                   <rdfs:domain rdf:resource="&rdf_;ExternalResource"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-RESTRICTION"

                   rdfs:label=":OWL-RESTRICTION">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-ANONYMOUS-CLASS"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-SLOT-NUMERIC-MAXIMUM-INCLUSIVE"

                   rdfs:label=":OWL-SLOT-NUMERIC-MAXIMUM-INCLUSIVE">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-ALL-RESTRICTION"/>

                   <rdfs:domain rdf:resource="&rdf_;:OWL-SOME-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-SLOT-NUMERIC-MINIMUM-INCLUSIVE"

                   rdfs:label=":OWL-SLOT-NUMERIC-MINIMUM-INCLUSIVE">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-ALL-RESTRICTION"/>

                   <rdfs:domain rdf:resource="&rdf_;:OWL-SOME-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-SOME-RESTRICTION"

                   rdfs:label=":OWL-SOME-RESTRICTION">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-RESTRICTION"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-SYMMETRIC"

                   rdfs:label=":OWL-SYMMETRIC">

                   <rdfs:domain rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;:OWL-TRANSITIVE"

                   rdfs:label=":OWL-TRANSITIVE">

                   <rdfs:domain rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdfs:Class rdf:about="&rdf_;:OWL-UNION-CLASS"

                   rdfs:label=":OWL-UNION-CLASS">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-LOGICAL-CLASS"/>

    </rdfs:Class>

    <rdf:Property rdf:about="&rdf_;:OWL-XML-SCHEMA-DATATYPE"

                   rdfs:label=":OWL-XML-SCHEMA-DATATYPE">

                   <rdfs:domain rdf:resource="&rdf;Property"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Description rdf:about="&rdf_;BehaviorismTh"

                   rdfs:label="BehaviorismTh">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;ConstructivismTh"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;EducationTheories"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;LearningStylesTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;MultipleIntellegenceTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;SocialCognitionTh"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;ConstructivismTh"

                   rdfs:label="ConstructivismTh">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;BehaviorismTh"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;EducationTheories"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;LearningStylesTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;MultipleIntellegenceTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;SocialCognitionTh"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;EducationTheories"

                   rdf_:protege:subclassesDisjoint="true"

                   rdfs:label="EducationTheories">

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

                   <rdfs:subClassOf rdf:resource="&a;owl_thing"/>

    </rdf:Description>

    <rdfs:Class rdf:about="&rdf_;ExternalResource"

                   rdfs:label="ExternalResource">

                   <rdfs:subClassOf rdf:resource="&a;owl_thing"/>

    </rdfs:Class>

    <rdf:Description rdf:about="&rdf_;FishBowlTT"

                   rdfs:label="FishBowlTT">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;JigSawTT"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;RoutinesTT"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;RulesTT"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;TeachingTactics"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;GenerativeStrategy"

                   rdfs:label="GenerativeStrategy">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;SupplantiveStrategy"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;TeachingStrategies"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;JigSawTT"

                   rdfs:label="JigSawTT">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;FishBowlTT"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;RoutinesTT"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;RulesTT"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;TeachingTactics"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;LearningStylesTh"

                   rdfs:label="LearningStylesTh">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;BehaviorismTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;ConstructivismTh"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;EducationTheories"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;MultipleIntellegenceTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;SocialCognitionTh"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;edu_Class_13"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;MultipleIntellegenceTh"

                   rdfs:label="MultipleIntellegenceTh">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;BehaviorismTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;ConstructivismTh"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;EducationTheories"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;LearningStylesTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;SocialCognitionTh"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;RoutinesTT"

                   rdfs:label="RoutinesTT">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;FishBowlTT"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;JigSawTT"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;RulesTT"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;TeachingTactics"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;RulesTT"

                   rdfs:label="RulesTT">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;FishBowlTT"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;JigSawTT"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;RoutinesTT"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;TeachingTactics"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;SocialCognitionTh"

                   rdfs:label="SocialCognitionTh">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;BehaviorismTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;ConstructivismTh"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;EducationTheories"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;LearningStylesTh"/>

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;MultipleIntellegenceTh"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;SupplantiveStrategy"

                   rdfs:label="SupplantiveStrategy">

                   <rdf_::OWL-DISJOINT-CLASSES rdf:resource="&rdf_;GenerativeStrategy"/>

                   <rdfs:subClassOf rdf:resource="&rdf_;TeachingStrategies"/>

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;TeachingStrategies"

                   rdf_:protege:subclassesDisjoint="true"

                   rdfs:label="TeachingStrategies">

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

                   <rdfs:subClassOf rdf:resource="&a;owl_thing"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;TeachingTactics"

                   rdf_:protege:subclassesDisjoint="true"

                   rdfs:label="TeachingTactics">

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

                   <rdfs:subClassOf rdf:resource="&a;owl_thing"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;basedTeachingStrategy"

                   rdf_::OWL-SYMMETRIC="false"

                   rdfs:label="basedTeachingStrategy">

                   <rdf:type rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;consistsofTeachingStrategy"

                   rdfs:label="consistsofTeachingStrategy">

                   <rdf:type rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;edu_Class_13"

                   rdfs:label="∃ consistsofTeachingStrategy SupplantiveStrategy">

                   <rdfs:subClassOf rdf:resource="&rdf_;:OWL-ANONYMOUS-ROOT"/>

                   <rdf:type rdf:resource="&rdf_;:OWL-SOME-RESTRICTION"/>

                   <rdf_:owl:someValuesFrom rdf:resource="&rdf_;SupplantiveStrategy"/>

                   <rdf_:owl:onProperty rdf:resource="&rdf_;consistsofTeachingStrategy"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;hasDefinedSteps"

                   rdfs:label="hasDefinedSteps">

                   <rdfs:domain rdf:resource="&rdf_;RulesTT"/>

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;hasFailureSuccess"

                   rdfs:label="hasFailureSuccess">

                   <rdfs:domain rdf:resource="&rdf_;RulesTT"/>

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;hasRuleObjective"

                   rdfs:label="hasRuleObjective">

                   <rdfs:domain rdf:resource="&rdf_;RulesTT"/>

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;hasTeachingTactics"

                   rdf_::OWL-INVERSE-FUNCTIONAL="false"

                   rdf_::OWL-SYMMETRIC="false"

                   rdfs:label="hasTeachingTactics">

                   <rdf:type rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;owl:Class"

                   rdfs:label="owl:Class">

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

                   <rdfs:subClassOf rdf:resource="&rdfs;Class"/>

    </rdf:Description>

    <rdfs:Class rdf:about="&rdf_;owl:DataRange"

                   rdfs:label="owl:DataRange">

                   <rdfs:subClassOf rdf:resource="&a;owl_thing"/>

    </rdfs:Class>

    <rdf:Description rdf:about="&rdf_;owl:DatatypeProperty"

                   rdfs:label="owl:DatatypeProperty">

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

                   <rdfs:subClassOf rdf:resource="&rdf;Property"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;owl:Nothing"

                   rdfs:label="owl:Nothing">

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

                   <rdfs:subClassOf rdf:resource="&a;owl_thing"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;owl:ObjectProperty"

                   rdfs:label="owl:ObjectProperty">

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

                   <rdfs:subClassOf rdf:resource="&rdf;Property"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;owl:Ontology"

                   rdfs:label="owl:Ontology">

                   <rdf:type rdf:resource="&rdf_;owl:Class"/>

                   <rdfs:subClassOf rdf:resource="&a;_system_class"/>

    </rdf:Description>

    <rdf:Property rdf:about="&rdf_;owl:allValuesFrom"

                   rdfs:label="owl:allValuesFrom">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-ALL-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Description rdf:about="&rdf_;owl:backwardCompatibleWith"

                   rdf_::OWL-ANNOTATION-PROPERTY="true"

                   rdfs:label="owl:backwardCompatibleWith">

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Property rdf:about="&rdf_;owl:cardinality"

                   rdfs:label="owl:cardinality">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-CARDI-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;owl:differentFrom"

                   rdfs:label="owl:differentFrom">

                   <rdfs:range rdf:resource="&a;owl_thing"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;owl:hasValue"

                   rdfs:label="owl:hasValue">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-HAS-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Description rdf:about="&rdf_;owl:incompatibleWith"

                   rdf_::OWL-ANNOTATION-PROPERTY="true"

                   rdfs:label="owl:incompatibleWith">

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Property rdf:about="&rdf_;owl:maxCardinality"

                   rdfs:label="owl:maxCardinality">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-MAXCARDI-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;owl:minCardinality"

                   rdfs:label="owl:minCardinality">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-MINCARDI-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;owl:onProperty"

                   rdfs:label="owl:onProperty">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdf;Property"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;owl:oneOf"

                   rdfs:label="owl:oneOf">

                   <rdfs:domain rdf:resource="&rdf_;owl:DataRange"/>

    </rdf:Property>

    <rdf:Description rdf:about="&rdf_;owl:priorVersion"

                   rdf_::OWL-ANNOTATION-PROPERTY="true"

                   rdfs:label="owl:priorVersion">

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Property rdf:about="&rdf_;owl:sameAs"

                   rdfs:label="owl:sameAs">

                   <rdfs:range rdf:resource="&a;owl_thing"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf_;owl:someValuesFrom"

                   rdfs:label="owl:someValuesFrom">

                   <rdfs:domain rdf:resource="&rdf_;:OWL-SOME-RESTRICTION"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Property>

    <rdf:Description rdf:about="&rdf_;owl:versionInfo"

                   rdf_::OWL-ANNOTATION-PROPERTY="true"

                   rdfs:label="owl:versionInfo">

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:abstract">

                   <rdfs:domain rdf:resource="&rdfs;Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:allowedParent">

                   <rdfs:domain rdf:resource="&rdf;Property"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:defaultLanguage">

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:excludedTest">

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:readOnly">

                   <rdfs:domain rdf:resource="&rdf;Property"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:subclassesDisjoint">

                   <rdfs:domain rdf:resource="&rdf_;owl:Class"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:todoPrefix">

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:todoProperty">

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:usedLanguage">

                   <rdfs:domain rdf:resource="&rdf_;owl:Ontology"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;protege:valuesComputer">

                   <rdfs:domain rdf:resource="&rdf;Property"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdf_;usedTeachingTacticsBy"

                   rdfs:label="usedTeachingTacticsBy">

                   <rdf:type rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Description>

    <rdf:Property rdf:about="&rdf;first"

                   rdfs:label="rdf:first">

                   <rdfs:domain rdf:resource="&rdf;List"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf;object"

                   rdfs:label="rdf:object">

                   <rdfs:domain rdf:resource="&rdf;Statement"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf;predicate"

                   rdfs:label="rdf:predicate">

                   <rdfs:domain rdf:resource="&rdf;Statement"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf;rest"

                   rdfs:label="rdf:rest">

                   <rdfs:range rdf:resource="&rdf;List"/>

                   <rdfs:domain rdf:resource="&rdf;List"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf;subject"

                   rdfs:label="rdf:subject">

                   <rdfs:domain rdf:resource="&rdf;Statement"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf;type"

                   rdfs:label="rdf:type">

                   <rdfs:range rdf:resource="&rdfs;Class"/>

    </rdf:Property>

    <rdf:Property rdf:about="&rdf;value"

                   rdfs:label="rdf:value"/>

    <rdf:Description rdf:about="&rdfs;comment"

                   rdf_::OWL-ANNOTATION-PROPERTY="true"

                   rdfs:label="rdfs:comment">

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdfs;isDefinedBy"

                   rdf_::OWL-ANNOTATION-PROPERTY="true"

                   rdfs:label="rdfs:isDefinedBy">

                   <rdf:type rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Description>

    <rdf:Description rdf:about="&rdfs;label"

                   rdf_::OWL-ANNOTATION-PROPERTY="true"

                   rdfs:label="rdfs:label">

                   <rdf:type rdf:resource="&rdf_;owl:DatatypeProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Literal"/>

    </rdf:Description>

    <rdf:Property rdf:about="&rdfs;member"

                   rdfs:label="rdfs:member">

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Property>

    <rdf:Description rdf:about="&rdfs;seeAlso"

                   rdf_::OWL-ANNOTATION-PROPERTY="true"

                   rdfs:label="rdfs:seeAlso">

                   <rdf:type rdf:resource="&rdf_;owl:ObjectProperty"/>

                   <rdfs:range rdf:resource="&rdfs;Resource"/>

    </rdf:Description>

    </rdf:RDF>