Upload
others
View
42
Download
0
Embed Size (px)
Citation preview
Fuyuki Ishikawa (石川 冬樹)[email protected]
Lecture CourseService-Oriented Computing
10: Related Topics (4): Semantic Web2012/06/20
1 Introduction
2 Basics: Distributed Objects
3 Basics: XML
4 Web Services: Foundations
5 Web Services: Composition
6 Web Services: Implementation
7 Related Topics (1): Reliability
SOC'12 @ Sokendai 2Fuyuki Ishikawa
Course Plan
8 Related Topics (2): Security
9 Related Topics (3): Engineering
10 Related Topics (4): Semantic Web
11 Cloud Computing (1): Overview
12 Cloud Computing (2): Experience
13 Discussion and Summary
14 Students’ Presentation
SOC'12 @ Sokendai 3Fuyuki Ishikawa
Course Plan
Semantic WebVisionRDFRDFSOWLOther Specifications
Semantic Web ServicesVisionOWL-STechniques
4
TOC
SOC'12 @ Sokendai Fuyuki Ishikawa
On the Web, I see everyday my bank statements, photographs, and calendarQuestion
Can I See my photos in my calendar to see what I was doing when I took them?Can I see bank statement lines in my calendar?
Why not?Because we don't have a web of dataBecause data is controlled by applications, and each application keeps it to itself[W3C Semantic Web Activity: http://www.w3.org/2001/sw/]
5
Semantic Web: Vision
SOC'12 @ Sokendai Fuyuki Ishikawa
The current WebOnly exchanges design information of data, for humans, provided by each Web applicationLack explicit representation of data or their relationships, provided by different Web applications
The main goals of the Semantic WebAllows data to be surfaced in the form of real dataAllows people to write (or generate) files which explain, to a machine, the relationship between different sets of data[from the FAQ of the W3C Semantic Web Activity: http://www.w3.org/2001/sw/]
6
Semantic Web: Vision
SOC'12 @ Sokendai Fuyuki Ishikawa
7
Semantic Web and Web ServicesCurrent Web Semantic Web
Web Service
Semantic Web Service
<table><tr><td>2008/06/23</td>…
<date>2008/06/23
</date>…
… 2008/06/23Is-a date (is an instance of the concept date)• date has-a year• birthday is-a date• date is the same concept as the one called 日にち in the application A
Machines can directly use services provided by machines
Machines can understand and make use of data relationships
SOC'12 @ Sokendai Fuyuki Ishikawa
Ontology: a formal explicit specification of a shared conceptualization of a domain of interest
Formal: machine-processibleExplicit: including common sense for humansShared: agreed by people or their machines in a communityConceptuality: representing concepts and their relations in terms of symbols, covering as many situations as possibleDomain-specificity: focusing on details in a domain, modularizing and separating domains of interest
8
Ontology
SOC'12 @ Sokendai Fuyuki Ishikawa
Semantic Web ServicesUsuallynot "Semantic Web" Servicesbut Semantic "Web Services"
9
Note
SOC'12 @ Sokendai Fuyuki Ishikawa
Semantic WebVisionRDFRDFSOWLOther Specifications
Semantic Web ServicesVisionOWL-STechniques
10
TOC
SOC'12 @ Sokendai Fuyuki Ishikawa
RDF: Resource Description Framework(W3C Recommendation in 1999)
Originally intended for representing metadata about Web resources (e.g., title, author, modification date)Provides a more general framework to describe relationships called RDF triples: Subject, Predicate, and ObjectUses URI to identify subjects, predicates and objects (including literal values)Provides a graph model as well as XML syntaxes including many abbreviated notations
11
RDF: Overview
SOC'12 @ Sokendai Fuyuki Ishikawa
12
RDF: Graph Data Model
(Cited from the RDF specification Primer)SOC'12 @ Sokendai Fuyuki Ishikawa
13
RDF: XML Syntax
<?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><dc:language>en</dc:language><dc:creator rdf:resource="http://www.example.org/staffid/85740"/>
</rdf:Description></rdf:RDF>
(Cited from the RDF specification Primer)SOC'12 @ Sokendai Fuyuki Ishikawa
14
RDF: Into Semantic Network
(Cited from the RDF specification Primer)SOC'12 @ Sokendai Fuyuki Ishikawa
15
RDF: Flexible Notations
<rdf:RDF …><rdf:Description rdf:about="http://www.example.org/index.html">…<dc:creator rdf:resource="http://www.example.org/staffid/85740"/>
</rdf:Description></rdf:RDF>
<rdf:RDF …><rdf:Description rdf:about=" http://www.example.org/staffid/85740 "><dc:city>Bedford</dc:city>…
</rdf:Description></rdf:RDF>
SOC'12 @ Sokendai Fuyuki Ishikawa
16
RDF: Flexible Notations
<rdf:RDF …><rdf:Description rdf:about="http://www.example.org/index.html">…<dc:creator rdf:resource="http://www.example.org/staffid/85740"/><rdf:Description><dc:city>Bedford</dc:city>…
</rdf:Description></rdf:Description>
</rdf:RDF>
Can be included inline(the Description element can be omitted)
SOC'12 @ Sokendai Fuyuki Ishikawa
RDF defines a property type to describe a class that a resource belongs to
Also provides an abbreviated notation
(For literals, types can be associated, e.g., by referring to XML Schema types)
17
RDF: Class Description
<rdf:Description rdf:ID=“carA"><rdf:type rdf:resource=“http://.../MotorVehicle"/>
</rdf:Description>
<ex:MotorVehicle rdf:ID=“carA”/>
SOC'12 @ Sokendai Fuyuki Ishikawa
RSS 1.0 (RDF Site Summary)
18
RDF: Application (RSS 1.0)
<rdf:RDF …>…<rss:item
rdf:about="http://www.w3.org/News/2002#item164"><rss:title>User Agent Accessibility Guidelines Become
a W3C Proposed Recommendation </rss:title><rss:description> 17 October 2002: W3C is pleased to
announce the …</rss:description><rss:link>http://www.w3.org/News/2002#item164</rss:link><rss:date>2002-10-17</rss::date>
</rss:item> </rdf:RDF>
SOC'12 @ Sokendai Fuyuki Ishikawa
FOAF (Friend of a Friend)
19
RDF: Application (FOAF)
<rdf:RDF ...><foaf:Person><foaf:name>Fuyuki Ishikawa</foaf:name><foaf:mbox rdf:resource="mailto:[email protected]"/><foaf:msnChatID>…</foaf:msnCharID><foaf:knows><Person> … </Person>…
</foaf:knows></foaf:Person>
</rdf:RDF>
SOC'12 @ Sokendai Fuyuki Ishikawa
CC/PP: Composite Capabilities/Preferences Profile
20
RDF: Application (CC/PP)
<ccpp:component><rdf:Description rdf:ID="UserPreferences"><rdf:type rdf:resource="http://.../v1_0#UserPreferences"/><ex:AudioOutput>Yes</ex:AudioOutput><ex:Graphics>No</ex:Graphics><ex:Languages><rdf:Seq><rdf:li>en-cockney</rdf:li><rdf:li>en</rdf:li>
</rdf:Seq></ex:Languages>
</rdf:Description></ccpp:component>
SOC'12 @ Sokendai Fuyuki Ishikawa
Semantic WebVisionRDFRDFSOWLOther Specifications
Semantic Web ServicesVisionOWL-STechniques
21
TOC
SOC'12 @ Sokendai Fuyuki Ishikawa
RDFS: RDF SchemaProvides a basic vocabulary to describe (define) RDF vocabularies, or ontologiesIncluded as part of the RDF specificationPrimarily handles
Inheritances of resources, i.e., subclasses and sub-propertiesDomains and ranges or properties
22
RDFS: Overview
SOC'12 @ Sokendai Fuyuki Ishikawa
RDFS: Class definitionMotorVehicle is a ClassVan is a subclass of MotorVehicle
23
RDFS: Examples
<rdf:Description rdf:ID="MotorVehicle"><rdf:type rdf:resource="http://.../rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="Van"><rdf:type rdf:resource="http://.../rdf-schema#Class"/><rdfs:subClassOf rdf:resource=“#MotorVehicle"/>
</rdf:Description>
SOC'12 @ Sokendai Fuyuki Ishikawa
RDFS: Property definitionregisteredTo is a PropertyThe domain of registeredTo is MotorVehicleThe range of registeredTo is Person
24
RDFS: Examples
<rdf:Description rdf:ID=“registeredTo"><rdf:type rdf:resource="http://.../rdf-schema#Property"/><rdfs:domain rdf:resource="#MotorVehicle"/><rdfs:range rdf:resource="#Person"/>
</rdf:Description>
SOC'12 @ Sokendai Fuyuki Ishikawa
RDFS: Property definitionhasDriver is a PropertyThe domain of hasDriver is MotorVehiclehasPrimaryDriver is a sub-property of hasDriver(inheriting the domain)
25
RDFS: Examples
<rdf:Description rdf:ID=“hasDriver"><rdf:type rdf:resource="http://.../rdf-schema#Property"/><rdfs:domain rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description rdf:ID=“hasPrimaryDriver"><rdf:type rdf:resource="http://.../rdf-schema#Property"/>
<rdfs:subPropertyOf rdf:resource="#hasDriver"/> </rdf:Description>
SOC'12 @ Sokendai Fuyuki Ishikawa
Semantic WebVisionRDFRDFSOWLOther Specifications
Semantic Web ServicesVisionOWL-STechniques
26
TOC
SOC'12 @ Sokendai Fuyuki Ishikawa
OWL: Web Ontology LanguageProvides a rich vocabulary to describe (define) RDF vocabularies, or ontologies, in order to support useful reasoning tasks
Three subclassesOWL-Lite: simple and easy to implement, only with a classification hierarchy and simple constraintsOWL-DL: expressive but computable and decidable with certain restrictionsOWL-Full: fully expressive with a syntactic freedom
27
OWL: Overview
SOC'12 @ Sokendai Fuyuki Ishikawa
28
OWL: Definition and Reasoning Examples
<owl:Class rdf:ID="WhiteWine"><owl:intersectionOf rdf:parseType="Collection"><owl:Class rdf:about="#Wine" /><owl:Restriction><owl:onProperty rdf:resource="#hasColor" /><owl:hasValue rdf:resource="#White" />
</owl:Restriction></owl:intersectionOf>
</owl:Class>
<BaseballPlayer rdf:ID="イチロー"><owl:sameAs rdf:resource="http://mlb.com/.../Ichiro" />
</BaseballPlayer>
WineABC type WhiteWine⇒ WineABC hasColor White
SOC'12 @ Sokendai Fuyuki Ishikawa
29
OWL: Definition and Reasoning Examples
<owl:Class rdf:ID="Wine"><rdfs:subClassOf rdf:resource="&food;PotableLiquid"/><rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="#madeFromGrape"/><owl:minCardinality >1</owl:minCardinality></owl:Restriction>
</rdfs:subClassOf><rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="#hasMaker" /><owl:allValuesFrom rdf:resource="#Winery" />
</owl:Restriction></rdfs:subClassOf>
</owl:Class>
A subclass of Class, which includes resources that has at least one grape as ingredient
A subclass of Class, which includes resources that has a winery as its maker
WineABC type Wine∧ WineABC hasMaker George⇒ George type Winery
SOC'12 @ Sokendai Fuyuki Ishikawa
30
OWL: Definition and Reasoning Examples
<owl:ObjectProperty rdf:ID="locatedIn"><rdf:type rdf:resource="&owl;TransitiveProperty" /><rdfs:domain rdf:resource="&owl;Thing" /><rdfs:range rdf:resource="#Region" /> </owl:ObjectProperty>
<Region rdf:ID="SantaCruzMountainsRegion"><locatedIn rdf:resource="#CaliforniaRegion" />
</Region><Region rdf:ID="CaliforniaRegion"><locatedIn rdf:resource="#USRegion" />
</Region>
⇒ SantaCruzMountainsRegion locatedIn USRegion
SOC'12 @ Sokendai Fuyuki Ishikawa
OWL-Lite vocabulariesEquality and inequality
equivalentClass (in a sense of including the same set of individuals, not equality of the concept)equivalentPropertysameAs, differentFrom, AllDifferent(about individuals)
Property characteristicsinverseOfTransitiveProperty, SymmetricProperty, FuntionalProperty, InverseFunctionalProperty
31
OWL: OWL-Lite
SOC'12 @ Sokendai Fuyuki Ishikawa
OWL-Lite vocabulariesProperty restrictions
allValuesFrom, someValuesFromProperty cardinarity restriction
minCardinarity, maxCardinarity(0 or 1 in OWL-Lite)
Class intersectionintersectionOf
32
OWL: OWL-Lite
SOC'12 @ Sokendai Fuyuki Ishikawa
OWL-DL: additional vocabularies (to OWL-Lite)Class relationships
oneOf, unionOf, complementOf, disjointWithProperty restriction
hasValue, DataRangeOWL-DL: removed restrictions (from OWL-Lite)
The object can only be a class name or a restriction in type, equivalentClass, subClassOf, and intersectionOfThe object can be any non negative integer in minCardinarity, maxCardinarity…
33
OWL: OWL-DL
SOC'12 @ Sokendai Fuyuki Ishikawa
OWL-Full: removed restrictions (from OWL-DL)Distinction must be made between each pair of classes, datatypes, datatype properties, object properties, individuals, data values and the built-in vocabulary, etc.
e.g., OWL-Full allows to say classA is sameAs classBe.g., OWL-Full allows to say classA has type (is an instance of) classBe.g., OWL-Full allows to say hasWeightInKg is transitive (though a subject of the transitiveproperty should be an object property, not a datatype property)
34
OWL: OWL-Full
SOC'12 @ Sokendai Fuyuki Ishikawa
OWL-Full: removed restrictions (from OWL-DL)No cardinality constraints should not be given for transitive properties, either directly or indirectly (given for super-properties of inverse properties)
e.g., OWL-Full allows to say a property is both transitive and functional, which is impossible
All statements (called axioms in OWL) must be well-formed, with no missing or extra components, leading to tree-like structure
e.g., OWL-Full allows for lack of definition of referenced resources
35
OWL: OWL-Full
SOC'12 @ Sokendai Fuyuki Ishikawa
What is DL in OWL-DL?DL: Description Logic
Each of OWL-Lite and OWL-DL has a corresponding dialect of Description Logic(not in the scope of this lecture)Well-understood computational properties and decidability
36
Note
SOC'12 @ Sokendai Fuyuki Ishikawa
Semantic WebVisionRDFRDFSOWLOther Specifications
Semantic Web ServicesVisionOWL-STechniques
37
TOC
SOC'12 @ Sokendai Fuyuki Ishikawa
SOC'12 @ Sokendai 38Fuyuki Ishikawa
Semantic Web: Layer Cake
Query language to query data from RDF documents
e.g., SPARQL (W3C)
39
Other specifications: SPARQL
• PersonA hasName Bob• PersonA hasMbox [email protected]• PersonB hasName Alice• PersonB hasMbox [email protected]
DataData
SELECT ?name ?mboxWHERE{ ?x hasName ?name .
?x hasMbox ?mbox }
QueryQuery
?name ?mboxBob [email protected] [email protected]
ResultResult
SOC'12 @ Sokendai Fuyuki Ishikawa
Rule language to formalize and process semantics
e.g., SWRL (Semantic Web Rule Language, W3C)
40
Other specifications: SWRL
hasParent(?x1,?x2) ∧ hasBrother(?x2,?x3)⇒ hasUncle(?x1,?x3)
Student(?x1) ⇒ Person(?x1)
The same as Student isSubclassOf Person using the OWL vocaburary
SOC'12 @ Sokendai Fuyuki Ishikawa
Activities to increase actual instances of data described with semantic web techniques (in RDF)
http://linkeddata.org/Wikipedia:http://dbpedia.org/National Diet Library japan: http://id.ndl.go.jp/auth/ndlsh/US Government: http://www.data.gov/communities/semantic/index
…
SOC'12 @ Sokendai 41Fuyuki Ishikawa
Linked Data
Semantic WebVisionRDFRDFSOWLOther Specifications
Semantic Web ServicesVisionOWL-STechniques
42
TOC
SOC'12 @ Sokendai Fuyuki Ishikawa
Semantic Web Services: Motivating tasksAutomatic discovery
e.g., find service providers that sell airline tickets for Tokyo-Paris and accept payment by a JCB card
Automatic invocatione.g., invoke service providers found at runtime by understanding what input is necessary to invoke the service, and what information will be returned
Automatic selection, composition and interoperatione.g., select service providers to compose a service that makes all the travel arrangements
43
Semantic Web Services: Vision
SOC'12 @ Sokendai Fuyuki Ishikawa
Related Proposals (to W3C all in 2005)OWL-S: OWL ontology for Services
Based on DARPA activities on agents and ontologies (since 2001)
WSMO: Web Service modeling OntologyProposed to deal with limitations in OWL-S
WSDL-S: Web Service SemanticsDefines a way to include references to semantic descriptions in WSDL documents (not about how semantics are described)
44
Semantic Web Services: Vision
SOC'12 @ Sokendai Fuyuki Ishikawa
Semantic WebVisionRDFRDFSOWLOther Specifications
Semantic Web ServicesVisionOWL-STechniques
45
TOC
SOC'12 @ Sokendai Fuyuki Ishikawa
OWL-S: OWL Ontology for ServicesDefines vocabularies to describe servicesEspecially models IOPEs of services
InputsOutputsPreconditionsEffects
Formally called DAML-SBased on DAML + OIL, the ancestor of OWL
DAML: DARPA Agent Markup Language
46
OWL-S: Overview
SOC'12 @ Sokendai Fuyuki Ishikawa
47
Semantic Web and Web ServicesCurrent Web Semantic Web
Web Service
Semantic Web Service
<table><tr><td>2008/06/23</td>…
<date>2008/06/23
</date>…
… 2008/06/23Is-a date (is an instance of the concept date)• date has-a year• birthday is-a date• date is the same concept as the one called 日にち in the application A
Machines can directly use services provided by machines
Machines can understand and make use of data relationships
SOC'12 @ Sokendai Fuyuki Ishikawa
SOC'12 @ Sokendai 48Fuyuki Ishikawa
OWL-S: Upper Ontology
(Cited from the OWL-S specification)
SOC'12 @ Sokendai 49Fuyuki Ishikawa
OWL-S: Service Profile
(Cited from the OWL-S specification)
SOC'12 @ Sokendai 50Fuyuki Ishikawa
OWL-S: Process Model
(Cited from the OWL-S specification)
SOC'12 @ Sokendai 51Fuyuki Ishikawa
OWL-S: Service Grounding
(Cited from the OWL-S specification)
Semantic WebVisionRDFRDFSOWLOther Specifications
Semantic Web ServicesVisionOWL-STechniques
52
TOC
SOC'12 @ Sokendai Fuyuki Ishikawa
One aspect of discovery: how to match inputs/outputs requested with inputs/outputs accepted (provided)?
Exact: the accepted concept (class) for input or output is equivalent to the requested onePlugin: the accepted concept for input or output is sub-concept of the requested oneSubsume: the accepted concept for input or output is super-concept of the requested oneIntersection: intersection of the accepted concept for input or output and the requested one is not empty
53
Typical Techniques: Discovery
SOC'12 @ Sokendai Fuyuki Ishikawa
One aspect of composition: how to compose a service, given a goal, by integrating existing services?
Automated service composition is often thought as aplanning problem in AIVarious planning tools (and involved logical formalisms) have been used (e.g., SHOP2)For simplicity, only I/O matching is sometimes considered(e.g., describing I/O graphs and finding a path from a certain input to a certain output)
54
Typical Techniques: Composition
SOC'12 @ Sokendai Fuyuki Ishikawa
One aspect of mediation: how to mediate interoperation by inserting required translations?
Data mediation (syntax, encoding, etc.)e.g., From XML documents to RDF documents
Ontology mediatione.g., mapping a terminology to another that refers to the same concept
Protocol Mediatione.g., inserting acknowledgements
55
Typical Techniques: Mediation
SOC'12 @ Sokendai Fuyuki Ishikawa
June 22Cloud Computing (1): Overview
56Fuyuki Ishikawa
Next
SOC'12 @ Sokendai