“Realizing What Semantic Web Can Be…….” By, Anup Patel (07305042) Tanmay Mande (07305051)...
-
Upload
abigayle-armstrong -
Category
Documents
-
view
220 -
download
0
Transcript of “Realizing What Semantic Web Can Be…….” By, Anup Patel (07305042) Tanmay Mande (07305051)...
“Realizing What Semantic Web Can Be…….”
By,Anup Patel (07305042)
Tanmay Mande (07305051)Sapan Shah (07305061)
Nilesh Padariya (07305064)
2020 And Beyond ……..
Prafful: “I have a meeting with my boss and I am late …….”
Phone: “Your wife had an accident she is admitted at some
hospital in powai …”Prafful: “I should inform my agent
to reschedule meeting”
Prafful’s Agent Negotiates WithBoss’s Agent and re-schedule meeting to tomorrow.
Agent: “Your meeting is re-scheduled to
tomorrow 5:00 PM”
Prafful: “I still don’t know where is she admitted
in powai …. I should use my agent ….”
Middle Agent
Prafful’s Agent ContactsA Middle Agent to find out some hospital in powaihaving a recently admittedpatient named Gita.
Agent: “Your wife is admitted at New
Powai Hospital Ward No. 9”
New Powai Hospital
Motivation
Original driver: Automation - Make information on the Web more “machine-friendly” - Origins of the Semantic Web are in web metadata
Short term goal: Interoperability- Combining information from multiple sources- Web Services: discovery, composition
Long term goal: “Departure from the Tool Paradigm”- instead of using computers like tools, make them work on our behalf- removing humans from the loop to the extent possible
Roadmap
1. Introduction to Semantic Web
2. Knowledge Representation
3. Agents in Semantic Web
4. Multi-Agent System Communication
5. Agent Communication Language
6. SPARQL
7. Status of Semantic Web
8. Conclusion
9. Bibliography
1. Semantic Web
The Semantic Web is an evolving extension of the
World Wide Web in which web content can be expressed not only in natural language, but also in a format that can be read and used by software agents, thus permitting them to find, share and integrate information more easily.
-- Wikipedia
1.1 Semantic Web Architecture
Knowledge Representation
Knowledge Sharing
Reasoning
Trustworthiness
1.2 Tree of Knowledge Technologies
AI Knowledge
Representation
Semantic
Technology
Languages
Content
Management
Languages
Process
Knowledge
Languages
Software
Modeling
Languages
2. Ontologies in Semantic Web What? .. Is an ontology
Why? .. Do we need ontology
How? .. Do we use ontology
2.1 What?
Ontology is a term borrowed from philosophy that refers to the science of describing the kinds of entities in the world and how they are related.
An ontology is explicit specification of conceptualization
An ontology defines the terms used to describe and represent an area of knowledge
Ontology provides the to be used in a knowledge domain
2.2 Why?
Does Web today understand information? No Can we make it understand the information? Yes.. First provide vocabulary!!
2.3 How?
Web Ontology Language (owl)
Goal is to provide machine-readable descriptions of the content and capabilities of Web accessible resources
Ontology may include descriptions of classes, properties and their instances.
Given such an ontology, the OWL formal semantics specifies how to derive its logical consequences, i.e. facts not literally present in the ontology, but entailed by the semantics.
2.4 OWL constructs Classes:
<owl:Class rdf:ID=“man"> <rdfs:subClassOf rdf:resource="#human" /> </owl:Class>
Properties:Datatype properties: relates objects to datatype values Object Properties: relates objects to objects
Example:. <owl:ObjectProperty rdf:ID=“isFatherOf"> <rdfs:domain rdf:resource="#man"/> <rdfs:range rdf:resource="#man"/> </owl:ObjectProperty>
2.4 OWL constructs (Contd.)
Property Restrictions: used when one requires to put some constraints
Example:<owl:Restriction> <owl:onProperty rdf:resource="#isFatherOf"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">
1 </owl:maxCardinality>
</owl:Restriction>
Possible Use: A ‘is father of’ X & B ‘is father of’ X ‘A = B’
2.5 Example Interested in Buying a Ticket?
Scenario: I am interested in buying a ticket.start_point: Mumbaiend_point: Delhidate_of_journey: xxx
I launch my personal "Web agent" which crawls the Web looking for Web sites that can fulfill my request
Assume that there exists an OWL ‘Travel’ Ontology, which the Web agent can "consult" upon its travels across the Web.
2.6 Example (Contd.)
<TravelAgent rdf:ID=“TravelEasy" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <location>Mumbai</location> <phone>9911224455</phone> <catalog rdf:parseType="Collection"> <airTicket rdf:ID=“AirIndia“ xmlns="http://www.air_india.org#"> <source> Mumbai </source> <destination> Delhi </destination> <date> xxx </date> <cost rdf:parseType="Resource"> <rdf:value>3250</rdf:value>
<currency>Rs</currency> </cost> </airTicket> </catalog></TravelAgent>
The Web Agent finds this document at a Web site:
Is it relevant ?
2.6 Example (Contd.)
Is there a match ?
To answer this question, following questions must be answered:
Is there a match between airTicket and ticket?
Is there a match between start-point and source?
Is there a match between end-point and destination?
2.6 Example (Contd.)
<owl:Class rdf:ID=“airTicket"> <rdfs:subClassOf rdf:resource="#ticket"/></owl:Class>
<TravelAgent rdf:ID=“TravelEasy" <airTicket> … </airTicket></TravelAgent>
TravelAgent.xml
<owl:Class rdf:ID=“airTicket"> <rdfs:subClassOf rdf:resource="#ticket"/></owl:Class>
Travel.owl
"Relationship betweenticket and airTicket?"
“airTicket is a type of ticket."
Web Agent
Relationship between ticket and airTicket? The Web agent "consults" the OWL travel Ontology. This OWL statement tells the Web agent that a airTicket
is a type of ticket:
2.6 Example (Contd.)
<owl:DatatypeProperty rdf:ID=“start-point"> <owl:equivalentProperty rdf:resource="#source"/> <rdfs:domain rdf:resource="#place"/> <rdfs:range rdf:resource="&xsd;#airplane"/></owl:DatatypeProperty>
start-point is synonymous with source.
Relationship between start-point and source? This OWL statement tells the Web agent that Start-point is
equivalent to source:
2.6 Example (Contd.)
<owl:DatatypeProperty rdf:ID=“date"> <owl:equivalentProperty rdf:resource="#date_of_journey"/> <rdfs:domain rdf:resource="#airplane"/> <rdfs:range rdf:resource="&xsd;#Date"/></owl:DatatypeProperty>
Relationship between date and date_of_journey? This OWL statement tells the Web agent that date
is equivalent to date_of_journey:
2.6 Example (Contd.) The Web agent now recognizes that the XML document it found at the Web site
Is talking about tickets It does show the start-point and end-point It does show a date Values are matching
Thus, the Web agent recognizes that the XML document is a match!
3. Agents in Semantic Web
Agent in AI is any thing that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors, showing a rational behavior.
E.g. A human agent has eyes, ears and other organs as as sensors, and hands, legs, mouth, and other body parts for effectors.
Agent = Architecture + Program.
Semantic Web Agents are agents in the web environment.
3.1 Agent Definition
The definition of agents has not been agreed upon universally but, we can have some good characteristic of such agents, which are :
- Autonomy - Reasoning Ability - Learning Ability - Mobility - Sociability - Cooperation - Negotiation
3.1 Agent Definition (Contd..) From semantic web point of view agents can be thought
of as intelligent software program that host a collection of web services.
Unlike standard Web Services, an agent can reason about:
- How to handle external request ? - Order in which to carry out the request ?
3.2 Multi-Agent System (MAS) MAS is distributed system which incorporates more than
one independent agents.
The collection of agents interact, and solve problems that are outside their individual capacities.
Agents in MAS display a dual behavior: on the one hand they are goal directed programs that autonomously solve problems and on the other hand have a social dimension when they interoperate as part of MAS.
Semantic web in future will be one large MAS containing millions of agents communicating with each other.
3.2 Multi-Agent System (Contd.) Ontologies in MAS provide agents :
- The basic representation that allows them to reason about interactions with other agents.- Shared knowledge that they can use to communicate and work together.
In general we can distinguish between Private Ontologies that allow the agent to organize its own problem solving and reasoning, and Public Ontologies that the agent shares with the rest of the agents in the MAS.
Private ontologies are used to represent Private Knowledgewhereas, public ontologies are used to represent Public Knowledge of an semantic web agent.
3.2 Multi-Agent System (Contd.) Example to illustrate use of private and public knowledge.
Public Knowledge Public Knowledge
Private Knowledge Private Knowledge
4. MAS Communication
In MAS communication we are effectively seeking to mimic the process of (verbal) communication between humans, which by itself is very ambitious task.
At the lowest level, there are two main techniques that facilitate communication:
- Message Passing: The agents communicate by the direct exchange of messages that encapsulate knowledge.- Shared State: The Agents communicate by asserting and retracting facts in a shared knowledge base.
The web uses a message passing approach (TCP + UDP) so, semantic web communication also have based on message passing approach (HTTP + XML).
4. MAS Communication (Contd.)
For communication on semantic web some issues must bepromptly addressed, like:
- Automatic discovery of agents.- Effectively manage the shared knowledge.- It must be coordinated, correct, and robust to failure.
To solve the problem of automatic discovery of agents we have Middle-Agent architectures.
To solve the problem of managing shared knowledge wehave network architectures.
4.1 Middle Agent Architecture Middle-agents assist in locating service providers, and
connecting service providers with service requesters.
A variety of middle agent types based on privacy considerations of service providers capabilities and requesters preferences are possible.
Middle Agent Architectures are techniques to solve problem of automated discovery of agents in MAS.
4.1 Middle Agent Architecture (Contd.) Two important types of middle-agent have been identified.
Service Matchmaker: The Matchmaker serves as a "yellow pages" of agent capabilities, matching service providers with service requestors based on agent capability descriptions. The Matchmaker system allows agents to find each other by providing a mechanism for registering each agent's capabilities.
For each query it searches its dynamic database of "advertisements" for a registered agent that can fulfill theincoming request.
4.1 Middle Agent Architecture (Contd.)
Service Matchmaker
4.1 Middle Agent Architecture (Contd.) Service Broker:
Service Broker is similar to matchmaker, but also processes the requests.
Service Broker
4.1 Middle Agent Architecture (Contd.) A variety of middle agent types based on privacy considerations
of service providers capabilities and requesters preferences are possible.
PreferencesInitially Known By
Capabilities Initially Known By
Provider OnlyProvider &
Middle AgentProvider & Middle
Agent & Requestor
Requestor Only Broadcaster “Front-Agent”Matchmaker /Yellow Pages
Requestor & Middle Agent
Anonymizer BrokerPersonal
Assistant / Recommender
Requestor & MiddleAgent & Provider
BlackboardIntroducer /“Bodyguard”
Arbitrator
4.2 Network Architecture
Network Architectures so far, mainly assumed some kind of centralized client/server architecture. But Service Oriented Architectures can equally well be decentralized.
Network Architectures are techniques to effectively storeand retrieve shared knowledge of all agents in MAS.
We can three types of architectures possible here:
- Centralized (Client-Server) - Decentralized (Peer-to-Peer) - Hybrid (Client-Server and Peer-to-Peer)
4.2 Network Architecture (Contd.) Centralized (Client-Server):
4.2 Network Architecture (Contd.) In Client-Server system, a centralized server is used to
manage the shared resources.
Servers works as central repository of the shared resources or the shared knowledge.
It is very easy to adapt current knowledge representation like owl and rdf for client-server system.
There are hard limits to number of clients that can be servedfrom a single server or a cluster of servers. This limits are primarily a function of available network bandwidth.
4.2 Network Architecture (Contd.) Decentralized (Peer-to-Peer):
4.2 Network Architecture (Contd.) P2P is a self-organizing system of equal, autonomous
entities (peers) which aims for the shared usage of distributed resources in a networked environment avoiding central services.
Peers interact directly with each other, usually without central coordination. Each peer has autonomy over its own resources.
Peers can act as both clients and servers; i.e., no intrinsic asymmetry of role.
The network saturation problem does not occur todecentralized P2P network.
4.2 Network Architecture (Contd.) In this approach information is copied and distributed
throughout network. Thus, when a client wish to obtain some information it can retrieve it from multiple sources and thereby avoid overloading at one node.For Example: Bit Torrent, DC++
Construction of P2P architecture for semantic web has important design implications :
- The communicative process must be adapted to work with specific P2P technique.- The reasoning process must make decisions on what information to share and how to retrieve information required for reasoning.
4.2 Network Architecture (Contd.) Hybrid (Client-Server and Peer-to-Peer):
5. Agent Communication Language Abbreviated as ‘ACL’ for short.
In agent communication our source of inspiration in human communication.
We try to mimic human communication in ACL.
The foundation of ACL lies in the Speech Act Theory.
5.1 Speech Act
Proposed by John Austin extended by John Searle.
How language is used by people everyday to achieve their goals and intentions.
Certain natural language utterances have the characteristics of physical actions.
Certain performative verbs in speech act changes the state of the world like physical actions.
5.2 Types of Speech Acts Representative: which commits the speaker to the truth of
what is being asserted. e.g. inform
Directive: attempts to get the hearer to do something e.g., ‘please make the tea’
Commisives: which commit the speaker for doing something, e.g., ‘I promise to…’
Expressive: whereby a speaker expresses a mental state, e.g., ‘thank you!’
Declarative: effect some change on the state of affairs.e.g. declaring war.
5.3 Components of Speech Act In general Two Components:
– Performative Verb (e.g., request, inform, promise, … )– Propositional Content (e.g., “the door is closed”)
More Examples:
performative = requestcontent = “the door is closed”speech act = “please close the door”
performative = inquirecontent = “the door is closed”speech act = “is the door closed ?”
5.4 ACL Examples
Communication is performed by exchanging messages where each message has an associated performative-message types.
Agent Communication Languages define common sets of performatives.
Two Popular ACLs
- KQML- FIPA-ACL.
5.5 FIPA-ACL Performative Ontology
5.6 Basic Problem of FIPA-ACL Semantics Verification Problem
Sincerity Assumption – agent always acts in accordance with their intentions.
Too restrictive in open environment – web.
Despite these FIPA-ACL remained popular- e.g. JADE multi agent platform – performatives are used to facilitate the exchange of message but compliance with formal model is not enforce.
5.7 Dialogue
Communication rarely consists of a single act of speech in isolation.
It typically consists of sequence of messages exchanges between participants such as Conversation.
This type of communication is termed as Dialogue.
5.8 Categories of Dialogues
5.9 Dialogue frames
Key construct – Dialogue Type identifies dialogue type & kind of values over which it
operates.
Different Dialogues can take different kind of values. e.g. Beliefs, Contract, Plans
Frame F is a tuple with four elements ( T, V , t, U)T = Dialogue TypeV = Value over which the dialogue operatest = Topic of the Dialogue U = list of utterances which define the actual dialogue steps between the participants x & y e.g. {U}
5.10 Protocols in FIPA-ACL
It refers to the stereotyped pattern of conversation between the agents.
The protocols are generally pre-specified by the agent designer & agents needs to discover which protocols to follow during Dialogue.
Choice of protocols to be followed can be negotiated by the agents.
In FIPA-ACL the convention is to put the name of the protocol in the :protocol parameter of the message.
5.11 FIPA-Query-Protocol
5.12 ACL in MAS
Reduce the complexity to pair wise interaction between agents. Has limitations in terms of multicast & broadcast communication.
As the size of the MAS increases, the ability to communicate reliably deteriorates. MAS operating over web has to face some basic problems such as delay in message passing, messages may be lost. So Asynchronous agents are required.
An open MAS is designed to enable interoperability between agents from many different sources. These may introduce problems like malicious, untrustworthy agents.
6. SPARQL Simple Protocol And Rdf Query Language
SPARQL = Query Language + Protocol + XML Results Format
It’s a Query language for RDF Data, and it involves:
- Basic graph pattern matching. - No inference in the query language itself.
As a Protocol it uses:
- HTTP binding - SOAP binding
XML Results Format are:
- Easy to transform (XSLT, XQuery)
6.1 It’s Turtles all the way down Turtle (Terse RDF Triple Language ): − An RDF serialization
− Triple representation of <Subject, Predicate, Object>− Human-friendly alternative to RDF/XML
@prefix person: <http://example/person/> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .person: A foaf:name “Nilesh" .person: A foaf:mbox <mailto:[email protected]> .person: B foaf:name “Sapan" ._:b foaf:name “Vishal" . _:b foaf:mbox <mailto:[email protected]> .
A "hello world" of queriesSELECT ?nameWHERE { ?x foaf:name ?name }
-------------| name |========| “Nilesh” || ”Sapan”|| ”Vishal” |-------------
<http://example/person/A> <http://xmlns.com/foaf.0.1/name> “Nilesh”
Blank
Node
6.2 Matching RDF Literals
@prefix dt: <http://example.org/datatype#> . @prefix ns: <http://example.org/ns#> .@prefix : <http://example.org/ns#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x ns:p "cat"@en . :y ns:p "42"^^xsd:integer . :z ns:p "abc"^^dt:specialDatatype .
SELECT ?v WHERE { ?v ?p "cat" }
---------| v |=====
SELECT ?v WHERE { ?v ?p "cat“@en }
----------------------------------| v |===================|http://example.org/ns#x |----------------------------------
SELECT ?v WHERE { ?v ?p 42 }
----------------------------------| V |===================|http://example.org/ns#y |----------------------------------
SELECT ?v WHERE { ?v ?p "abc"^^<http://example.org/datatype#specialDatatype> }
----------------------------------| V |===================|http://example.org/ns#z |----------------------------------
6.3 Filter@prefix dc: <http://purl.org/dc/elements/1.1/> .@prefix stock: <http://example.org/stock#> .@prefix inv: <http://example.org/inventory#> .stock:book1 dc:title "SPARQL Query Language Tutorial" .stock:book1 dc:edition “First”stock:book1 inv:price 10 .stock:book1 inv:quantity 3 .stock:book2 dc:title "SPARQL Query Language (2nd ed)" .stock:book2 inv:price 20 ; inv:quantity 5 .stock:book3 dc:title "Applying XQuery“; dc:edition “Second” .stock:book3 inv:price 20 ; inv:quantity 8 .
PREFIX dc: <http://purl.org/dc/elements/1.1/>PREFIX stock: <http://example.org/stock#>PREFIX inv: <http://example.org/inventory#>SELECT ?book ?titleWHERE {?book dc:title ?title .?book inv:price ?price . FILTER ( ?price < 15 )?book inv:quantity ?num . FILTER ( ?num > 0 ) }
---------------------------------------------------------------------| book | title |=======================================| stock:book1 | "SPARQL Query Language Tutorial" |---------------------------------------------------------------------
6.4 Other Solution Modifiers
PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title ?edition{ ?x dc:title ?title .OPTIONAL {?x dc:edition ?edition }}
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?x foaf:name ?name } ORDER BY ?name
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT DISTINCT ?name WHERE { ?x foaf:name ?name } ORDER BY ?name LIMIT 5 OFFSET 10
6.5 CONSTRUCT@prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:givenname "Alice" . _:a foaf:family_name "Hacker" . _:b foaf:firstname "Bob" . _:b foaf:surname "Hacker" .
PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> CONSTRUCT { ?x vcard:N _:v . _:v vcard:givenName ?gname .
_:v vcard:familyName ?fname } WHERE { { ?x foaf:firstname ?gname } UNION { ?x foaf:givenname ?gname } . { ?x foaf:surname ?fname } UNION { ?x foaf:family_name ?fname } .}
@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> . _:v1 vcard:N _:x . _:x vcard:givenName "Alice" . _:x vcard:familyName "Hacker" . _:v2 vcard:N _:z . _:z vcard:givenName "Bob" . _:z vcard:familyName "Hacker" .
6.6 DESCRIBEPREFIX books: <http://example.org/book/>PREFIX dc: <http://purl.org/dc/elements/1.1/>DESCRIBE ?book WHERE { ?book dc:title "Harry Potter and the Prisoner Of Azkaban" }
<rdf:RDF> <rdf:Description rdf:about="http://example.org/book/book3"> <dc:creator rdf:parseType="Resource"> <vcard:N rdf:parseType="Resource"> <vcard:Given>Joanna</vcard:Given> <vcard:Family>Rowling</vcard:Family> </vcard:N> <vcard:FN>J.K. Rowling</vcard:FN> </dc:creator> <dc:title>Harry Potter and the Prisoner Of Azkaban</dc:title> </rdf:Description></rdf:RDF>
6.7 XML Result Set
<sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name=“name"/> <variable name=“mbox"/> </head> <results ordered="false" distinct="false"> <result>
<binding name=“name"><literal>Johnny Lee Outlaw</literal></binding> <binding name=“mbox"><uri>mailto:[email protected]</uri></binding>
</result> <result>
<binding name="mbox"><uri>mailto:[email protected]</uri></binding> </result> </results></sparql>
------------------------------------------------------------------------| name | mbox |=========================================| "Johnny Lee Outlaw" | <mailto:[email protected]> | | | <mailto:[email protected]> |------------------------------------------------------------------------
6.8 ASK@prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" . _:a foaf:homepage <http://work.example.org/alice/> . _:b foaf:name "Bob" . _:b foaf:mbox <mailto:[email protected]> .
PREFIX foaf: <http://xmlns.com/foaf/0.1/> ASK { ?x foaf:name "Alice" }
Yes
<?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head>
</head> <results>
<boolean>true</boolean> </results>
</sparql>
6.9 More Features
RDF Dataset
- Collection of RDF Graphs
- use FROM <http://planetrdf.com/bloggers.rdf> & FROM NAMED <http://site1.example.com/foo.rdf>
Inbuilt functions for testing values
- IsLiteral
- IsBlank
- str
- regex
6.10 Limitation of SPARQL
No nested queries
No Insert, Update, Delete queries
No aggregation functions
7. Semantic Web StatusSemantic Web Layer
Communication Standard ? Applications
XMLSOAP,
XML-RPCYES
- Used for interoperability Within application.- Web services.
RDF SPARQL YES- To and from converter and many editors- Over 107 RDF Documents
OWL OWLQL NO- FOAF, DOAP, Dublin Core, Music Ontology, etc are some famous ontology
Rules / Queries
SWRL YES????
Logic & Proof DIG NO- Jena, Racer, and Pellet are some of the projects
Trust TriQL.P NO ????
8. Conclusion
Knowledge representation is very well developed insemantic web.
Agent communication is still an active area of research, though we have standardized languagelike SPARQL, still lot of research is required inapplying languages like FIPA-ACL to semantic web.
Semantic web trust still remains the least explored ofall the layers of semantic web. Named graphs laidan important foundation in this area.
All in all semantic web is still a research field in academia
9. Bibliography
Introduction
- http://www.wikipedia.org/Semantic_Web- http://www.cs.cmu.edu/%7Esoftagents/middle.html- Agency and Semantic Web, By Christopher Walton, Oxford Press.- Explorers Guide To Semantic Web, By Thomas B. P., Manning Publication.
9. Bibliography (Contd.)
Agent Communication
- Agency and Semantic Web, By Christopher Walton, Oxford Press.- Explorers Guide To Semantic Web, By Thomas B. P., Manning Publication. - Lecture Notes of Multi-agent Semantic Web Systems, University of Edinburgh.
SPARQL
- http://www.w3.org/TR/2007/CR-rdf-sparql-query-20070614/- http://www.dajobe.org/2004/01/turtle/
Questions ……..??
Thank You ……..