Upload
zeal
View
35
Download
2
Embed Size (px)
DESCRIPTION
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/ - PowerPoint PPT Presentation
Citation preview
11
Web Services for Web Services for Semantic Semantic
Interoperability and Interoperability and IntegrationIntegration
Tim FininUniversity 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.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 22
OverviewOverview
The questionThe question
What role will web services play in What role will web services play in support of semantic interoperability support of semantic interoperability and integration (SII) ?and integration (SII) ?
My answerMy answer Illustration using two examples Illustration using two examples
drawn from our workdrawn from our work
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 33
My AnswerMy Answer
(1) Agents fill many useful roles for (1) Agents fill many useful roles for SIISII
(2) On the web, web services play (2) On the web, web services play the role of agents the role of agents
(3) The web is consuming all IT(3) The web is consuming all IT
(4) Therefore web services will (4) Therefore web services will replace agents in systems doing replace agents in systems doing SIISII
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 44
Agents are useful for SSIAgents are useful for SSI
Agents areAgents are <<insert your favorite definition insert your favorite definition here>here>
Agent roles for SII includeAgent roles for SII include Discovery of ontologies, terms (e.g., class, Discovery of ontologies, terms (e.g., class,
property), and individualsproperty), and individuals Translation servicesTranslation services Dynamic computing alignments and matchesDynamic computing alignments and matches Meaning negotiationMeaning negotiation Reasoning servicesReasoning services ……
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 55
web services web services agents agents
On the web, there’s pressure to push all On the web, there’s pressure to push all programs behind web service APIsprograms behind web service APIs
It doesn’t make much difference if agents It doesn’t make much difference if agents communicate via KQML+KIF, FIPA, or communicate via KQML+KIF, FIPA, or OWL+web servicesOWL+web services
We want to be at a level of abstraction We want to be at a level of abstraction involving beliefs, desires, intentions, plans, involving beliefs, desires, intentions, plans, goals, etc.goals, etc.
SO, if the price of admission is to use SOAP SO, if the price of admission is to use SOAP and WSDL, we’ll pay itand WSDL, we’ll pay it
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 66
The WebThe Web Is like the Blob, consuming Is like the Blob, consuming
all in it’s pathall in it’s path Resistance is futileResistance is futile More seriously…More seriously…
it promotes sharing, it promotes sharing, building on other’s content, building on other’s content, offering your content for offering your content for building upon, building upon, decentralization, decentralization, community development community development and evolution, common and evolution, common identifiers (URIs), has a identifiers (URIs), has a working infrastructure, etc.working infrastructure, etc.
These are significant These are significant advantagesadvantages
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 77
Example: Security and Trust Example: Security and Trust forfor
Semantic Web ServicesSemantic Web ServicesSemantic web services are web services Semantic web services are web services described using OWL-Sdescribed using OWL-S
Policy-based security infrastructurePolicy-based security infrastructureAdvantages of using policies:Advantages of using policies:
Expressive -- can be over descriptionsExpressive -- can be over descriptionsof requester, service & contextof requester, service & context
Authorization: Rules for access controlAuthorization: Rules for access control Privacy: Rules for protecting informationPrivacy: Rules for protecting information Confidentiality: CryptographicConfidentiality: Cryptographic
characteristics of informationcharacteristics of informationexchangedexchanged
Policies +Semantic
Web Services
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 88
ExampleExample Mary is looking for a reservation serviceMary is looking for a reservation service
Functional service requirementsFunctional service requirements foaffoaf identity descriptionidentity description Confidentiality policyConfidentiality policy
BravoAir is a reservation serviceBravoAir is a reservation service OWL-S descriptionOWL-S description Authorization policy (e.g., Only users belonging Authorization policy (e.g., Only users belonging
to the same project as John can access the to the same project as John can access the service)service)
Privacy policyPrivacy policy The CMU matchmaker is an agent that finds The CMU matchmaker is an agent that finds
and recommends servicesand recommends services
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 99
MaryMary
<!-- Mary's FOAF description --><!-- Mary's FOAF description --><foaf:Person rdf:ID="mary"><foaf:Person rdf:ID="mary"><foaf:name>Mary Smith</foaf:name><foaf:name>Mary Smith</foaf:name>
<foaf:title>Ms</foaf:title><foaf:title>Ms</foaf:title><foaf:firstName>Mary</foaf:firstName><foaf:firstName>Mary</foaf:firstName><foaf:surname>Smith</foaf:surname><foaf:surname>Smith</foaf:surname><foaf:homepage <foaf:homepage rdf:resource="http://www.somewebsite.com/marysmith.html"/>rdf:resource="http://www.somewebsite.com/marysmith.html"/><foaf:<foaf:currentProject currentProject rdf:resource=" rdf:resource=" http://www.somewebsite.com/SWS-Project.rdf "/>http://www.somewebsite.com/SWS-Project.rdf "/>
<sws:<sws:policyEnforcedpolicyEnforced rdf:resource="&mary;ConfidentalityPolicy"/>rdf:resource="&mary;ConfidentalityPolicy"/>
</foaf:Person></foaf:Person>
</rdf:RDF></rdf:RDF>
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1010
Bravo PolicyBravo Policy<entity:Variable rdf:about="&bravo-policy;var1"/>
<entity:Variable rdf:about="&bravo-policy;var2"/>
<constraint:SimpleConstraint
rdf:about="&bravo-policy;GetJohnProject"
constraint:subject="&john;John"
constraint:predicate="&foaf;currentProject"
constraint:object="&bravo-policy;var2"/>
<constraint:SimpleConstraint
rdf:about="&bravo-policy;SameProjectAsJohn"
constraint:subject="&bravo-policy;var1"
constraint:predicate="&foaf;currentProject"
constraint:object="&bravo-policy;var2"/>
<!-- constraints combined -->
<constraint:And rdf:about="&bravo-policy;AndCondition1"
constraint:first="&bravo-policy;GetJohnProject"
constraint:second="&bravo-policy;SameProjectAsJohn"/>
<deontic:Right rdf:about="&bravo-policy;AccessRight"><deontic:actor rdf:resource="&bravo-policy;var1"/><deontic:action rdf:resource="&bravo-service;BravoAir_ReservationAgent"/><deontic:constraint rdf:resource="&bravo-policy;AndCondition1"/>
</deontic:Right>
………
<rdf:Description rdf:about="&bravo-service;BravoAir_ReservationAgent"><sws:policyEnforced rdf:resource="&bravo-policy;AuthPolicy"/>
</rdf:Description>
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1111
How it How it worksworks
BravoAirWeb service
Mary
Matchmakerand Reasoner
URL to foaf desc + query request <sws:policyEnforced rdf:resource
= "&bravo-policy;AuthPolicy"/>
Bravo Service OWL-S Desc
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1212
How it worksHow it worksMary’s query = Bravo Service ? YESExtract Bravo’s policyDoes Mary meets Bravo’s policy ?Authorization enforcement complete
<deontic:Right rdf:about="&bravo-policy;AccessRight"><deontic:actor rdf:resource="&bravo-policy;var1"/><deontic:action rdf:resource="&bravo-
service;BravoAir_ReservationAgent"/><deontic:constraint rdf:resource="&bravo-
policy;AndCondition1"/></deontic:Right>
<policy:Granting rdf:about="&bravo-policy;AuthGranting"><policy:to rdf:resource="&bravo-policy;var1"/><policy:deontic rdf:resource="&bravo-policy;AccessRight"/>
</policy:Granting>
<sws:AuthorizationPolicy rdf:about="&bravo-policy;AuthPolicy"><policy:grants rdf:resource="&bravo-policy;AuthGranting"/>
</sws:AuthorizationPolicy>
<rdf:Description rdf:about="&bravo-service;BravoAir_ReservationAgent"><sws:policyEnforced rdf:resource="&bravo-policy;AuthPolicy"/>
</rdf:Description>
Mary BravoAirWeb service
<constraint:SimpleConstraint rdf:about="&bravo-policy;SameProjectAsJohn" constraint:subject="&bravo-policy;var1" constraint:predicate="&foaf;currentProject" constraint:object="&bravo-policy;var2"/>
Is the constraint true when var2 = http://www.somewebsite.com/SWS-Project.rdfvar1 = http://www.cs.umbc.edu/~lkagal1/rei/examples/sws-sec/MaryProfile.rdf
<foaf:currentProject rdf:resource = "http://www.somewebsite.com/SWS-Project.rdf"/>
<constraint:SimpleConstraint rdf:about = "&bravo-policy;GetJohnProject” constraint:subject="&john;John" constraint:predicate="&foaf;currentProject" constraint:object="&bravo-policy;var2"/>
var2 = http://www.somewebsite.com/SWS-Project.rdf
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1313
Google has made us smarterGoogle has made us smarter
Google has made people smarterGoogle has made people smarter Software agents need something similar to maximizeSoftware agents need something similar to maximize
their use of information on the semantic web.their use of information on the semantic web.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1414
Swoogle: Google for SWDsSwoogle: Google for SWDs
Swoogle is a crawler based search & retrieval system for semantic web documents. It discovers them, builds a DB of metadata & relations, stores them in a triple store and their source in an IR system.
http://swoogle.umbc.edu/
Current Status
~190K SW documents~1% ontologies~33M triples~60K classes~50K properties~5M values
Swoogle may provide the corpus of ontologies and data that use them desired by Natasha e.g., answering queries like:• Find all documents that map
between O1 and O2• What classes are owl:sameAs
C• What values are used for
properties P1 and P2?• Find all OWL-S service
instances
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1515
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1818
Example policiesExample policies AuthorizationAuthorization
Policy 1: Stock service not accessible after Policy 1: Stock service not accessible after market closesmarket closes
Policy 2: Only LAIT lab members who are Ph.D. Policy 2: Only LAIT lab members who are Ph.D. students can use the LAIT lab laser printerstudents can use the LAIT lab laser printer
Privacy/ConfidentialityPrivacy/Confidentiality Policy 3: Do not disclose my my SSNPolicy 3: Do not disclose my my SSN Policy 4: Do not disclose my home address or Policy 4: Do not disclose my home address or
facts from which it could be easily discoveredfacts from which it could be easily discovered Policy 5: Do not use a service that doesn’t Policy 5: Do not use a service that doesn’t
encrypt all input/outputencrypt all input/output Policy 6: Use only those services that required Policy 6: Use only those services that required
an SSN if it is encryptedan SSN if it is encrypted
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1919
SWOOGLE 2
SWD Metadata
Web Service
Web Server
SWD Cache
The Web
The WebCandidate
URLs Web Crawlers
SWD Reader
IR analyzer SWD analyzer
SwoogleSwoogle22 Architecture Architecture
Human users
Intelligent Agents
discovery
digest
analysis
serviceOntologyDictionary
SwoogleSearch
SwoogleStatistics