Semantic Web Research @ UMBC Dr. Yelena Yesha Semantic Web Research @ UMBC IBM RTP
Semantic Web Research @ UMBC About the Semantic Web An extension to the present World Wide Web. The focus is on enabling computing machines to be able to reason about web information in addition to display web information. NOTE: displaying information does not necessarily require “deep” understanding of the information. NOTE: in order to reason about information often requires “deep” understanding of the information. Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC The Current Web (adopted from Eric Miller’s presentation http://www.w3.org/2004/Talks/0120-semweb-umich/) Resource: Identified by URI’s Untyped Links: “href”, “src” … non-descriptive Users: Exciting world - semantics of resource, however, gleaned from content Machine: Very little information available - significance of the links only evident from the context around the anchor Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC The Semantic Web (adopted from Eric Miller’s presentation http://www.w3.org/2004/Talks/0120-semweb-umich/) Resource: Globally identified by URI’s or locally scoped (blank) Extensible Relational Links: Identified by URI’s Users: Even more exciting world, richer user experience Machine: More processable information is available (Data Web) Yelena Yesha Semantic Web Research @ UMBC
The Semantic Web Layer Cake “The Semantic Web will globalize KR, just as the WWW globalize hypertext” -- Tim Berners-Lee we are here Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Ontologies Formally, an ontology is an explicit specification of a conceptualization. For the developers, building ontologies is about defining shared vocabularies and associated semantic relations SonyEricsson T68i is a type of cellphone All SonyEricsson T68i supports Bluetooth Harry has a SonyEricsson T68i device => Harry’s cellphone supports Bluetooth. Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Languages KR languages for defining ontologies W3C Recommendations RDF/RDFS -- represents information as N-Triples (subject, predicate, object); supports basic class-subclass & properties. OWL (Web Ontology Language) -- adds more vocab. for describing classes and properties, cardinality, equality, XML datatypes, enumerations etc. http://www.w3.org/2001/sw/ Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research - UMBC Team Tim Finin Anupam Joshi Yelena Yesha Yun Peng 12+ Ph.D, 10+ M.S students Selected Projects Swoogle Semantic Discovery Rei – Policies for the Semantic Web CoBrA Yelena Yesha Semantic Web Research @ UMBC
An indexing and retrieval engine for the Semantic Web Yelena Yesha Semantic Web Research @ UMBC
Concepts and Motivation Google has made us all smarter Software agents will need something similar to maximize the use of information on the semantic web. Yelena Yesha Semantic Web Research @ UMBC
Concepts and Motivation Semantic web researchers need to understand how people are using the concepts & languages and might want to ask questions like: What graph properties does the semantic web exhibit? How many OWL files are there? Which are the most popular ontologies? What are all the ontologies that are about time? What documents use terms from the ontology http://daml.umbc.edu/ontologies/cobra/0.4/agent ? What ontologies map their vocabulary to http://reliant.teknowledge.com/DAML/SUMO.owl ? Yelena Yesha Semantic Web Research @ UMBC
Concepts and Motivation Semantic web tools may need to find ontologies on a given topic or similar to another one. UMCP’s SMORE annotation editor helps a user add annotations to a text document, an image, or a spreadsheet. It suggests ontologies and terms that may be relevant to express the user’s annotations. How can it find relevant ontologies? Yelena Yesha Semantic Web Research @ UMBC
Example Queries and Services What documents use/are used (directly/indirectly) by ontology X? Monitor any ontology used by document X (directly or indirectly) for changes Find ontologies that are similar to ‘http://…’ Let me browse ontologies w.r.t. the scienceTopics topic hierarchy. Find ontologies that include the strings ‘time day hour before during date after temporal event interval’ Show me all of the ontologies used by the ‘National Cancer Institute’ Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC http://swoogle.umbc.edu/ Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC SWOOGLE2 Architecture SWOOGLE 2 Web Server Human users Swoogle Search Ontology Dictionary Swoogle Statistics service Web Service Intelligent Agents IR analyzer SWD analyzer analysis SWD Cache SWD Metadata digest The updated version SWD Reader Candidate URLs The Web discovery Web Crawler Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Ontology Dictionary Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Swoogle Statistics Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Semantic Discovery Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Semantic Discovery(2) Yelena Yesha Semantic Web Research @ UMBC
Rei – Polices for Open, Distributed and Dynamic Systems Yelena Yesha Semantic Web Research @ UMBC
It’s policies all the way down 1 A robot may not injure a human being, or, through inaction, allow a human being to come to harm. 2 A robot must obey the orders given it by human beings except where such orders would conflict with the First Law. 3 A robot must protect its own existence as long as such protection does not conflict with the First or Second Law. - Handbook of Robotics, 56th Edition, 2058 A.D. Yelena Yesha Semantic Web Research @ UMBC
It’s policies all the way down In Asimov’s world, the robots didn’t always strictly follow their policies Unlike traditional “hard coded” rules like DB access control & OS file permissions Autonomous agents need policies as “norms of behavior” to be followed to be good citizens So, it’s natural to worry about … How agents governed by multiple policies can resolve conflicts among them How to deal with failure to follow policies – sanctions, reputation, etc. Whether policy engineering will be any easier than software engineering 1 A robot may not injure a human being, or, through inaction, allow a human being to come to harm. 2 A robot must obey the orders given it by hu-man beings except where such orders would conflict with the First Law. 3 A robot must protect its own existence as long as such protection does not conflict with the First or Second Law. - Handbook of Robotics, 56th Edition, 2058 A.D. Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Our Approach Policies are useful at virtually all levels OS, networking, data management, applications Declarative policies guide the behavior of entities in open, distributed environments Positive & negative authorizations & obligations Focused on domain actions Policies are based on attributes of the action (and its actor and target) and the general context – not just on their identity of the actor Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Rei Policy Language Developed several versions of Rei, a policy specification language, encoded in (1) Prolog, (2) RDFS, (3) OWL Used to model different kinds of policies Authorization for services Privacy in pervasive computing and the web Conversations between agents Team formation, collaboration & maintenance The OWL grounding enables policies that reason over SW descriptions of actions, agents, targets and context Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Rei Policy Language Rei is a declarative policy language for describing policies over actions Reasons over domain dependent information Currently represented in OWL + logical variables Based on deontic concepts Permission, Prohibition, Obligation, Dispensation Models speech acts Delegation, Revocation, Request, Cancel Meta policies Priority, modality preference Policy engineering tools Reasoner, IDE for Rei policies in Eclipse Yelena Yesha Semantic Web Research @ UMBC
Rei Specifications (partial) Yelena Yesha Semantic Web Research @ UMBC
Applications – past, present & future Coordinating access in supply chain management system Authorization policies in a pervasive computing environment Policies for team formation, collaboration, information flow in multi-agent systems Security in semantic web services Privacy and trust on the Internet Privacy in pervasive computing environments 1999 2002 2003 … 2004 … Yelena Yesha Semantic Web Research @ UMBC
Example: Security and Trust for Semantic Web Services Semantic web services are web services described using OWL-S Policy-based security infrastructure Advantages of using policies: 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 Policies + Semantic Web Services Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC 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 Privacy policies and confidentiality policies are very closely related. We currently view privacy policies as restrictions over the input and output of web services. For example, a requester may not want to use a service that asks for his SSN . A more interesting example is when a requester does not want his telephone number to be disclosed. In this case, the reasoner should be able to figure out that given the name and address it is possible to find the user’s telephone number. So the reasoner should restrict access to those services that use the name and address as well as those that use the telephone number directly. This is part of our future work. Confidentiality policies describe the cryptographic protocols required for the input and output of the service. Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Example Mary is looking for a reservation service foaf description Confidentiality policy BravoAir is a reservation service OWL-S description Authorization policy Only users belonging to the same project as John can access the service Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC 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> Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Bravo 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"/> rdf:about="&bravo-policy;SameProjectAsJohn" constraint:subject="&bravo-policy;var1" <!-- 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> Yelena Yesha Semantic Web Research @ UMBC
How it works BravoAir Web service Mary Matchmaker + Reasoner URL to foaf desc + query request <sws:policyEnforced rdf:resource = "&bravo-policy;AuthPolicy"/> Matchmaker + Reasoner Bravo Service OWL-S Desc Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC How it works Mary’s query = Bravo Service ? YES Extract Bravo’s policy <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> Does Mary meets Bravo’s policy ? <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 Authorization enforcement complete Mary BravoAir Web service <foaf:currentProject rdf:resource = "http://www.somewebsite.com/SWS-Project.rdf"/> <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.rdf var1 = http://www.cs.umbc.edu/~lkagal1/rei/examples/sws-sec/MaryProfile.rdf The matchmaker first finds all those web services that match Mary’s functional description. In this case, it is only Bravo Service. The matchmaker then extracts Bravo’s authorization policy. It reasons over the authorization policy and Mary’s description to verify that the policy is met. As Mary is in the same project as John, she meets the constraints of the policy. After this the matchmaker reasons over Mary’s policy in a similar fashion. Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC What we learned Declarative policies can be used to model security, trust and privacy constraints Reasonably expressive policy languages can be encoded on OWL This enables policies to depend on attributes and context information available on the semantic web Policies are applicable at almost every level of the stack, from systems and networking to multiagent applications. Yelena Yesha Semantic Web Research @ UMBC
Context Broker Architecture (CoBrA) Yelena Yesha Semantic Web Research @ UMBC
Context Broker Architecture Pervasive Computing Semantic Web CoBrA Software Agents CoBrA not CORBA! Yelena Yesha Semantic Web Research @ UMBC
A Bird’s Eye View of CoBrA Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Key Features of CoBrA Using OWL to define ontologies for context modeling and reasoning Taking a rule based approach to interpret and reason about context Using a policy language and engine to control the sharing of user context Yelena Yesha Semantic Web Research @ UMBC
An EasyMeeting Scenario Alice enters a conference room Alice “beams” her policy to the broker B B The broker builds the context model Web The broker detects Alice’s presence B » Policy says, “can share with any agents in the room” A Policy says, “inform my personal agent of my location” A B .. isLocatedIn .. Yelena Yesha Semantic Web Research @ UMBC
An EasyMeeting Scenario The broker tells her location to her agent A Her agent informs the broker of her role and intentions + The broker informs the subscribed agents B The projector agent wants to help Alice The projector agent asks slide show info. B The projector agent sets up the slides Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Research Work in CoBrA Context Reasoner Privacy Protection CoBrA Ontologies EasyMeeting Prototype Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC The CoBrA Ontology (v0.4) http://daml.umbc.edu/ontologies/cobra/0.4/ Yelena Yesha Semantic Web Research @ UMBC
Example : Location Inference Goal: reason about a person’s location using the available sensing information. => Step 1: define a domain spatial ontology Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC A Simple UMBC Ontology Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Location Inference Assume the broker is told that Harry is located in RM-201A Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Location Inference A: the used spatial relations are “rdfs:subProeprtyOf” the “inRegion” property B: “inRegion” is of type “Transitive Property” Based on A & B => … Yelena Yesha Semantic Web Research @ UMBC
Semantic Web Research @ UMBC Other Projects Rule ML Yelena Yesha Semantic Web Research @ UMBC
Credits - Current Students Harry Chen Li Ding Sasikanth Avancha Pranam Kolari Anand Patwardhan Rong Pan Zhongli Ding Olga Ratsimore Srikanth Kallurkar Sethuram Balaji Kodeswaran Jim Parker Joel Sachs Mathew Baker Mohinder Chopra Vishal C Doshi Shashidhara Ganjugunte Abhishek Gujar Viral Parekh Pavan Reddivari Anubhav Sonthalia Rong Yu Yelena Yesha Semantic Web Research @ UMBC