Download presentation
Presentation is loading. Please wait.
1
“Realizing What Semantic Web Can Be…….”
By, Anup Patel ( ) Tanmay Mande ( ) Sapan Shah ( ) Nilesh Padariya ( )
2
2020 And Beyond …….. Middle Agent
Prafful’s Agent Contacts A Middle Agent to find out some hospital in powai having a recently admitted patient named Gita. Agent: “Your wife is admitted at New Powai Hospital Ward No. 9” Agent: “Your meeting is re-scheduled to tomorrow 5:00 PM” New Powai Hospital Phone: “Your wife had an accident she is admitted at some hospital in powai …” Prafful: “I still don’t know where is she admitted in powai …. I should use my agent ….” Prafful: “I should inform my agent to reschedule meeting” Prafful: “I have a meeting with my boss and I am late …….” Prafful’s Agent Negotiates With Boss’s Agent and re-schedule meeting to tomorrow.
3
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
4
Roadmap Introduction to Semantic Web Knowledge Representation
Agents in Semantic Web Multi-Agent System Communication Agent Communication Language SPARQL Status of Semantic Web Conclusion Bibliography
5
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
6
1.1 Semantic Web Architecture
Trustworthiness Reasoning Knowledge Sharing Knowledge Representation
7
1.2 Tree of Knowledge Technologies
Content Management Languages Semantic Technology Languages Process Knowledge Languages AI Knowledge Representation Software Modeling Languages
8
2. Ontologies in Semantic Web
What? .. Is an ontology Why? Do we need ontology How? Do we use ontology
9
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 Read the slides Example: ‘ye to pain maar raha hai’…. IITians will understand this since they ‘know’ this vocabulary and infer that meaning is ‘ye to bore maar raha he’.. But some outsider will get confused and may end up inferring ‘pen maar raha he’. So an ontology provides concepts and relationship between those concepts.
10
2.2 Why? Ontology Does Web today understand information? No
- So .. Why are we talking about ‘vocabularies, concepts and relationships’ here in a computer science class? - Web today doesn’t understand meaning of information. It just knows how to display the information to the user. So interpretation and consumption of information is still left to human and is performed manually. It would be great if machines/web could do it for us. There, first thing needed would be to make information machine processable. That will need a common vocabulary for machines/software agents to communicate. And hence we need ONTOLOGY. Does Web today understand information? No Can we make it understand the information? Yes.. First provide vocabulary!!
11
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. Description logic can be used to derive logical consequences: e.g. Property ‘is father of’ and constraint ‘cardinality = 1’ a is father of x b is father of x Implies a=b
12
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> Don’t bother about xml syntax.. Just look for the important keywords - Well… Another thing to notice here is that owl uses xml as representational language.
13
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’
14
2.5 Example Interested in Buying a Ticket?
Scenario: I am interested in buying a ticket. start_point: Mumbai end_point: Delhi date_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.
15
2.6 Example (Contd.) The Web Agent finds this document at a Web site:
<TravelAgent rdf:ID=“TravelEasy" xmlns:rdf=" <location>Mumbai</location> <phone> </phone> <catalog rdf:parseType="Collection"> <airTicket rdf:ID=“AirIndia“ xmlns=" <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> Is it relevant ?
16
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?
17
2.6 Example (Contd.) 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: <owl:Class rdf:ID=“airTicket"> <rdfs:subClassOf rdf:resource="#ticket"/> </owl:Class> "Relationship between ticket and airTicket?" <TravelAgent rdf:ID=“TravelEasy" <airTicket> … </airTicket> </TravelAgent> <owl:Class rdf:ID=“airTicket"> <rdfs:subClassOf rdf:resource="#ticket"/> </owl:Class> Web Agent “airTicket is a type of ticket." Travel.owl TravelAgent.xml
18
2.6 Example (Contd.) Relationship between start-point and source?
This OWL statement tells the Web agent that Start-point is equivalent to source: <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.
19
2.6 Example (Contd.) Relationship between date and date_of_journey?
This OWL statement tells the Web agent that date is equivalent to date_of_journey: <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>
20
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!
21
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.
22
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
23
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 ?
24
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.
25
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 Knowledge whereas, public ontologies are used to represent Public Knowledge of an semantic web agent.
26
3.2 Multi-Agent System (Contd.)
Example to illustrate use of private and public knowledge. Private Knowledge Private Knowledge Public Knowledge Public Knowledge
27
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).
28
4. MAS Communication (Contd.)
For communication on semantic web some issues must be promptly 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 we have network architectures.
29
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.
30
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 the incoming request.
31
4.1 Middle Agent Architecture (Contd.)
Service Matchmaker
32
4.1 Middle Agent Architecture (Contd.)
Service Broker: Service Broker is similar to matchmaker, but also processes the requests. Service Broker
33
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. Preferences Initially Known By Capabilities Initially Known By Provider Only Provider & Middle Agent Provider & Middle Agent & Requestor Requestor Only Broadcaster “Front-Agent” Matchmaker / Yellow Pages Requestor & Middle Agent Anonymizer Broker Personal Assistant / Recommender Requestor & Middle Agent & Provider Blackboard Introducer / “Bodyguard” Arbitrator
34
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 store and 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)
35
4.2 Network Architecture (Contd.)
Centralized (Client-Server):
36
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 served from a single server or a cluster of servers. This limits are primarily a function of available network bandwidth.
37
4.2 Network Architecture (Contd.)
Decentralized (Peer-to-Peer):
38
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 to decentralized P2P network.
39
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.
40
4.2 Network Architecture (Contd.)
Hybrid (Client-Server and Peer-to-Peer):
41
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.
42
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.
43
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.
44
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 = request content = “the door is closed” speech act = “please close the door” performative = inquire speech act = “is the door closed ?”
45
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.
46
5.5 FIPA-ACL Performative Ontology
47
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.
48
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.
49
5.8 Categories of Dialogues
50
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 Type V = Value over which the dialogue operates t = Topic of the Dialogue U = list of utterances which define the actual dialogue steps between the participants x & y e.g. {U}
51
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.
52
5.11 FIPA-Query-Protocol
53
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.
54
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)
55
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 < < “Nilesh” @prefix person: < . @prefix foaf: < . person: A foaf:name “Nilesh" . person: A foaf:mbox . person: B foaf:name “Sapan" . _:b foaf:name “Vishal" . _:b foaf:mbox . | name | ======== | “Nilesh” | | ”Sapan”| | ”Vishal” | Blank Node A "hello world" of queries SELECT ?name WHERE { ?x foaf:name ?name }
56
6.2 Matching RDF Literals @prefix dt: < . @prefix ns: < . @prefix : < . @prefix xsd: < . :x ns:p . :y ns:p "42"^^xsd:integer . :z ns:p "abc"^^dt:specialDatatype . | v | ===== | v | =================== | | | V | =================== | | | V | =================== | | SELECT ?v WHERE { ?v ?p "cat" } SELECT ?v WHERE { ?v ?p } SELECT ?v WHERE { ?v ?p 42 } SELECT ?v WHERE { ?v ?p "abc"^^< }
57
6.3 Filter @prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix stock: < . @prefix inv: < . 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 . | book | title | ======================================= | stock:book1 | "SPARQL Query Language Tutorial" | PREFIX dc: < PREFIX stock: < PREFIX inv: < SELECT ?book ?title WHERE { ?book dc:title ?title . ?book inv:price ?price . FILTER ( ?price < 15 ) ?book inv:quantity ?num . FILTER ( ?num > 0 ) }
58
6.4 Other Solution Modifiers
PREFIX dc: < SELECT ?title ?edition { ?x dc:title ?title . OPTIONAL {?x dc:edition ?edition } } PREFIX foaf: < SELECT ?name WHERE { ?x foaf:name ?name } ORDER BY ?name PREFIX foaf: < SELECT DISTINCT ?name WHERE { ?x foaf:name ?name } ORDER BY ?name LIMIT 5 OFFSET 10
59
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: < PREFIX vcard: < 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: < . _:v1 vcard:N _:x . _:x vcard:givenName "Alice" . _:x vcard:familyName "Hacker" . _:v2 vcard:N _:z . _:z vcard:givenName "Bob" . _:z vcard:familyName "Hacker" .
60
6.6 DESCRIBE PREFIX books: <http://example.org/book/>
PREFIX dc: < DESCRIBE ?book WHERE { ?book dc:title "Harry Potter and the Prisoner Of Azkaban" } <rdf:RDF> <rdf:Description rdf:about=" <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>
61
6.7 XML Result Set | name | mbox | ========================================= | "Johnny Lee Outlaw" | | | | | <sparql xmlns=" <head> <variable name=“name"/> <variable name=“mbox"/> </head> <results ordered="false" distinct="false"> <result> <binding name=“name"><literal>Johnny Lee Outlaw</literal></binding> <binding </result> <binding </results> </sparql>
62
6.8 ASK @prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a foaf:name "Alice" . _:a foaf:homepage < . _:b foaf:name "Bob" . _:b foaf:mbox . Yes PREFIX foaf: < ASK { ?x foaf:name "Alice" } <?xml version="1.0"?> <sparql xmlns=" <head> </head> <results> <boolean>true</boolean> </results> </sparql>
63
6.9 More Features RDF Dataset - Collection of RDF Graphs
- use FROM < & FROM NAMED < Inbuilt functions for testing values - IsLiteral - IsBlank - str - regex
64
6.10 Limitation of SPARQL No nested queries
No Insert, Update, Delete queries No aggregation functions
65
7. Semantic Web Status Semantic Web Layer Communication Standard ?
Applications XML SOAP, XML-RPC YES - Used for interoperability Within application. - Web services. RDF SPARQL - 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 ???? Logic & Proof DIG - Jena, Racer, and Pellet are some of the projects Trust TriQL.P
66
8. Conclusion Knowledge representation is very well developed in semantic web. Agent communication is still an active area of research, though we have standardized language like SPARQL, still lot of research is required in applying languages like FIPA-ACL to semantic web. Semantic web trust still remains the least explored of all the layers of semantic web. Named graphs laid an important foundation in this area. All in all semantic web is still a research field in academia
67
9. Bibliography Introduction Agency and Semantic Web, By Christopher Walton, Oxford Press. - Explorers Guide To Semantic Web, By Thomas B. P., Manning Publication.
68
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
69
Questions ……..??
70
Thank You ……..
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.