Introduction to Semantic Web

advertisement
Introduction to Semantic
Web
Professor James
Hendler
http://www.cs.umd.ed
u/~hendler
Frank van Harmelen and Marta Sabou
AI Department
Vrije Universiteit Amsterdam
2016/7/1
1
Semantic Web: the vision

WWW is an impressive success:
 amount of available information (> 1 Giga-page)
 number of human users (> 200 Mega-user)

However, we’ve only seen two generations:
 handwritten HTML
human readers
 database generated pages
The real power will come with the 3rd generation:
 machine accessible semantics
2016/7/1
2
What is XML?
 XML: eXtensible Markup Language
 Subset of SGML, but more efficient and
lightweight
 XML:
 Extensible: tags can be defined; can be
extended to lots of different applications.
 Markup language: language used to mark
up data.
 Meta Language: Language used to create
other languages.
2016/7/1
3
XML v.HTML
 contrast with HTML: XML is Extensible:
 HTML: restricted set of tags, e.g.
<TABLE>, <H1>, <B>, etc.
 XML: you can create your own
tags
 Example: Put a library catalog on the web.
 HTML: You are stuck with regular HTML tags, e.g.
H1, H3, etc.
 XML: You can create your own set of tags: TITLE,
AUTHOR, DATE, PUBLISHER, etc.
2016/7/1
4
Book Catalog in HTML
<HTML>
<BODY>
<H1>Harry Potter</H1>
<H2>J. K. Rowling</H2>
<H3>1999</H3>
<H3>Scholastic</H3>
</BODY>
</HTML>
HTML conveys the
“look and feel” of
your page.
As a human, it is
easy to pick out
the publisher.
But, how would
a computer pick
out the publisher?
Answer: XML
2016/7/1
5
Book Catalog in XML
<BOOK>
<TITLE>Harry Potter</TITLE>
<AUTHOR>J. K. Rowling</AUTHOR>
<DATE>1999</DATE>
<PUBLISHER>Scholastic</PUBLISHER>
</BOOK>
Look at the new tags!
A Human and a computer can now easily
extract the publisher data.
2016/7/1
6
XML v. HTML
 General Structure:
 Both have Start tags and end tags.
 Tag Sets:
 HTML has set tags
 XML lets you create your own tags.
 General Purposes:
 HTML focuses on structure and presentation -"look and feel”
 XML focuses on the structure of the data, not
presentation
 XML is not meant to be a replacement for HTML. In fact,
they are usually used together.
2016/7/1
7
XML helps
XML allows “meaningful tags” to be added to
parts of the text
< name >
<main story>
<News>
side
< story
>
style
< of music
>
2016/7/1
8
But, XML
 machine accessible meaning
To your machine,
the tags look like this….
name >
< name
<education>
< education>
< CV
CV >
<work>
< work>
<private>
< private >
2016/7/1
9
RDF Schemas take a step in the right
direction
Schemas help….
< CV >
private
2016/7/1
…by relating
common terms
between documents
10
But other people use other schemas
Someone else has one like this….
<name>
name >
<<educ>
education>
<> >
< work
CV> >
<<CV
<<>
private >
2016/7/1
11
The “semantics” isn’t there
< CV >
private
2016/7/1
…which don’t fit in
12
Knowledge Representation provides
“external” referents to merge on
nme
CV
CV
work
vate
educ
CV
ed
uc
<name
< name >>
<<educ
education> >
SW languages add mappings
And structure.
2016/7/1
<> >
< work
<< CV
CV >
<<
private>>
13
Which is what the web was meant to
be!!

"This is a pity, as in fact documents on the web describe real objects and
imaginary concepts, and give particular relationships between them... For
example, a document might describe a person. The title document to a
house describes a house and also the ownership relation with a person. ...
This means that machines, as well as people operating on the web of
information, can do real things. For example, a program could search for a
house and negotiate transfer of ownership of the house to a new owner. The
land registry guarantees that the title actually represents reality.”
2016/7/1
 Tim
Berners-Lee plenary presentation at WWW Geneva, 1994 14
Tim Berners Lee: the Semantic Web
“In communicating between people using the Web,
computers and networks have as their job to enable
the information space, and otherwise get out of the
way. But doesn’t it make sense to also bring
computers more into the action? – part two of the
dream!
“… This creates what I call a Semantic Web – a web of
data that can be processed directly or indirectly by
machines.”
<<Weaving the Web>> pp 177.
2016/7/1
15
Ontologies
Web-based knowledge representation
Marta Sabou
2016/7/1
16
What is an ontology?
Philosophy (400BC):
Systematic explanation of Existence
Ontology defines basic terms and relations comprising the
vocabulary of a topic area as well as the rules for combining
terms and relations to define extensions to the vocabulary
Neches (91):
Gruber (93): Explicit
Borst (97):
2016/7/1
specification of a conceptualization
Formal specification of a shared conceptualization
17
What is an ontology?
Studer(98):
Formal, explicit specification of a shared conceptualization
Machine
readable
Concepts, properties,
functions, axioms
are explicitly defined
2016/7/1
Consensual
knowledge
Abstract model of
some phenomena
in the world
18
Benefits
Communication between people
Interoperability between software agents
Reuse of domain knowledge
Make domain knowledge explicit
Analyze domain knowledge
Building an ontology is not a goal in itself.
2016/7/1
19
Ontology Elements
•Concepts(classes) + their hierarchy
•Concept properties (slots/attributes)
•Property restrictions (type, cardinality, domain)
•Relations between concepts (disjoint, equality)
•Instances
2016/7/1
20
How to build an ontology?
Steps:
•determine domain and scope
•enumerate important terms
•define classes and class hierarchies
•define slots
•define slot restrictions (cardinality, value-type)
2016/7/1
21
Step 1: Determine Domain and Scope
Domain: geography
Application: route planning agent
Possible questions:
Distance between two cities?
What sort of connections exist between two cities?
In which country is a city?
How many borders are crossed?
2016/7/1
22
Step 2: Enumerate Important Terms
city
capital
Connection_on_land
country
border
road
railway
Connection_on_water
currency
Connection_in_air
connection
2016/7/1
23
Step 3: Define Classes and Class Hierarchy
2016/7/1
24
Step 4: Define Slots of Classes
Geographic_entity
Country
Borders_with
Has_capital
Capital_of
End_point
City
Connection
Start_point
Capital_city
Step 5: Define slot constraints
•Slot-cardinality
Ex: Borders_with multiple, Start_point single
•Slot-value type
Ex: Borders_with- Country
2016/7/1
25
Issues on class hierarchy
A
- all is-a relations hold?
Inst(B)  Inst(A)
- check transitivity
C Subclass_of(A)
D Subclass_of(C)
- avoid unexpected cycles
B Subclass_of(A)
A Subclass_of(B)
2016/7/1
B
C
D
D Subclass_of(A)
A=B
26
Issues on Slots
- inverse slots (redundant, but explicit)
Has_capital
Capital_city
Country
Capital_of
-symmetric slots
Ex. A borders_with B
-transitive slots
A.connection(B)
B.connection(C)
2016/7/1
B borders_with A
A.connection(C)
27
Amount of meaning
- attribute of the ontology
Amount of meaning:
- the more meaning the lower ambiguity
•Light-weight ontologies
-taxonomy - semantics only in the specialization relation
ODP(www.dmoz.org)
web catalogues
•Heavy-weight ontologies
Ex: Cyc ontology - common knowledge of the world
2016/7/1
28
Amount of meaning
2016/7/1
29
Amount of meaning
2016/7/1
30
Degree of formality
- attribute of the ontology representation language
Highly informal - expressed in loose natural language
Ex: glossaries, WordNet
Informal - expressed in structured natural language
Ex: text version of “Enterprise ontology”
Semi-formal - expressed in an artificially defined language
Ex: Ontolingua version of “Enterprise ontology”
Rigorously formal - terms with formal semantics, theorems, proofs
Ex: Cyc
2016/7/1
31
Related research - just a small list
1. On-To-Knowledge
-uses ontologies to facilitate access to large intranets
2. DAML+OIL
-joint EU/US collaboration for the development of the DAML+OIL ontology language
3. OntoWeb
- thematic network concerned with ontology-based information exchange
for knowledge management an electronic commerce.
4. OntoBroker
-system that allows annotation with ontological metadata and querying of web pages
5. SHOE (Simple HTML Ontology Extension)
- extension to HTML that allows declaration of ontologies and annotation of HTML pages
6. OntoSeek
- provides enhanced access to directory services using a rich linguistic ontology in order
to improve information retrieval performances .
………………..
2016/7/1
32
Semantic Markup
Languages:
A Gentle Introduction
Yolanda Gil
USC/Information Sciences Institute
gil@isi.edu
2016/7/1
33
RDF (Resource Description
Framework)
•
RDF provides a way of describing resources via metadata (data about data)
It restricts the description of resources to triplets (subject,predicate,object)
•
It provides interoperability between applications that exchange machine
understandable information on the Web.
•
The original broad goal of RDF was to define a mechanism for describing
resources that makes no assumptions about a particular application domain,
nor defines (a priori) the semantics of any application domain.
•
Uses XML as the interchange syntax.
•
Provides a lightweight ontology system.
The formal specification of RDF is available at:
http://www.w3.org/TR/REC-rdf-syntax/
2016/7/1
34
RDF (cont’d)

An example of RDF using the Dublin Core
language
<? xml version="1.0" ?>
<RDF xmlns = http://w3.org/TR/1999/PR-rdf-syntax-19990105#
xmlns:DC = "http://purl.org/DC#">
<Description about = "http://dstc.com.au/report.html" >
<DC:Title> The Future of Metadata </DC:Title>
<DC:Creator> Jacky Crystal </DC:Creator>
<DC:Date> 1998-01-01 </DC:Date>
<DC:Subject> Metadata, RDF, Dublin Core </DC:Subject>
</Description>
</RDF>
2016/7/1
35
RDF Syntax
Subject, Predicate and Object Triplets (Tuples)
• Subject: The resource being described.
• Predicate: A property of the resource
• Object: The value of the property
A combination of them is said to be a Statement (or a rule)
http://foo.bar.org/index.html
Author
John Doe
A web page
being described
A property of the
web page (author)
The value of the predicate
(here the author)
[Subject]
[Predicate]
[Object]
2016/7/1
36
RDF Example
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#"
xmlns:s="http://description.org/schema/">
Namespace for the RDF spec
Namespace ‘s’, a custom
namespace
Subject
<rdf:Description about="http://foo.bar.org/index.html">
<s:Author>John Doe</s:Author>
Author (property of the subject)
</rdf:Description>
(Also a resource)
</rdf:RDF>
Object. Can also point to a resource
The above statement says :
The Author of http://foo.bar.org/index.html is “John Doe”
In this way, we can have different objects (resources) pointing to other objects
(resources)
You can also make statements about statements – reification
Ex: ‘xyz’ says that ‘ The Author of http://foo.bar.org/index.html is John Doe’
2016/7/1
37
RDF Schema
•
A schema defines the terms that will be used in the RDF
statements and gives specific meanings to them.
http://www.w3.org/TR/rdf-schema/
Example:
<rdf:RDF xml:lang="en"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdf:Description ID="MotorVehicle">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf
rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Description>
<rdf:Description ID="PassengerVehicle">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description ID="Truck">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
2016/7/1
RDF Schema Namespace
An “ID” attribute actually
defines a new resource
“Resource” is the
top level class
PassengerVehicle is a
subclass of MotorVehicle
38
Example (cont..)
<rdf:Description ID="Van">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description ID="MiniVan">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#Van"/>
<rdfs:subClassOf rdf:resource="#PassengerVehicle"/>
</rdf:Description>
<rdf:Description ID="registeredTo">
<rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
<rdfs:domain rdf:resource="#MotorVehicle"/>
<rdfs:range rdf:resource="#Person"/>
</rdf:Description>
Multiple Inheritance
Domain of a property
<rdf:Description ID="rearSeatLegRoom">
<rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
<rdfs:domain rdf:resource="#PassengerVehicle"/>
<rdfs:domain rdf:resource="#Minivan"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/03/example/classes#Number"/>
</rdf:Description>
</rdf:RDF>
2016/7/1
Range of a
property
39
RDF: Tools/Resources
SirPAC
A Simple RDF Parser & Compiler. It parses the RDF, and validates it. It also
generates the tuples and even draws a graph of the data model.
www.w3.org/RDF/Implementations/SiRPAC/
Reggie
A Nice Metadata Editor. Java based simple user interface to describe a web resource.
Can mail the metadata file to yourself after finished editing.
http://metadata.net/dstc/
Protégé
Editor of ontologies in practically any language you care about. Open source.
http://www.smi.stanford.edu/projects/protege/
2016/7/1
40
2016/7/1
41
The Layer Cake [TBL,XML2000]
2016/7/1
42
Limitations of RDF
-
Cannot define properties of properties (unique, transitive)
-
No equivalence, disjointness, etc.
No mechanism of specifying necessary and sufficient conditions
for class membership.
Example:
If it is given that ‘XYZ’ has a ‘car’ which is ‘7ft high’, has
‘wide wheels’ and ‘loading space is 4 cub.m’, then we
should be able to reason that ‘XYZ’ has an ‘SUV’, as given by
the necessary and sufficient conditions for being an ‘SUV’ :
height > 4ft & wide wheels & loading space > 2 cub.m
2016/7/1
43
DAML+OIL’s History
• W3C’s Semantic Web Activity:
- RDF and metadata markup efforts to represent data in
a machine understandable form.
• DARPA started the DARPA Agent Markup Language (DAML)
program.
• possibly with “ARPANET -> Internet” in mind
• EC (European Commission) funding programs
- Ontology Interchange Language (OIL)
- logic based language.
- brings logic and inference to the Semantic Web
www.daml.org
DAML+OIL: http://www.daml.org/2001/03/daml+oil-index.html
2016/7/1
44
DAML+OIL (www.daml.org)

It builds on earlier W3C standards such as
RDF and RDF Schema.

DAML extends RDF and RDFS with richer
modelling primitives.
 disjointWith, intersectionOf, oneOf,
cardinality

Able to provide properties of properties
 uniqueness, transitivity, etc.
2016/7/1
45
DAML+OIL substrate: Description
Logics



2016/7/1
Classes are defined in terms of other
classes/relations
Relations are first class citizens
Powerful inference algorithms:
 Subsumption: is classA a subclass of
classB given their definitions?
 Recognition: is instanceA of classA?
 Classification: automatic reorganization of
class hierarchy based on definitions of
classes
46
An Example (from www.daml.org)
<rdf:RDF
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:daml="http://www.daml.org/2000/12/daml+oil#"
xmlns ="http://www.daml.org/2000/12/daml+oil-ex#"
>
Start of
<daml:Ontology about=“”>
<daml:versionInfo>An example ontology</daml:versionInfo>
an ontology (about = “” implies ‘this’ document)
<rdfs:Class rdf:ID="Animal">
The label is not
<rdfs:label>Animal</rdfs:label>
<rdfs:comment>
This class of animals is illustrative of a number of ontological idioms.
</rdfs:comment>
</rdfs:Class>
used for logical interpretation
<rdfs:Class rdf:ID="Male">
<rdfs:subClassOf rdf:resource="#Animal"/>
</rdfs:Class>
<rdfs:Class rdf:ID="Female">
<rdfs:subClassOf rdf:resource="#Animal"/>
<daml:disjointWith rdf:resource="#Male"/>
</rdfs:Class>
<rdfs:Class rdf:ID="Man">
<rdfs:subClassOf rdf:resource="#Person"/>
<rdfs:subClassOf rdf:resource="#Male"/>
</rdfs:Class>
2016/7/1
Can explicitly specify the set of Females to
be disjoint with the set of Males
The Person class is defined later
To be read conjunctively. A man is a sub-class of
‘Person’ and a ‘Male’
47
Example (contd..)
<rdfs:Class rdf:ID="Woman">
<rdfs:subClassOf rdf:resource="#Person"/>
<rdfs:subClassOf rdf:resource="#Female"/>
</rdfs:Class>
<rdf:ObjectProperty rdf:ID="hasParent">
<rdfs:domain rdf:resource="#Animal"/>
<rdfs:range rdf:resource="#Animal"/>
</rdf:ObjectProperty>
An objectProperty relates objects to objects
Describes the element which encloses this Property
Describes the value of the Property
<rdf:ObjectProperty rdf:ID="hasFather">
<rdfs:subPropertyOf rdf:resource="#hasParent"/>
<rdfs:range rdf:resource="#Male"/>
</rdf:ObjectProperty>
Note: Contrary to RDF, DAML takes the ‘intersection’
of the domains/ranges if multiple domains/ranges
are specified
A datatype property relates an object to a primitive datatype value
<daml:DatatypeProperty rdf:ID="age">
<rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/>
</daml:DatatypeProperty
<rdfs: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>
<rdfs:subClassOf>
<daml:Restriction daml:cardinality="1">
<daml:onProperty rdf:resource="#hasFather"/>
</daml:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
2016/7/1
The XML Schema datatype is referenced here
The Restriction defines an anonymous class of all things
that satisfy the restriction.
Restrictions on the property hasParent (only for the
Person class – Local scope, as opposed to rdfs:range)
A person can have only another Person
as it’s parent
A Person can have only 1 Father
48
Example (contd..)
<rdfs:Class rdf:about="#Animal">
<rdfs:subClassOf>
<daml:Restriction daml:cardinality="2">
<daml:onProperty rdf:resource="#hasParent"/>
</daml:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdfs:Class rdf:about="#Person">
<rdfs:subClassOf>
<daml:Restriction daml:maxcardinality="1">
<daml:onProperty rdf:resource="#hasSpouse"/>
</daml:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
Addition to the Animal Class without modifying it -- “about”
Restrictions on the property hasParent
An animal can have exactly 2 parents
Restrictions on the property hasSpouse
A person can have only 1 spouse
Further constructs that the example doesn’t use :
Properties:
TransitiveProperty (hasAncestor), UniqueProperty (hasMother),
inverseOf(hasChild -> hasParent), etc.
Classes:
intersectionOf (a daml:collection), unionOf (a daml:collection),
sameClassAs, complementOf, etc.
2016/7/1
49
DAML References/Tools
DAML Viewer:
It provides a means to view the instances found in a DAML
document.
http://www.daml.org/viewer/applet.html
DAML Crawler Results:
A list of .daml files on the internet
http://www.daml.org/crawler/pages.html
A DAML Validator
http://www.daml.org/validator/
A DAML example explained:
It has the same example as in the slides, discussed in detail.
http://www.daml.org/2001/03/daml+oil-walkthru.html
2016/7/1
50
2016/7/1
51
Putting semantics on the web
2016/7/1
52
(and making it machine-readable)
2016/7/1
53
2016/7/1
54
Event:title
<daml:ObjectProperty rdf:ID="photograph">
<rdfs:domain rdf:resource="#Picture"/>
<rdfs:range rdf:resource= …#person"/>
</daml:ObjectProperty>
Event:WebPage
< > rdf:type photo:Photograph,
Photo:File http://…/images#image1,
Photo:topic :event1#event:speaker.
Event1 a Event:event;
date “May 7-11”,
speaker http://…#timbl.html
Title “WWW 2002…”
TimBL rdf:type w3c-ont:person;
name “Tim Berners-Lee”
…
2016/7/1
<s:Class
rdf:about="http://www.semanticweb.org/o
ntologies/swrc-onto-2000-0910.daml#Conference">
<s:comment>
describes a generic conceptabout events
</s:comment>
<s:subClassOf
rdf:resource="http://www.semanticweb.or
g/ontologies/swrc-onto-2000-0910.daml#Event"/>
<a:disjointFrom
rdf:resource="http://www.semanticweb.or
g/ontologies/swrc-onto-2000-0910.daml#Workshop"/>
<a:restrictedBy
rdf:resource="http://www.semanticweb.or
g/ontologies/swrc-onto-2000-0910.daml#genid18"/>
<rdf:Description rdf:about="http://www.w3.org/2001/03/earl/0.95#Person">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2001/03/earl/0.95#Assertor"/>
</rdf:Description>
55
Real examples
Examples from
http://dormouse.cs.umd.edu:8080/wiki/cmsc4
98wiki.wiki
 Students violated every rule in the KR book
 Extended existing ontologies
 Linked instances directly to terms from
multiple ontologies
 Mixed “real KR” and NL
 We can learn from their lessons
 http://dormouse.cs.umd.edu:8080/wiki/assi
2016/7/1
56
gnment1_collected_les.wiki

Services off the desktop
2016/7/1
57
Or perhaps on different desktops…
2016/7/1
58
Web Agents need Service
Descriptions
2016/7/1
59
Semantic Web Service
Description
- <daml:Class rdf:ID="CreateAcct">
<rdfs:subClassOf
rdf:resource="http://www.daml.org/services/damls/2001 /10/Process.daml#AtomicProcess" />
- <rdfs:subClassOf>
- <daml:Restriction daml: cardinality="1">
<daml:onProperty rdf:resource="#createAcctInfo" />
</ daml:Restriction>
</ rdfs:subClassOf>
- <rdfs:subClassOf>
- <daml:Restriction daml: cardinality="1">
<daml:onProperty rdf:resource="#createAcctOutput" />
</ daml:Restriction>
</ rdfs:subClassOf>
</ daml:Class>
- <rdf:Property rdf:ID="createAcctInf o">
<rdfs:subPropertyOf
rdf:resource="http://www.daml.org/services/damls/2001 /10/Process.daml#input" />
<rdfs:domai n rdf:resource="#CreateAcct" />
<rdfs:range rdf:resource="#AcctInf o" />
</ rdf:Property>
- <rdf:Property rdf:ID="createAcctOutput">
<rdfs:subPropertyOf
rdf:resource="http://www.daml.org/services/damls/2001 /10/Process.daml#output" />
<rdfs:domai n rdf:resource="#CreateAcct" />
<rdfs:range rdf:resource="#CreateAcctOutputType" />
</ rdf:Property>
2016/7/1
60
Use Semantics for Composition
Translate my symptoms from
French and find me a pharmacy
that has the necessary medicine
(then compute how to get there
and print the directions)
2016/7/1
Print the directions to a pharmacy
which has a medicine that cures
the symptoms that I will tell you
(in French)
61
Or, translate to Planning
Operators
- <daml:Class rdf:ID="DeliveryType">
- <daml:oneOf rdf:parseType="daml:collection">
Ź <DeliveryType rdf:ID="FedExOneDay" />
Ź <DeliveryType rdf:ID="FedEx2-3day" />
Ź <DeliveryType rdf:ID="UPS" />
Ź <DeliveryType rdf:ID="Ordin aryMail" />
Ź </ daml:oneOf>
Ź </ daml:Class>
The atomic process ŅSpecifyDeliveryD etailsÓ can be transla ted into a SH OP2 operator
with cor responding pr econd itions as follows:
(:operator (!SpecifyDeliveryDetails ?deli veryAddress ?pa ckagingSelection
?deliveryTypeSelection)
((not (same ?deliveryAdd ress ni l))
(not (same ?packagingSelection nil))
(not (same ?deli veryTypeSelection nil))
(eval (stringp ?del iveryAdd ress))
(eval (member ‘?packagingSelection ‘(Gif twrap Ordinary)))
(eval (member ‘?deliveryTypeSelection ‘(FedExOneDay FedEx23day UPS OrdinaryMail))))
()
())
2016/7/1
62
For goal-based service
composition
2016/7/1
Buy the French version of a book from amazon.fr and
have it sent to Mom’s address
63
Services need Web Logics
2016/7/1
64
Web of Trust

Claims can be verified if there is supporting evidence from
another (trusted) source

We only believe that someone is a professor at a
university if the university also claims that person
is a professor, and the university is on a list I trust.
believe(c1) :- claims(x, c1) ^ predicate(c1, professorAt) ^
arg1(c1, x) ^ arg2(c1, y) ^ claims(c2, y) ^
predicate(c2, professorAt) ^ arg1(c2, x) ^
arg2(c2, y) ^ AccreditedUniversity(y)
AcknowledgedUniversity(u) :- link-from(“http://www.cs.umd.edu/university-list”,u)
Notice this one
2016/7/1
65
Distributed Trust
2016/7/1
66
Conclusion


Semantic Web = Meaning for the Machines
To do this the machines have to agree on a common
language
 Name spaces
 Ontologies
 Inferences
 Layers:
 XML
 RDF
 OWL, DAML, OIL
2016/7/1
67
Download