Ontologies Knowledge representation to support computer reasoning INF 384 C, Spring 2009 Outline • What is an ontology? • How are ontologies different from other forms of organizational schemes? • What is the Semantic Web, and how does it relate to ontologies? INF 384 C, Spring 2009 Ontology basics An ontology is a system of related concepts (or classes; essentially categories of things) in a particular domain. The ontology specifies attributes (or slots, or roles, or properties) pertinent to the concepts. The structure provided by the ontology (via both relationships and constraints on attribute values) enables the generation of inferences, or conclusions, based on logical reasoning. INF 384 C, Spring 2009 Reasoning with class hierarchy With an ontology of languages, I could reason, based on the principle of hierarchical inheiritance and the degree of relationship, that, as an English speaker, it would be easier for me to learn French than to learn Arabic, because French is more closely related to English. INF 384 C, Spring 2009 Reasoning with slot values If a slot in the Language class specifies the script each language instance uses, then we know, via the ontology, that English and French are written using the Roman alphabet, while Russian uses the Cyrillic alphabet. Based on this information, one might reason that French is easier for an English speaker to learn than Russian, even though Russian and French are both Indo-European. INF 384 C, Spring 2009 Ontology elements Ontologies consist of classes. Each class defines a category of entities (for example, Indo-European Languages). Slots (such as Script) define attributes for each class. Subclasses, related taxonomically to a class (such as Romance Languages for Indo-European Languages), inheirit the slots of the superclass. (So if Script is a slot for the root class Languages, then Romance Languages also have a slot for Script.) Ontology structure Ontologies are often composed of multiple hierarchies that are linked in a web of associative relationships. For example, a Languages ontology might include a class that defines scripts, or systems of writing. The Script class is not a subclass of the Language class. The Script class provides values for the Script slot in the Language class. The Script class may itself have subclasses, such as Alphabet and Syllabary. Ontology relationships Subclasses of Script are related to languages through a slot in the Language class. INF 384 C, Spring 2009 Classes and instances A class is like a schema; it defines and category and associated properties. Actual entities (such as English and French) are instances of particular classes (Germanic Languages and Romance Languages, respectively). In the Languages example, English, French, and Russian share common superclasses, including Indo-European Languages and Languages. They thus all have the slots specified by these superclasses, including Script. English and French have the same value—the Roman alphabet—for the Script slot, while Russian has the Cyrillic alphabet as its value for Script. Properties of slots Slots may be defined independently from classes (and thus used in multiple classes). The range specifies the values that can apply to the slot. The values for a Script slot might be restricted to instances of a Script class. (Values might also be simple strings or numbers, not class instances; a Name slot might be just a string.) The domain specifies the classes that can include the slot. A Script slot’s domain might be the Language class. A slot’s cardinality indicates how many values the slot can have. Ontologies and other organizational schemes Ontologies may sound complicated, but they are similar to other organizational schemes that we have seen. Ontologies include more information about concepts than taxonomies do (via slots) and include more complex relationships (also via slots). In a typical metadata schema, attribute values are just values: strings, numbers. In an ontology, slots are often members of a defined class, which may themselves have slots that are members of a defined class, forming a web of structured information. The Semantic Web The Semantic Web, envisioned by Tim BernersLee and others, describes a version of the Web where statements can be made about identified resources. The statements then make up a sort of knowledge base that can computers can use for logical reasoning. Semantic Web statements: RDF Statements in the Semantic Web are made using the Resource Description Framework, or RDF. RDF encodes triples, or simple sentences, that indicate the subject, verb (or predicate), and object of a statement. An RDF statement might indicate that a Web page (the subject) has an author (the verb) who is me (the object). A statement: http://www.ischool.utexas.edu/~feinberg/ has a creator whose value is “Melanie Feinberg” Semantic Web identifiers: URIs Any element of an RDF statement can be indicated with a URI, or Uniform Resource Identifier. The URI uniquely identifies each element. The resource identified with each URI is therefore precisely defined (e.g., the URI for “is an author of” might indicate what authorship means, encoded in RDF/XML; the URI for “Melanie Feinberg” might provide information about me). RDF statements An RDF statement that assigns authorship of my Web site to me might look like this, using URIs: <http://www.ischool.utexas.edu/~feinberg/> <http://purl.org/dc/elements/1.1/creator> <http://www.ischool.utexas.edu/people/person_details.php ?PersonID=134> When RDF statements refer to URIs, the values associated with any URI can change without invalidating associated statements. (For example, the Dublin Core could change its definition of “Creator.”) Also you specify the “Melanie Feinberg” who is me, and not another “Melanie Feinberg.” Semantic Web data structures More sophisticated data structures can be defined with RDF Schema, a way of encoding properties (such as “Creator”) and classes (such as “Person”) with RDF/XML. One example of such a data structure is the Simple Knowledge Organization System (SKOS), with which one can encode thesauri and other organizational schemes in RDF, to be more easily manipulated by computers. Your mission • Continue creating the classified structure of your subject language. • Begin creating the alphabetical display and writing up your introduction. • Bring a draft of your classified and alphabetic schedules to class next week for peer feedback sessions.