CS570 Artificial Intelligence Semantic Web & Ontology 2 2003. 12. 8 Kwak Nohyun Lee youn-ki Hwang young-bae
Contents Why do we need the semantic web ? What is the semantic web? XML RDF Ontology DAML+OIL Applications Other issues
Why is the Semantic Web needed? WWW is increasing very seriously. There are some troubles in web search. It is difficult to deal with many HTML documents intelligently. We can’t extend, integrate, share information easily. So, we need something else.
What can we do in Semantic Web? Make the machine understand data in existing web Very correct search in web Inferences(New Information) Intelligent software agent Easy extension, sharing, integration of information
What is the Semantic Web? "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." -- Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001
Semantic Web’s Layered Structure Data: XML Resource RDF, RDFS Knowledge Ontology Inference AI Agent
What is the Semantic Web? Web for machine(not human) Intelligent Web An extension of current web A network of knowledge(not information) decentralized Focus on the meaning(semantics)
XML XML : Document format for computer to read easily Markup language Contrast to HTML, user make his/her own tag in XML and XML does not focus how to show the document, but what to mean Provide possibility of the infinite expression Tree structure
The standard Hollywood …. XML Example show <show type="Movie"> <title>Fugitive, The</title> <year>1993</year> <aka>Auf der Flucht</aka> <aka>Fuggitivo, Il</aka> <review> <nyt> The standard Hollywood summer movie strikes back. </nyt> </review> <box_office>183,752,965</box_office> <video_sales>72,450,220</video_sales> </show> title ······ review Fugitive, The nyt The standard Hollywood ….
RDF(Resource Description Framework) Concepts An infrastructure that enables the encoding, exchange and reuse of structured metadata An application of XML Impose structural constraints to provide unambiguous methods of expressing semantics Means for publishing both human-readable and machine-processable vocabularies
The Design Goals of RDF A simple data model Formal semantics and inference URI-based vocabulary XML-based syntax Support use of XML schema data types
The RDF Data Model Basic type Subject Object Property Resources : Any object that is uniquely identifiable by an URI(Uniform Resource Identifier) Properties : a specific attribute used to describe a resource Statement Subject Predicate Object Subject Object Property
The RDF Data Model Example1 Statement : http://www.example.org/index.html has a creation-date whose value is August 16, 1999 . (Does machine know that the creation-date of above homepage is August 16, 1999?) RDF Statement A subject http://www.example.org/index.html A predicate(property) http://www.example.org/terms/creation-date An object August 16, 1999
The RDF Data Model Example1 http://www.example.org/index.html http://purl.org/dc/elements/1.1/creation-date August 16, 1999
The RDF Data Model Example1 RDF/XML : <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:exterms="http://www.example.org/terms/"> <rdf:Description rdf:about="http://www.example.org/index.html"> <exterms:creation-date>August 16, 1999</exterms:creation-date> </rdf:Description> </rdf:RDF>
The RDF Data Model Example2 Additional statements http://www.example.org/index.html has a creator whose value is John Smith. http://www.example.org/index.html has a language whose value is English.
The RDF Data Model Example2 http://www.example.org/index.html http://purl.org/dc/elements/1.1/creator http://www.example.org/terms/creation-date http://www.example.org/staffid/85740 August 16, 1999 http://www.example.org/terms/language English
The RDF Data Model Example2 <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exterms="http://www.example.org/terms/"> <rdf:Description rdf:about="http://www.example.org/index.html"> <exterms:creation-date>August 16, 1999</exterms:creation-date> <exterms:language>English</exterms:language> <dc:creator rdf:resource="http://www.example.org/staffid/85740"/> </rdf:Description> </rdf:RDF>
RDF Vocabulary Description Language : RDF Schema An extension of RDF Used to declare vocabularies Provides the mechanisms needed to specify classes and properties Provides a type system for RDF Not provide a specific vocabulary of application-oriented classes
RDF Schema Summary classes properties rdfs:Class rdfs:Datatype rdfs:Container rdfs:Literal ... properties rdfs:subClassOf rdfs:subPropertyOf rdfs:domain rdfs:range rdfs:comment rdfs:member rdfs:seeAlso ...
RDFS example1 MiniVan Truck subClassOf subClassOf subClassOf PassengerVehicle Van subClassOf subClassOf MotorVehicle
RDFS example1 The Vehicle Class Hierachy in RDF/XML <?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#"> <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"> <rdfs:subClassOf rdf:resource="#MotorVehicle"/>
RDFS example1 <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:Description rdf:ID="MiniVan"> <rdfs:subClassOf rdf:resource="#Van"/> <rdfs:subClassOf rdf:resource="#PassengerVehicle"/> </rdf:RDF>
RDFS example1 An instance of MotorVehicle <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“ xmlns:ex="http://example.org/schemas/vehicles"> <rdf:Description rdf:ID="companyCar"> <rdf:type rdf:resource="http://example.org/schemas/vehicles#MotorVehicle"/> </rdf:Description> </rdf:RDF>
Knowledge Representation There exist same words having different meanings or different words having same meanings. Computer can’t understand natural languages. We need the special method for knowledge representation.
Ontology Philosophy A theory about the nature of existence A systematic account of existence A method for describing entities and relationships among entities An explicit specification of a conceptualization Means of describing semantics A heart of the Semantic Web The most typical kind of ontology A taxonomy and a set of inference rules
Representation Language for Ontology Based on First Order logic Ontololingua Loom Frame-Logic Based on XML(because of standardization) SHOE(Simple HTML Ontology Extensions) Resource Description Framework Schema Language(RDFS) DAML(DARPA Agent Markup Language ) OIL(Ontology Inference Layer) Ontology Web Language(OWL)
Why develop an ontology? To share common understanding of the structure of information among people or software agents To enable reuse of domain knowledge To analyze domain knowledge
DAML+OIL Web Ontology Language DAML(DARPA Agent Markup Language) + OIL(Ontology Inference Layer) DAML+OIL => OWL DAML or OIL is extension of RDF Schema
DAML+OIL Example Elemens: intersectionOf unionOf minCardinalityQ <daml:Class rdf:about="#Person"> <rdfs:comment>every person is a man or a woman</rdfs:comment> <daml:disjointUnionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#Man"/> <daml:Class rdf:about="#Woman"/> </daml:disjointUnionOf> </daml:Class> Elemens: intersectionOf unionOf minCardinalityQ maxCardinalityQ ...
Application Example
Other Issues
Reference http://www.w3.org/ http://www.w3.org/2001/sw/ http://www.w3.org/RDF/ http://www.w3.org/XML/ http://www.daml.org/ Berners-Lee, T., Hendler, J. and Lassila, O., “The Semantic Web,” Scientific American, 2001 Decker,S., Melnik, S., Van Harmelen, “The Semantic Web: the roles of XML and RDF”, IEEE Internet Computing, 2000 McGuiness, D., “DAML+OIL: an ontology language for the Semantic Web,” IEEE Intelligent Systems, 2002