OIL and DAML+OIL: Ontology Languages for the Semantic Web Sungshin Lim TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge Management Artificial Intelligence Laboratory, Pusan National University
Page Contents The Semantic Web Pyramid of Languages XML for Data Exchange Resource Description Framework (RDF) RDF Schema Ontology Inference Layer (OIL) DAML+OIL Web Ontology Language (OWL)
Page The Semantic Web Pyramid of Languages
Page XML for Data Exchange XML is designed for mark-up in documents of arbitrary structure XML provides a standardized syntactical way to expose structural information DTD defines a grammar to specify allowable combinations and nesting of tag names, attribute names, and so on. Although XML Schema offers several advantages over DTDs, their role is essentially the same. XML is used to server a range of purposes: –Serialization syntax for other mark-up languages e.g. Synchronized Multimedia Integration Language (SMIL) –Separating form from content E.g. XSL –Uniform data-exchange format
Page Resource Description Framework (RDF) RDF –is designed to standardize the definition –use of meta-data descriptions of web-based resource –is suited to representing data Basic building block –object–attribute-value –A(O,V) –[O] – A ->[V] Subject Object predicate Resource Value property Equivalent!
Page RDF: Why do we need RDF? Sungshin Lim Sungshin Lim is the creator of the resource “ Sungshin Lim ac.kr/page.html Sungshin Lim ac.kr/page.html What is the correct way of expressing it?
Page RDF: The RDF Data Model In RDF this sentence would be a triple: triple(page.html,creator,Sungshin Lim) creator(page.html,Sungshin Lim) page.html“Sungshin Lim“ creator Resource (subject) object Property (predicate) attribute Value (object) value
Page RDF: The RDF Data Model page.html creator <rdf:RDF xmlns:rdf = “ xmlns:dc = “ Sungshin Lim “Sungshin Lim“
Page ID about type resource Description Tutorial: RDF Namespace
Page Legend: Ellipse indicates "Resource" Rectangle indicates "literal string value" Tutorial: RDF Model (graph)
Page <rdf:Description rdf:about=" xmlns:rdf=" xmlns=" kilometers western China's Qinghai-Tibet Plateau East China Sea This is read as: This is a Description about the resource This resource is an instance of the River type (class). The resource has a length of 6300 kilometers, a startingLocation of western China's Qinghai-Tibet Plateau, and an endingLocation of the East China Sea." Tutorial: rdf:Description + rdf:type
Page <rdf:Description rdf:ID="Yangtze" xmlns:rdf=" xmlns=" xml:base=" kilometers western China's Qinghai-Tibet Plateau East China Sea Tutorial: Alternative Alternatively we can use rdf:ID rather than rdf:about, as shown here:
Page RDF Schema RDFS extends RDF with “ schema vocabulary ”, e.g.: –Class, Property –type, subClassOf, subPropertyOf –range, domain RDF Schema for Simple Ontologies
Page RDFS: Core Classes and Properties Core Classes Core Properties rdfs:Resource rdfs:Literal rdfs:XMLLiteral rdfs:Class rdf:Property rdfs:DataType rdfs:Type rdfs:SubClassOf rdfs:SubPropertyOf rdfs:Domain rdfs:Range rdfs:Label rdfs:Comment
Page RDFS: Example A Vehicle Class Hierarchy This schema could also be described by the triples: ex:MotorVehicle rdf:type rdfs:Class. ex:PassengerVehicle rdf:type rdfs:Class. ex:Van rdf:type rdfs:Class. ex:Truck rdf:type rdfs:Class. ex:MiniVan rdf:type rdfs:Class. ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle. ex:Van rdfs:subClassOf ex:MotorVehicle. ex:Truck rdfs:subClassOf ex:MotorVehicle. ex:MiniVan rdfs:subClassOf ex:Van. ex:MiniVan rdfs:subClassOf ex:PassengerVehicle.
Page RDFS: Example <rdf:RDF xmlns:rdf=" xmlns:rdfs=" xml:base=" The Vehicle Class Hierarchy in RDF
Page RDFS: Example <rdf:RDF xmlns:rdf=" xmlns:rdfs=" xml:base=" The Vehicle Class Hierarchy Using the Typed Node Abbreviation
Page Ontology Inference Layer (OIL) Ontology Inference Layer or Ontology Interchange Language a Web-based representation and inference layer for ontologies uses frame-based systems, description logics, and Web standards Frame-based Systems –Classes (frames) with properties (attributes, slots) Description Logics –describe knowledge in terms of concepts and role restrictions Web Standards: XML and RDF –extension of RDF and RDF Schema –compatible with RDF Schema (RDFS), and includes a precise semantics for describing term meanings
Page Capabilities of OIL Support hierarchies of classes and properties –based on subclass and subproperty relations Allow classes to be built from other classes –using combinations of intersection (AND), union (OR), and complement (NOT) Allow the domain, range, and cardinality of properties to be restricted Support transitive and inverse properties Support concrete data types –integers, strings, etc.
Page Example: OIL Ontology
Page DARPA Agent Markup Language + OIL (DAML+OIL) Two languages developed to satisfy above requirements –OIL: developed by group of (largely) European researchers (several from OntoKnowledge project) –DAML-ONT: developed by group of (largely) US researchers (in DARPA DAML programme) Efforts merged to produce DAML+OIL –Development was overseen by joint EU/US committee DAML+OIL –a semantic markup language for Web resources –builds on earlier W3C standards such as RDF and RDF Schema, and extends these languages with richer modeling primitives –provides modeling primitives commonly found in frame-based languages –A DAML+OIL ontology consists of headers, class elements, property elements, and instances OWL (Web Ontology Language)
Page DAML+Oil example: Namespace, Header Namespace Header –Version information –Comments –Imports
Page DAML+Oil example: Class Defining Classes –In order to describe objects, it is useful to define some basic types. This is done by giving a name for a class, which is the subset of the universe which contains all objects of that type. subClassOf Multiple superclasses
Page DAML+Oil example: Property Object properties Datatype properties
Page DAML+Oil example: Property Restrictions Restriction defines an anonymous class, namely the class of all things that satisfy the restriction.
Page DAML+Oil example: Addition to Existing Class If we want to add to a defined class, we need not modify previous statement, but we can simply add a class description:
Page DAML+Oil example: Notations for Properties UniqueProperty inverseOf TransitiveProperty samePropertyAs
Page DAML+Oil example: Notations for Classes complementOf disjointUnionOf intersectionOf sameClassAs
Page DAML+Oil example: Defining Individuals
Page The semantic web pyramid of languages Data Exchange Semantics+reasoning Relational Data
Page From RDF to OWL Two languages developed by extending (part of) RDF –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 programme) 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 Recommendation
Page OWL is now a W3C Recommendation The purpose of OWL is identical to RDFS i.e. to provide an XML vocabulary to define classes, properties and their relationships. –RDFS enables us to express very rudimentary relationships and has limited inferencing capability. –OWL enables us to express much richer relationships, thus yielding a much enhanced inferencing capability. The benefit of OWL is that it facilitates a much greater degree of inferencing than you get with RDF Schema. Web Ontology Language (OWL)
Page Origins of OWL RDF DAML+OIL DARPA Agent Markup Language A W3C Recommendation OIL OWL All influenced by RDF Ontology Inference Layer EU/NSF Joint Ad hoc Committee DAML OWL Lite OWL DL OWL Full
Page OWL OWL and RDF Schema enable rich machine-processable semantics XML/DTD/XML Schemas RDF Schema OWL Semantics Syntax RDFS OWL