“realizing what semantic web can be…….” by, anup patel (07305042) tanmay mande (07305051)...

Post on 11-Jan-2016

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

“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:nileshsp@example.net> .person: B foaf:name “Sapan" ._:b foaf:name “Vishal" . _:b foaf:mbox <mailto:vishalv@example.org> .

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:jlow@example.com</uri></binding>

</result> <result>

<binding name="mbox"><uri>mailto:peter@example.org</uri></binding> </result> </results></sparql>

------------------------------------------------------------------------| name | mbox |=========================================| "Johnny Lee Outlaw" | <mailto:jlow@example.com> | | | <mailto:peter@example.org> |------------------------------------------------------------------------

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:bob@work.example> .

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 ……..

top related