7d5cd86895bfcf5b382d3e26ab00d73d.ppt
- Количество слайдов: 46
State of the Art in Semantic Web standards and technologies Andreas Duscher
State of the Art in Semantic Web Standards and Technologies General Overview l RDF / RDF Schema l OWL-S l Final words l
Today´s web l l l Þ It is designed for human consumption Information retrieval is mainly supported by keyword-based search engines Some problems with information retrieval: l High recall, low precision l Low or no recall l Results are highly sensitive to vocabulary Web content is not machine-proccessable „I am a professor of computer science. “ -- or -„I am a professor of computer science, you may think. Well…. “
Semantic Web Vision „The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. “ [http: //www. w 3. org/2001/sw/] Problem „Business-to-consumer electronic commerce“ Vision „Business-to-consumer electronic commerce“ • Manually retrieving the best offers from different online-shops is too time-consuming. • Tools for shoping are available in the form of shop bots. • For every online shop a wrapper is needed (information is extracted through text analysis). • The user asks a autonomously acting piece of software for a certain product. • The software retrieves all offers and compares them with the user‘s preferences. • If needed the sofware negotiates with the shop for a special discount or tries to get a trusted rating for the shop.
Semantic Web Technologies l Ontologies l l An ontology describes formally a domain of discourse. It is a finite list of terms and the relationship between these terms. Types of relationship: subclass hierarchy, properties, value restrictions, logical relationships between objects „In the context of web an ontology provide a shared understanding of a domain. “
Semantic Web Technologies l Logic l l „A discipline that studies the principles of reasoning. “ Automated reasoners allow to draw conclusions from given knowledge, make implicit knowledge explicit. prof(X) -> faculty(X) -> staff(X) prof(michael)
Semantic Web Technologies l Logic l l „A discipline that studies the principles of reasoning. “ Automated reasoners allow to draw conclusions from given knowledge, make implicit knowledge explicit. prof(X) -> faculty(X) -> staff(X) prof(michael) faculty(michael) staff(michael) prof(X) -> staff(X) This example involves knowledge typically found in ontologies.
Semantic Web Technologies l Agents l l l Agents are pieces of software that work autonomously and proactively. A personal agent would recieive some task and preferences from the user, communicate with other agents, compare information and select certain choices. Web services l collection of protocols and standard for exchanging data between various applications
Semantic Web Technologies l How it fits together? l Onotologies can be used to represent knowledge, interpret the retrieved information and communicate with other agents. l Logic can be used for processing the retrieved information and for drawing conclusions. l Agent / Web service technologies allow the communication between different systems and the composition of complexer services from simple ones.
Semantic Web Technologies l How it fits together? l Onotologies can be used to represent knowledge, interpret the retrieved information and communicate with other agents. => RDF / RDF Schema / OWL l Logic can be used for processing the retrieved information and for drawing conclusions. => Defining an OWL-based language is in progress! l Agent / Web service technologies allow the communication between different systems and the composition of complexer services from simpler ones. => OWL-S
RDF Motivation l l l The Resource Description Framework (RDF) is a language for representing resources in the World Wide Web. RDF is intended for situations in which this information needs to be processed by applications, rather than being only displayed to people. RDF is based on the idea of identifying things using Web identifiers (URIs).
RDF Basic Concepts Example „Imagine trying to state that someone named John Smith created a particular Web page. “ http: //www. example. org/index. html has a creator whose value is John Smith l l l the thing the statement describes (the web page`s URL) a specific property of the thing (e. g. creator) the concrete message the statement wants to give, in other words the value of the property (John Smith) RDF basic ideas l l Things being described have properties, which have values Resources can be described by making statements (similar to the above example)
RDF Basic Concepts RDF terminology l l l the part that identifies the thing the statemant is about is called subject the part that identifies the property is called predicate the part that identifies the value of the property is called object Subject Predicate Object
RDF Basic Concepts RDF terminology l l l the part that identifies the thing the statemant is about is called subject the part that identifies the property is called predicate the part that identifies the value of the property is called object Subject Predicate Object http: //www. example. org/index. html has a creator whose value is John Smith l l l the subject is the URL „http: //www. example. org/index. html“ the predicate is the word „creator“ the object is the name „John Smith“
RDF Basic Concepts To make these statements machine-proccessable two things are needed: l a system of machine-processable identifiers (for subjects, predicates and objects) without any possibilty of confusion between similar looking identifiers
RDF Basic Concepts To make these statements machine-proccessable two things are needed: l a system of machine-processable identifiers (for subjects, predicates and objects) without any possibilty of confusion between similar looking identifiers l a machine-processable language for representing these statements and exchanging them between machines
RDF Basic Concepts To make these statements machine-proccessable two things are needed: l a system of machine-processable identifiers (for subjects, predicates and objects) without any possibilty of confusion between similar looking identifiers Uniform Resource Identifiers (URI) allow to identify and uniquely name things - even if they have no network-accessible location. l a machine-processable language for representing these statements and exchanging them between machines
RDF Basic Concepts To make these statements machine-proccessable two things are needed: l a system of machine-processable identifiers (for subjects, predicates and objects) without any possibilty of confusion between similar looking identifiers Uniform Resource Identifiers (URI) allow to identify and uniquely name things - even if they have no network-accessible location. l a machine-processable language for representing these statements and exchanging them between machines RDF defines a XML markup language, named RDF/XML, which allows to represent RDF statements.
RDF Model As mentioned: l l RDF makes statements about resources Each statement consists of a subject, a predicate and an object http: //www. example. org/index. html has a creator whose value is John Smith http: //www. example. org/index. html http: //purl. org/dc/elements/1. 1/creator http: //www. example. org/staffid/5232
RDF Model As mentioned: l l RDF makes statements about resources Each statement consists of a subject, a predicate and an object http: //www. example. org/index. html has a creator whose value is John Smith subject http: //www. example. org/index. html predicate http: //purl. org/dc/elements/1. 1/creator http: //www. example. org/staffid/5232 object
RDF Model Conclusion l l RDF documents are „nodes-and-arcs diagrams interpreted as statements about things identified by URIrefs“. So subjects, predicates and objects can be identified by URIrefs.
RDF Syntax http: //www. example. org/index. html http: //www. example. org/terms/creation-date August 16, 1999 <? xml version="1. 0"? > <rdf: RDF xmlns: rdf="http: //www. w 3. 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>
RDF Syntax http: //www. example. org/index. html http: //www. example. org/terms/creation-date http: //purl. org/dc/elements/1. 1/creator August 16, 1999 http: //www. example. org/staffid/4252 <? xml version="1. 0"? > <rdf: RDF xmlns: rdf="http: //www. w 3. 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> <dc: creator rdf: resource="http: //www. example. org/staffid/85740"/> </rdf: Description> </rdf: RDF>
RDF Syntax Abbreviating and Organizing RDF URIrefs <? xml version="1. 0"? > <!DOCTYPE rdf: RDF [<!ENTITY xsd "http: //www. w 3. org/2001/ XMLSchema#">]> <rdf: RDF xmlns: rdf=http: //www. w 3. org/1999/02/22 -rdf-syntax-ns# xmlns: exterms="http: //www. example. com/terms/"> <rdf: Description rdf: ID="item 10245"> <exterms: model rdf: datatype="&xsd; string">Overnighter </exterms: model> <exterms: sleeps rdf: datatype="&xsd; integer">2</ exterms: sleeps> <exterms: weight rdf: datatype="&xsd; decimal">2. 4</ exterms: weight> <exterms: packed. Size rdf: datatype="&xsd; integer">784</ exterms: packed. Size> </rdf: Description> l l l and rdf: ID are strictly speaking the same. is often used for talking about resources that have been defined elsewhere. The value of rdf: ID can only appear once in a document. The fragment identifier item 10245 will be interpreted relative to a base URI. rdf: about
RDF Syntax Typing in RDF <? xml version="1. 0"? > <!DOCTYPE rdf: RDF [<!ENTITY xsd "http: //www. w 3. org/2001/ XMLSchema#">]> <rdf: RDF xmlns: rdf=http: //www. w 3. org/1999/02/22 -rdf-syntax-ns# xmlns: exterms="http: //www. example. com/terms/"> <rdf: Description rdf: ID="item 10245"> <rdf: type rdf: resource="http: //www. example. com/terms/Tent"/> <exterms: model rdf: datatype="&xsd; string">Overnighter </exterms: model> <exterms: sleeps rdf: datatype="&xsd; integer">2</ exterms: sleeps> … </rdf: Description> l l l RDF allows to classify resources with the special attribute rdf: type. The resource item 10245 is called a tpyed node. It is similar to the programming language concept of objects and classes => RDF Schema (RDFS)
RDF Syntax Typing in RDF (abbreviated form) <? xml version="1. 0"? > <!DOCTYPE rdf: RDF [<!ENTITY xsd "http: //www. w 3. org/2001/ XMLSchema#">]> <rdf: RDF xmlns: rdf=http: //www. w 3. org/1999/02/22 -rdf-syntax-ns# xmlns: exterms="http: //www. example. com/terms/"> <exterms: Tent rdf: ID="item 10245"> <exterms: model rdf: datatype="&xsd; string">Overnighter </exterms: model> <exterms: sleeps rdf: datatype="&xsd; integer">2</ exterms: sleeps> … </exterms: Tent> l l l RDF allows to classify resources with the special attribute rdf: type. The resource item 10245 is called a tpyed node. It is similar to the programming language concept of objects and classes => RDF Schema (RDFS)
RDFS Basics l What it is not l l RDF Schema does not make any assumptions about any application domain, nor does it define the semantics. What it is l l RDF Schema provides a vocabulary to describe classes of things and/or resources. Vocabulary descriptions written in RDF Schema language are legal RDF graphs. It is up to the user to devolpe a RDF Schema (RDFS) for the needed application domain.
RDFS Basics l l Own namespace http: //www. w 3. org/2000/01/ rdf-schema# Core classes l l l rdfs: Resource, the class of all resouces rdfs: Class, the class of all classes rdf: Property, the class of all properties Properties can be used to characterize concrete classes In RDF Schema, a class is any resource having an rdf: type property whose value is the resource rdfs: Class.
RDFS Basics l Core properties l l l rdf: type, relates a resource to its class So the resource is an instance of the class rdfs: sub. Class. Of, relates a class to one of its superclasses rdfs: sub. Property. Of, relates a property to one of its superproperties The above properties are instances of the class rdf: Property. Own properties can be defined by assigning the type rdf: Property to any kind of resource.
RDFS Example (Classes) <? xml version="1. 0"? > <!DOCTYPE rdf: RDF [<!ENTITY xsd "http: //www. w 3. org/2001/XMLSchema#">]> <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: rdfs="http: //www. w 3. org/2000/01/rdf-schema#" xml: base="http: //example. org/schemas/vehicles"> <rdf: Description rdf: ID="Motor. Vehicle"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-chema#Class"/> </rdf: Description> <rdf: Description rdf: ID="Passenger. Vehicle"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdf: Description> <rdf: Description rdf: ID="Truck"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdf: Description> <rdf: Description rdf: ID="Van"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdf: Description> <rdf: Description rdf: ID="Mini. Van"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Van"/> <rdfs: sub. Class. Of rdf: resource="#Passenger. Vehicle"/> </rdf: Description> </rdf: RDF>
RDFS Example (Classes) <? xml version="1. 0"? > <!DOCTYPE rdf: RDF [<!ENTITY xsd "http: //www. w 3. org/2001/XMLSchema#">]> <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: rdfs="http: //www. w 3. org/2000/01/rdf-schema#" xml: base="http: //example. org/schemas/vehicles"> <rdf: Description rdf: ID="Motor. Vehicle"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-chema#Class"/> </rdf: Description> <rdf: Description rdf: ID="Passenger. Vehicle"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdf: Description> resource with an unique id property „rdf: type“ that defines this resource as „Class“ <rdf: Description rdf: ID="Truck"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdf: Description> property „rfds: sub. Class. Of“ with a resource as value, in this case a formerly defined class <rdf: Description rdf: ID="Van"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdf: Description> <rdf: Description rdf: ID="Mini. Van"> <rdf: type rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Van"/> <rdfs: sub. Class. Of rdf: resource="#Passenger. Vehicle"/> </rdf: Description> </rdf: RDF>
RDFS Example (Classes) <? xml version="1. 0"? > <!DOCTYPE rdf: RDF [<!ENTITY xsd "http: //www. w 3. org/2001/XMLSchema#">]> <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: rdfs="http: //www. w 3. org/2000/01/rdf-schema#" xml: base="http: //example. org/schemas/vehicles"> <rdfs: Class rdf: ID="Motor. Vehicle"/> <rdfs: Class rdf: ID="Passenger. Vehicle"> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdfs: Class> Abbreviated form The value of the property „rdf: type“ can be used for naming the whole resource. <rdfs: Class rdf: ID="Truck"> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdfs: Class> <rdfs: Class rdf: ID="Van"> <rdfs: sub. Class. Of rdf: resource="#Motor. Vehicle"/> </rdfs: Class> <rdfs: Class rdf: ID="Mini. Van"> <rdfs: sub. Class. Of rdf: resource="#Van"/> <rdfs: sub. Class. Of rdf: resource="#Passenger. Vehicle"/> </rdfs: Class> </rdf: RDF>
RDFS Example (Properties) <? xml version="1. 0"? > <!DOCTYPE rdf: RDF [<!ENTITY xsd "http: //www. w 3. org/2001/XMLSchema#">]> <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: rdfs="http: //www. w 3. org/2000/01/rdf-schema#" xml: base="http: //example. org/schemas/vehicles"> … „rdfs: range“ indicates, that the values of that property are instances of a certain class <rdf: Property rdf: ID="registered. To"> <rdfs: domain rdf: resource="#Motor. Vehicle"/> <rdfs: range rdf: resource="#Person"/> </rdf: Property> <rdf: Property rdf: ID="rear. Seat. Leg. Room"> <rdfs: domain rdf: resource="#Passenger. Vehicle"/> <rdfs: range rdf: resource="&xsd; integer"/> </rdf: Property> <rdfs: Class rdf: ID="Person"/> </rdf: RDF> „rdfs: domain“ indicates, that the values of the particular property applies to a designated class
RDFS Example (Instances) <? xml version="1. 0"? > <!DOCTYPE rdf: RDF [<!ENTITY xsd "http: //www. w 3. org/2001/XMLSchema#">]> <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: ex="http: //example. org/schemas/vehicles#" xml: base="http: //example. org/things"> <ex: Passenger. Vehicle rdf: ID="john. Smiths. Car"> <ex: registered. To rdf: resource="http: //www. example. org/staffid/85740"/> <ex: rear. Seat. Leg. Room rdf: datatype="&xsd; integer"> 127 </ex: rear. Seat. Leg. Room> </ex: Passenger. Vehicle> </rdf: RDF> an instance of the class „Passenger. Vehicle“ the defined properties that can be applied to this class
RDF / RDFS Conclusion l Expressivity of RDF and RDF Schema is limited l l l Local scope of properties Disjointness of classes Boolean combination of classes Cardiniality restrictions Special characteristics of properties Need for standardized ontology language that builds upon existing concepts of RDF / RDFS => OWL Web Ontology Language
OWL Hierarchy rdfs: Resource rdfs: Class owl: Class rdf: Property owl: Object. Property owl: Datatype. Property
OWL Syntax l Class elements l Classes are defined using owl: Class <owl: Class rdf: ID=“associate. Professor“> <rdfs: sub. Class. Of rdf: resource=“#academic. Staff. Member“ /> </owl: Class> l Disjoint classes <owl: Class rdf: about=“#associate. Professor“> <owl: disjoint. With rdf: resource=“#professor“ /> <owl: disjoint. With rdf: resource=“#assistantprofessor“ /> </owl: Class> l Equivalence of classes <owl: Class rdf: ID=“faculty“> <owl: equivalent. Class rdf: resource=“#academic. Staff. Member“/> </owl: Class>
OWL Syntax l Property elements l Datatype properties relate objects to datatype values <owl: Datatype. Property rdf: ID=“age“> <rdfs: range rdf: resource=“http: //www. w 3. org/2001/XMLSchema #non. Negative. Integer“ /> </owl: Class> l Object properties relate objects to other objects <owl: Object. Property rdf: ID=“is. Taught. By“> <rdfs: domain rdf: resource=“#course“/> <rdfs: range rdf: resource=“#academic. Staff. Member“/> </owl: Class> <owl: Object. Property rdf: ID=“teaches“> <rdfs: domain rdf: resource=“#academic. Staff. Member“/> <rdfs: range rdf: resource=“#course“/> <owl: inverse. Of rdf: resource=“#is. Taught. By“/> </owl: Class>
OWL Syntax l Property restrictions Allow to specify constraints on classes and properties <owl: Class about: ID=“#first. Year. Course“> <rdfs: sub. Class. Of> <owl: Restriction> <owl: on. Property rdf: resource=“#is. Taught. By“/> <owl: all. Values. From rdf: resource=“#Professor“/> </owl: Restriction> </rdfs: sub. Class. Of> </owl: Class> <owl: Class about: ID=“#course“> <rdfs: sub. Class. Of> <owl: Restriction> <owl: on. Property rdf: resource=“#is. Taught. By“/> <owl: min. Cardinality rdf: datatype=“#&xsd; non. Negative. Integer“/> </owl: Restriction> </rdfs: sub. Class. Of> </owl: Class>
Web Services and the Semantic Web l l l The Semantic Web should enable users to locate, select, employ, compose, and monitor Web-based services automatically. Computer-interpretable description of the service is needed. OWL-S defines an ontology for describing web services.
Web Services and the Semantic Web l What does the service provide? Service. Profile A profile is used for advertizing the service. l How is it used? Service. Model A model describes how a service works. l How to interact with it? Service. Grounding A grounding provides the needed details about transport protocols.
Web Services and the Semantic Web (Service. Profile) <owl: Class rdf: ID="Profile"> <rdfs: label>Profile</rdfs: label> <rdfs: sub. Class. Of rdf: resource="&service; #Service. Profile " /> <rdfs: comment> Definition of Profile </ rdfs: comment> </owl: Class> <owl: Object. Property rdf: ID="has. Input"> <rdfs: sub. Property. Of rdf: resource="#has. Parameter "/> <rdfs: range rdf: resource="&process; #Input "/> </owl: Object. Property>
Web Services and the Semantic Web (Service. Model)
Web Services and the Semantic Web (Service. Model) <owl: Class rdf: ID="Simple. Process"> <rdfs: sub. Class. Of rdf: resource="#Process"/> <owl: disjoint. With rdf: resource="#Atomic. Process "/> </owl: Class> <owl: Object. Property rdf: ID="realized. By"> <rdfs: domain rdf: resource="#Simple. Process "/> <rdfs: range rdf: resource="#Atomic. Process "/> <owl: inverse. Of rdf: resource="#realizes"/> </owl: Object. Property> <owl: Object. Property rdf: ID="realizes"> <rdfs: domain rdf: resource="#Atomic. Process "/> <rdfs: range rdf: resource="#Simple. Process "/> <owl: inverse. Of rdf: resource="#realized. By "/> </owl: Object. Property>
Conclusion l l l Today‘s web and its problems A vision for a possible semantic web application Overview of important standards l l l RDF / RDF Schema OWL-S The basic technologies exist but - standards have to mature and - more practical problems have to be solved (tool support, ontology matching, …)
Bibliography l l D. Martin et al. , „OWL-S Semantic Markup for Web Services“ http: //www. daml. org/services/owl-s/1. 1/overview/ F. Manola and E. Miller, eds. „RDF Primer“, February 10, 2004. http: //www. w 3. org/TR/rdf-primer/ M. Smith et al. , „OWL Web Ontology Language Guide“, http: //www. w 3. org/TR/owl-guide/ G. Antoniou, F. van Harmelen, „A Semantic Web Primer“, MIT Press, London, England, 2004.
7d5cd86895bfcf5b382d3e26ab00d73d.ppt