340 likes | 606 Views
TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge Management. OIL and DAML+OIL: Ontology Languages for the Semantic Web. 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr. Artificial Intelligence Laboratory, Pusan National University. Contents. The Semantic Web Pyramid of Languages
E N D
TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge Management OIL and DAML+OIL: Ontology Languages for the Semantic Web 2005. 1. 10. Sungshin Lim sslim@pusan.ac.kr Artificial Intelligence Laboratory, Pusan National University
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)
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
predicate Subject Object Equivalent! property Resource Value 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]
RDF: Why do we need RDF? Sungshin Limis the creator of the resource “http://klpl.re.pusan.ac.kr/page.html“. What is the correct way of expressing it? <creator> <fistName>Sungshin</fistName> <lastName>Lim</lastName> <documents> <uri>http://klpl.re.pusan. ac.kr/page.html</uri> </documents> </creator> <document href=”http://klpl.re. pusan.ac.kr/page.html”> <creator>Sungshin Lim</creator> </document> <creator> <name>Sungshin Lim</name> <uri>http://klpl.re.pusan.ac.kr/page.html</uri> </creator>
RDF: The RDF Data Model In RDF this sentence would be a triple: triple(page.html,creator,Sungshin Lim) creator(page.html,Sungshin Lim) creator page.html “Sungshin Lim“ Resource (subject) object Property (predicate) attribute Value (object) value
RDF: The RDF Data Model creator page.html “Sungshin Lim“ <rdf:RDF xmlns:rdf = “http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:dc = “http://http://purl.org/dc/elements/1.1/”> <rdf:Description rdf:about = “http://klpl.re.pusan.ac.kr/page.html”> <dc:creator>Sungshin Lim</dc:creator> </rdf:Description> </rdf:RDF>
Tutorial: RDF Namespace http://www.w3.org/1999/02/22-rdf-syntax-ns# ID about type resource Description
Tutorial: RDF Model (graph) Legend: Ellipse indicates "Resource" Rectangle indicates "literal string value"
Tutorial: rdf:Description + rdf:type <?xml version="1.0"?> <rdf:Description rdf:about="http://www.china.org/geography/rivers#Yangtze" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.geodesy.org/river#"> <rdf:type rdf:resource="http://www.geodesy.org/river#River"/> <length>6300 kilometers</length> <startingLocation>western China's Qinghai-Tibet Plateau</startingLocation> <endingLocation>East China Sea</endingLocation> </rdf:Description> This is read as: This is a Description about the resource http://www.china.org/geography/rivers#Yangtze. This resource is an instance of the River type (class). The http://www.china.org/geography/rivers#Yangtze 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: Alternative • Alternatively we can use rdf:ID rather than rdf:about, as shown here: <?xml version="1.0"?> <rdf:Descriptionrdf:ID="Yangtze" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.geodesy.org/river#" xml:base="http://www.china.org/geography/rivers"> <rdf:type rdf:resource="http://www.geodesy.org/river#River"/> <length>6300 kilometers</length> <startingLocation>western China's Qinghai-Tibet Plateau</startingLocation> <endingLocation>East China Sea</endingLocation> </rdf:Description>
RDF Schema • RDFS extends RDF with “schema vocabulary”, e.g.: • Class, Property • type, subClassOf, subPropertyOf • range, domain • RDF Schema for Simple Ontologies <rdfs:Class ref:about=“Book”/> <rdfs:Class ref:about=“HardCover”/> <rdfs:subClassOf ref:resource=“#Book”/> </rdfs:Class> <rdfs:Property rdf:about=“hasPrice”> <rdfs:domain rdf:resource=“#Book”/> </rdfs:Property>
RDFS: Core Classes and Properties rdfs:Resource rdfs:Literal rdfs:XMLLiteral rdfs:Class rdf:Property rdfs:DataType Core Classes rdfs:Type rdfs:SubClassOf rdfs:SubPropertyOf rdfs:Domain rdfs:Range rdfs:Label rdfs:Comment Core Properties
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 .
RDFS: Example <?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#" xml:base="http://example.org/schemas/vehicles"> <rdf:Description rdf:ID="MotorVehicle"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Description> <rdf:Description rdf:ID="PassengerVehicle"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description rdf:ID="Truck"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description rdf:ID="Van"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description rdf:ID="MiniVan"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#Van"/> <rdfs:subClassOf rdf:resource="#PassengerVehicle"/> </rdf:Description> </rdf:RDF> The Vehicle Class Hierarchy in RDF
RDFS: Example <?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#" xml:base="http://example.org/schemas/vehicles"> <rdfs:Class rdf:ID="MotorVehicle"/> <rdfs:Class rdf:ID="PassengerVehicle"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="Truck"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="Van"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdfs:Class> <rdfs:Class rdf:ID="MiniVan"> <rdfs:subClassOf rdf:resource="#Van"/> <rdfs:subClassOf rdf:resource="#PassengerVehicle"/> </rdfs:Class> </rdf:RDF> The Vehicle Class Hierarchy Using the Typed Node Abbreviation
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
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.
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)
DAML+Oil example: Namespace, Header • Namespace • Header • Version information • Comments • Imports
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. Multiple superclasses subClassOf
DAML+Oil example: Property • Object properties • Datatype properties
DAML+Oil example: Property Restrictions • Restriction defines an anonymous class, namely the class of all things that satisfy the restriction.
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:
DAML+Oil example: Notations for Properties UniqueProperty inverseOf TransitiveProperty samePropertyAs
DAML+Oil example: Notations for Classes complementOf disjointUnionOf intersectionOf sameClassAs
The semantic web pyramid of languages Semantics+reasoning Relational Data Data Exchange
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
Web Ontology Language (OWL) • 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.
Origins of OWL DARPA Agent Markup Language Ontology Inference Layer DAML OIL RDF EU/NSF Joint Ad hoc Committee DAML+OIL All influenced by RDF OWL Lite OWL DL OWL Full A W3C Recommendation OWL
OWL • OWL and RDF Schema enable rich machine-processable semantics RDFS OWL <rdfs:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> </rdfs:Class> Semantics RDF Schema OWL Syntax XML/DTD/XML Schemas <owl:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> </owl:Class>