350 likes | 483 Views
Gadjah Mada University - Yogyakarta - Indonesia. 10-Sep-02. Page 1. Faculty of Mathematics and Natural Sciences. Using DAML+OIL to Enrich RDF Schema for the Information Integration. Ahmad Ashari IIWAS 2002 Bandung - Indonesia Sept 10 th -12 th 2002. Outline. Information Integration
E N D
Gadjah Mada University - Yogyakarta - Indonesia 10-Sep-02 • Page 1 Faculty of Mathematics and Natural Sciences Using DAML+OIL to Enrich RDF Schema for the Information Integration Ahmad Ashari IIWAS 2002 Bandung - Indonesia Sept 10th-12th 2002
Outline • Information Integration • Resource Description Framework (RDF) • DAML+OIL • RDF Schema vs DAML+OIL • Conclusion and Future work
Information Integration • There are three type of information integration task: • Technical Integration already done with TCP/IP, HTTP, FTP, etc. • Syntactic Integration also already done with HTML • Semantic Integration Semantic Web in the future
Integration Problem • Too much unintegrated data: • from a variety of incompatible sources • no standard naming convention • each with a custom browsing and querying mechanism (no common interface) • and poor interaction with other data sources
Data Sources • Flat Files • URLs • Proprietary Databases • Public Databases • Spreadsheets • Emails • Etc.
Outline • Information Integration • Resource Description Framework (RDF) • DAML+OIL • RDF Schema vs DAML+OIL • Conclusion and Future work
Resource Description Framework • Resource Description Framework (RDF): • (Syntactical) basis of the “semantic web” • Similar to semi-structured data: graphs (RDF ~ OEM) • Three basic object types: • resources: all things being described; named by URIs • properties: attributes to describe a resource • statements: subject + predicate + object; are all resources (object can also be a literal) • Example: • “the creator of this home page is Ahmad Ashari” • subject: http://www.ifs.tuwien.ac.at/~ashari/ • predicate: http://www.purl.org/dc/.../creator • object: “Ahmad Ashari”
RDF Model and Syntax http://www.ifs.tuwien.ac.at/~ashari/ dc:creator Ahmad Ashari • Representation • Model as graph: • Serialized in XML syntax (“RDF/XML”): <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:dc="http://www.purl.org/dc/elements/1.0/"> <rdf:Description about="http://www.ifs.tuwien.ac.at/~ashari/"> <dc:creator>Ahmad Ashari</dc:creator> </rdf:Description> </rdf:RDF>
RDF Schema • RDF = simple data model • RDF Schema allows definition of vocabularies for RDF data • Simple frame system / ontology language: • – classes, subclasses, properties, sub-properties, domain, range • Extension of RDF in RDF
XML Name Space • XML Name Space (XMLNS)are use for abbreviated a Universal • Resource Identifier (URI) for example: • xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“ for rdf, which point to RDF Model and Syntax Specification URI • xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#“ for rdfs, which point to RDF Schema Specification URI
Outline • Information Integration • Resource Description Framework (RDF) • DAML+OIL • RDF Schema vs DAML+OIL • Conclusion and Future work
DAML • DAML or DARPA Agent Markup Language is a language created by DARPA as an ontology and inference language based upon RDF • DAML takes RDF Schema a step further, by giving us more in depth properties and classes • DAML allows one to be even more expressive than with RDF Schema, and brings us back on track with our Semantic Web discussion by providing some simple terms for creating inferences
DAML Language • 2001-03: DAML+OIL (March 2001) • 2000-12: DAML+OIL (December 2000) • 2000-10: DAML-ONT • 2000-08: DAML 0.5
DAML+OIL • Bringing together DAML’s ontology language and OIL • OIL stand for Ontology Inference Layer or Ontology Interchange Language • Ontology is a formal, explicit specification of a sharedconceptualization • Keeps OIL’s mapping to Description Logic. • OIL support for Frame Based and Description Logic • Use XML syntax and extension of RDF • Support for concrete types (from XML Schema)
Outline • Information Integration • Resource Description Framework (RDF) • DAML+OIL • RDF Schema vs DAML+OIL • Conclusion and Future work
RDF Schema vs DAML+OIL • Class definition for enumeration • <daml:Class rdf:ID="Height"> • <daml:oneOf rdf:parseType="daml:collection"> • <Height rdf:ID="short"/> • <Height rdf:ID="medium"/> • <Height rdf:ID="tall"/> • </daml:oneOf> • </daml:Class>
Class definition for a property • <daml:Class rdf:ID="TallThing"> • <daml:sameClassAs> • <daml:Restriction> • <daml:onProperty rdf:resource="#hasHeight"/> • <daml:hasValue rdf:resource="#tall"/> • </daml:Restriction> • </daml:sameClassAs> • </daml:Class>
Datatype Property • <daml:DatatypeProperty rdf:ID="age"> • <rdf:type rdf:resource="&daml;#UniqueProperty"/> • <rdfs:range rdf:resource= "&xmlschema;#nonNegativeInteger"/> • </daml:DatatypeProperty>
Object Property • <daml:ObjectProperty rdf:ID="hasParent"> • <rdfs:domain rdf:resource="#Animal"/> • <rdfs:range rdf:resource="#Animal"/> • </daml:ObjectProperty> • <daml:ObjectProperty rdf:ID="hasFather"> • <rdfs:subPropertyOf rdf:resource="#hasParent"/> • <rdfs:range rdf:resource="#Male"/> • </daml:ObjectProperty>
Instances • <continent rdf:ID="Asia"/> • <rdf:Description rdf:ID="Asia"> • <rdf:type> • <rdfs:Class rdf:about="#continent"/> • </rdf:type> • </rdf:Description> • <rdf:Description rdf:ID="India"> • <is_part_of rdf:resource="#Asia"/> • </rdf:Description>
Unique Property • <daml:UniqueProperty rdf:ID="hasMother"> • <rdfs:subPropertyOf rdf:resource="#hasParent"/> • <rdfs:range rdf:resource="#Female"/> • </daml:UniqueProperty> • Cardinality=1
Inverse and Transitivity • <daml:ObjectProperty rdf:ID="hasChild"> • <daml:inverseOf rdf:resource="#hasParent"/> • </daml:ObjectProperty> • <daml:TransitiveProperty rdf:ID="hasAncestor"/> • <daml:TransitiveProperty rdf:ID="descendant"/>
Broadening Classes • <daml:Class rdf:ID="Male"> • <rdfs:subClassOf rdf:resource="#Animal"/> • </daml:Class> • <daml:Class rdf:ID="Female"> • <rdfs:subClassOf rdf:resource="#Animal"/> • <daml:disjointWith rdf:resource="#Male"/> • </daml:Class> • <daml:Class rdf:ID="Woman"> • <rdfs:subClassOf rdf:resource="#Person"/> • <rdfs:subClassOf rdf:resource="#Female"/> • </daml:Class>
Sub-class • <daml:Class rdf:ID="Person"> • <rdfs:subClassOf rdf:resource="#Animal"/> • <rdfs:subClassOf> • <daml:Restriction> • <daml:onProperty rdf:resource="#hasParent"/> • <daml:toClass rdf:resource="#Person"/> • </daml:Restriction> • </rdfs:subClassOf> • Person : (and Animal (all (restrict hasParent Person))
Sub-class (2) • <rdfs:subClassOf> • <daml:Restriction daml:cardinality="1"> • <daml:onProperty rdf:resource="#hasFather"/> • </daml:Restriction> • </rdfs:subClassOf> • <rdfs:subClassOf> • <daml:Restriction> • <daml:onProperty rdf:resource="#shoesize"/> • <daml:minCardinality>1</daml:minCardinality> • </daml:Restriction> • </rdfs:subClassOf> • (atmost 1 father) (atleast 1 shoesize))
Sub-clas (3) • <daml:Class rdf:about="#Person"> • <rdfs:subClassOf> • <daml:Restriction daml:maxCardinalityQ="1"> • <daml:onProperty rdf:resource="#hasOccupation"/> • <daml:hasClassQ rdf:resource="#FullTimeOccupation"/> • </daml:Restriction> • </rdfs:subClassOf> • </daml:Class>
Complement Class • <daml:Class rdf:ID="Car"> • <rdfs:subClassOf> • <daml:Class> • <daml:complementOf rdf:resource="#Person"/> • </daml:Class> • </rdfs:subClassOf> • </daml:Class>
Disjoint Class • <daml:Class rdf:about="#Person"> • <daml:disjointUnionOf rdf:parseType="daml:collection"> • <daml:Class rdf:about="#Man"/> • <daml:Class rdf:about="#Woman"/> • </daml:disjointUnionOf> • </daml:Class>
Equivalent Class • <daml:Class rdf:ID="HumanBeing"> • <daml:sameClassAs rdf:resource="#Person"/> • </daml:Class>
Intersection Class • <daml:Class rdf:ID="TallMan"> • <daml:intersectionOf rdf:parseType="daml:collection"> • <daml:Class rdf:about="#TallThing"/> • <daml:Class rdf:about="#Man"/> • </daml:intersectionOf> • </daml:Class>
Comparison Summary • Feature RDFS DAML+OIL • Syntax XML RDF • Basic Datatypes only one use XSDL type • Enumeration of Property Values No Yes • Bounded Lists No Yes • Transitive Properties No Yes • Negation No Yes • Disjunctive / Disjoint No Yes • Intersection No Yes
Inference vs Information Integration • The principle of “inference” is being able to derive new data from data that we already know • Querying is a form of inference (being able to infer some search results from a mass of data, for example) • Inference is one of the driving principles of Information Integration
RDF Schema Model • rdf := 'http://www.w3.org/...rdf-syntax-ns#'. • rdfs := 'http://www.w3.org/.../PR-rdf-schema-...#'. • type := rdf:type. • subPropertyOf := rdfs:subPropertyOf. • subClassOf := rdfs:subClassOf. • FORALL Mdl @rdfschema(Mdl) { • transitive(subPropertyOf). • transitive(subClassOf). • FORALL O,P,V O[P->V] <- O[P->V]@Mdl. • FORALL O,P,V O[P->V] <- EXISTS S (S[subPropertyOf->P] AND O[S->V]). • FORALL O,P,V O[P->V] <- transitive(P) AND EXISTS W (O[P->W] AND W[P->V]). • FORALL O,T O[type->T] <- EXISTS S (S[subClassOf->T] AND O[type->S]). • }
DAML+OIL • daml := 'http://www.daml.org/.../daml+oil#'. • animals := 'http://www.example.org/animals#'. • @animals:ontology { • animals:Animal[rdf:type -> daml:Class]. • animals:Herbivore[rdf:type -> daml:Class; rdfs:subClassOf -> animals:Animal]. • animals:Carnivore[rdf:type -> daml:Class; rdfs:subClassOf -> animals:Animal; • daml:disjointWith -> animals:Herbivore]. • animals:Omnivore[rdf:type -> daml:Class; rdfs:subClassOf -> animals:Herbivore; • rdfs:subClassOf -> animals:Carnivore]. • } • FORALL Ont @check(Ont) { • FORALL C unsatisfiable(C) <-C[ • daml:subClassOf -> daml:Nothing]@daml_oil(Ont). • }
Conclusion and Future Work • DAML+OIL system can enrich RDF and RDFS, which is with this ontology based language we can eliminate the limitation of RDF Schema in describing the meaning of each information sources. • In the previous work we already used RDF and RDF Schema for the Information Integration in tourism domain. DAML+OIL introduces many constructs and richer than RDF and RDFS, therefore in the future our works will use DAML+OIL for the Information Integration in the same or other domain.