Web Services for Semantic Interoperability and
Document Sample


Web Services for
Semantic Interoperability
and Integration
Tim Finin
University of Maryland,
Baltimore County
Dagstuhl, 20 September 2004
http://ebiquity.umbc.edu/v2.1/event/html/id/??/
Joint work with many colleagues and students.
http://creativecommons.org/licenses/by-nc-sa/2.0/
This work was partially supported by DARPA contract F30602-97-1-0215, NSF
grants CCR007080 and IIS9875433 and grants from IBM, Fujitsu and HP.
1
Overview
The question
What role will web services play in
support of semantic interoperability and
integration (SII) ?
My answer
Illustration using two examples drawn
from our work
UMBC
an Honors University in Maryland 2
My Answer
(1) Agents fill many useful roles for SII
(2) On the web, web services play the
role of agents
(3) The web is consuming all IT
(4) Therefore web services will replace
agents in systems doing SII
UMBC
an Honors University in Maryland 3
Agents are useful for SSI
Agents are <insert your favorite definition here>
Agent roles for SII include
Discovery of ontologies, terms (e.g., class,
property), and individuals
Translation services
Dynamic computing alignments and matches
Meaning negotiation
Reasoning services
…
UMBC
an Honors University in Maryland 4
web services agents
On the web, there’s pressure to push all
programs behind web service APIs
It doesn’t make much difference if agents
communicate via KQML+KIF, FIPA, or
OWL+web services
We want to be at a level of abstraction involving
beliefs, desires, intentions, plans, goals, etc.
SO, if the price of admission is to use SOAP and
WSDL, we’ll pay it
UMBC
an Honors University in Maryland 5
The Web
Is like the Blob, consuming
all in it’s path
Resistance is futile
More seriously…
it promotes sharing,
building on other’s content,
offering your content for
building upon,
decentralization,
community development
and evolution, common
identifiers (URIs), has a
working infrastructure, etc.
These are significant
UMBC
an Honors University in Maryland
advantages 6
Example: Security and Trust for
Semantic Web Services
Semantic web services are web services
described using OWL-S Policies +
Policy-based security infrastructure Semantic
Advantages of using policies: Web Services
Expressive -- can be over descriptions
of requester, service & context
Authorization: Rules for access control
Privacy: Rules for protecting information
Confidentiality: Cryptographic
characteristics of information
exchanged
UMBC
an Honors University in Maryland 7
Example
Mary is looking for a reservation service
Functional service requirements
foaf identity description
Confidentiality policy
BravoAir is a reservation service
OWL-S description
Authorization policy (e.g., Only users belonging to the
same project as John can access the service)
Privacy policy
The CMU matchmaker is an agent that finds and
recommends services
UMBC
an Honors University in Maryland 8
Mary
<!-- Mary's FOAF description -->
<foaf:Person rdf:ID="mary">
<foaf:name>Mary Smith</foaf:name>
<foaf:title>Ms</foaf:title>
<foaf:firstName>Mary</foaf:firstName>
<foaf:surname>Smith</foaf:surname>
<foaf:homepage
rdf:resource="http://www.somewebsite.com/marysmith.html"/>
<foaf:currentProject rdf:resource="
http://www.somewebsite.com/SWS-Project.rdf "/>
<sws:policyEnforced rdf:resource="&mary;ConfidentalityPolicy"/>
</foaf:Person>
</rdf:RDF>
UMBC
an Honors University in Maryland 9
Bravo Policy
<entity:Variable rdf:about="&bravo-policy;var1"/>
<entity:Variable rdf:about="&bravo-policy;var2"/>
<constraint:SimpleConstraint
<deontic:Right rdf:about="&bravo-
rdf:about="&bravo- policy;AccessRight">
policy;GetJohnProject"
<deontic:actor rdf:resource="&bravo-
constraint:subject="&john;John"
policy;var1"/>
constraint:predicate="&foaf;currentProject"
<deontic:action rdf:resource="&bravo-
constraint:object="&bravo-policy;var2"/> service;BravoAir_ReservationAgent"/>
<deontic:constraint rdf:resource="&bravo-
<constraint:SimpleConstraint policy;AndCondition1"/>
rdf:about="&bravo-
</deontic:Right>
policy;SameProjectAsJohn"
constraint:subject="&bravo-policy;var1"
constraint:predicate="&foaf;currentProject" ………
constraint:object="&bravo-policy;var2"/>
<rdf:Description rdf:about="&bravo-
<!-- constraints combined --> service;BravoAir_ReservationAgent">
<constraint:And rdf:about="&bravo- <sws:policyEnforced rdf:resource="&bravo-
policy;AndCondition1" policy;AuthPolicy"/>
constraint:first="&bravo-policy;GetJohnProject" </rdf:Description>
constraint:second="&bravo-
policy;SameProjectAsJohn"/>
UMBC
an Honors University in Maryland 10
How it works
Matchmaker
and Reasoner
Mary BravoAir
Web service
URL to foaf desc +
query request <sws:policyEnforced rdf:resource =
"&bravo-policy;AuthPolicy"/>
Bravo Service OWL-S Desc
UMBC
an Honors University in Maryland 11
How it works
Mary’s query = Bravo Service ? YES
Extract Bravo’s policy
Does Mary meets Bravo’s policy ?
<deontic:Right rdf:about="&bravo-policy;AccessRight">
<deontic:actor rdf:resource="&bravo-policy;var1"/>
<constraint:SimpleConstraintenforcement complete
Authorization
<deontic:action rdf:resource="&bravo-service;BravoAir_ReservationAgent"/>
rdf:about = "&bravo-policy;GetJohnProject”
<deontic:constraint rdf:resource="&bravo-policy;AndCondition1"/>
constraint:subject="&john;John"
</deontic:Right>
constraint:predicate="&foaf;currentProject"
constraint:object="&bravo-policy;var2"/>
Mary <policy:Granting rdf:about="&bravo-policy;AuthGranting">
var2 = http://www.somewebsite.com/SWS-Project.rdf
<policy:to rdf:resource="&bravo-policy;var1"/>
BravoAir
<policy:deontic rdf:resource="&bravo-policy;AccessRight"/> Web service
<foaf:currentProject rdf:resource =
</policy:Granting>
"http://www.somewebsite.com/SWS-Project.rdf"/>
<sws:AuthorizationPolicy rdf:about="&bravo-policy;AuthPolicy">
<constraint:SimpleConstraint
<policy:grants rdf:resource="&bravo-policy;AuthGranting"/>
rdf:about="&bravo-policy;SameProjectAsJohn"
</sws:AuthorizationPolicy>
constraint:subject="&bravo-policy;var1"
constraint:predicate="&foaf;currentProject"
<rdf:Description rdf:about="&bravo-service;BravoAir_ReservationAgent">
constraint:object="&bravo-policy;var2"/>
<sws:policyEnforced rdf:resource="&bravo-policy;AuthPolicy"/>
</rdf:Description>
Is the constraint true when
var2 = http://www.somewebsite.com/SWS-Project.rdf
var1 = http://www.cs.umbc.edu/~lkagal1/rei/examples/sws-
sec/MaryProfile.rdf
UMBC
an Honors University in Maryland 12
Google has made us smarter
Google has made people smarter
Software agents need something similar to maximize
their use of information on the semantic web.
UMBC
an Honors University in Maryland 13
Swoogle: Google for SWDs
Current Status
~190K SW documents
~1% ontologies
~33M triples
~60K classes
~50K properties
~5M values
http://swoogle.umbc.edu/
Swoogle may provide the corpus of
Swoogle is a crawler based search ontologies and data that use them
& retrieval system for semantic desired by Natasha e.g., answering
web documents. It discovers them, queries like:
builds a DB of metadata &
relations, stores them in a triple • Find all documents that map
store and their source in an IR between O1 and O2
system. • What classes are owl:sameAs C
• What values are used for
properties P1 and P2?
UMBC • Find all OWL-S service instances
an Honors University in Maryland 14
UMBC
an Honors University in Maryland 15
Example policies
Authorization
Policy 1: Stock service not accessible after market
closes
Policy 2: Only LAIT lab members who are Ph.D.
students can use the LAIT lab laser printer
Privacy/Confidentiality
Policy 3: Do not disclose my my SSN
Policy 4: Do not disclose my home address or facts
from which it could be easily discovered
Policy 5: Do not use a service that doesn’t encrypt all
input/output
Policy 6: Use only those services that required an SSN
if it is encrypted
UMBC
an Honors University in Maryland 18
Swoogle2 Architecture
SWOOGLE 2
Swoogle Ontology Swoogle Web Server Human users
service Search Dictionary Statistics
Web Service Intelligent Agents
IR analyzer SWD analyzer
analysis
SWD Cache SWD Metadata
digest
SWD Reader
The Web
discovery Candidate
URLs Web Crawlers
UMBC
an Honors University in Maryland 19
Get documents about "