This document discusses using Linked Data Notifications (LDN) to enable multi-agent interactions on the web through decentralized semantic messaging. LDN allows agents to send and receive notifications by posting RDF-formatted messages to other agents' HTTP-accessible inboxes. This provides a standardized way for agents to discover, communicate with, and coordinate with each other using common web technologies and Linked Data principles. However, challenges remain in promoting adoption of semantic messaging among web agents and linking existing agent communication standards to web protocols.
Multi-agent interactions on the Web through Linked Data Notifications
1. Multi-agent interactions on the Web
through Linked Data Notifications
Jean-Paul Calbimonte • Davide Calvaresi • Michael Schumacher
Institute of Information Systems
University of Applied Sciences and Arts Western Switzerland (HES-SO Valais-Wallis)
European Conference on Multi-Agent Systems EUMAS
Evry, December 2017
@jpcik
3. 3
Use Case: an example
wellbeing
monitoring
health
recommendations weather
information
point-of-care
restauration
services
point-of-interest
4. 4
A Web of Agents
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Web Standards?
Rich Semantics?
Decentralized?
Agent identifiers?
Metadata?
5. 5
Requirements
R1: Standard and extensible messaging.
R2: Standard metadata.
R3. Asynchronous and distributed communication.
R4. Standard Web protocols.
R5. Web identifiers.
R6. Semantic representation.
• any type of data
• different formats
• representations
• Web standards
• participants, time constraints, performatives, conditions, etc.
• send and receive messages
• coordination
• no central entity
• Web Standards: HTTP
• not excluding others
• no commitments to a particular agent implementation
• URL/URI/IRIs
• unicity and de-referenceability.
• Web standards (e.g. OWL, RDF),
• extensibility and high expressiveness.
6. 6
Linked Data Notifications
• Recently endorsed W3C Recommendation
• Decentralized data interchange of notifications on the Web
• Generic and simple mechanism to send and consume data
• Based on the Linked Data principles
• Use URIs to name things
• Use HTTP URIs
• Get relevant data by dereferencing a URI
• URIs linked to other URIs
• Usage of RDF for data representation.
• Virtually any type of notifications
7. 7
LDN: Basics
Notifications are
to/about it
Sends notifications
Exposes notifications through inbox
Creates notifications in inbox
Sender
Target
Consumer
Receiver
Consumes notifications
inbox
10. 10
HTTP-based communication
• LDN is entirely based on HTTP requests and responses
• Natural candidate for most types of exchanges
• Other protocols could be used in certain circumstances
• e.g. WebSockets for push-subscriptions.
11. 11
Agent Identification
• URIs (or IRIs) are used to identify all entities involved.
• Agents identified with URIs
• de-referenceable to obtain more information
• agent visibility
• perception of agent’s environment can be enriched
GET http://example.org/agents/health-agent
• Response:
• include metadata about the agent,
• e.g. name, scope, endpoint, ontologies, etc.
• Each agent can provide an endpoint inbox
• Not necessary located within the same environment
12. 12
Endpoint Discovery
• An agent may advertise its inbox
• e.g. JSON-LD message content:
• Indicates inbox location/other useful metadata
• Discovery phase: first interaction between two agents that
wish to establish a conversation or initiate a negotiation
{
"@context": "http://www.w3.org/ns/ldp",
"@id": "http://example.org/agents/health-agent",
"inbox": "http://example.org/agents/health-agent/inbox"
}
13. 13
RDF data representation
• Any representation format and/or model.
• LDN agents: use RDF as standard representation framework.
• use of URIs for identifiers
• using extensible vocabularies
• possible to attach explicit semantics
• Metadata annotations should be expressed in RDF,
• i.e. sender, receiver, performative, protocol, date-time,
reply information, conversations, etc.
• e.g. (JSON-LD serialization) information about an agree
message, indicating the sender agent, receiver, conversation
information, etc.
{
"@id": "ex:agree_request1",
"ag:permormative": "ag:Agree",
"ag:sender": "ex:agent1",
"ag:receiver": "ex:agent2",
"ag:reply-to": "ex:agent3",
"ag:protocol": "ag:RequestWhen",
"ag:conversationId": "ex:conv321",
"ag:inReplyTo": "ex:conversation1",
"ag:ontology":
"http://example.org/ontology#",
"ag:content":
"..."
}
14. 14
Sending agent notifications
• LDN agent may POST notifications to an agent inbox endpoint
• JSON-LD representation of a call for proposals agent message:
POST /agents/health-agent/inbox HTTP/1.1
Host: example.org
Content-Type: application/ld+json
{
"prov:generatedAtTime": "2017-09-14T04:00:00.000Z",
"@id": "ex:callForProposals1",
"@graph": [
{ "@id": "ex:cfp1",
"ag:permormative": "ag:CallForProposals",
"ag:sender": "ex:agent1", "ag:protocol": "ag:ContractNet",
"ag:ontology": "http://example.org/healthOntology#",
"ag:content": "..." }
],
"@context": {
"prov": "http://www.w3.org/ns/prov#", "ex": "http://example.org#",
"ag": "https://w3id.org/rdfagents/msg#"}
}
16. 16
Interaction Protocols
• call for proposals made available to an
agent inbox.
• accessed by the inbox owner /
participants
• allows participants to respond to it by
sending proposals
• proposals can be accepted by the
initiator agent.
• all messages conform to an agreed RDF
structure
• exchanged preferably through HTTP,
with GET and POST
POST
GET
Inbox
Initiator Participant
call-for-proposals
propose
proposal
accept-proposal
GET
POST
POST
cfp
17. 17
Publishing inbox elements
• Consumers may access an agent inbox
• Obtain the messages available there through HTTP requests.
• GET over an inbox: return notification URIs
• URIs for collections of notifications
• URIs for individual notifications
• Notification URIs referenced with LDP ldp:contains predicate.
• Security, privacy and ownership schemes should be enforced
18. 18
Agent reasoning
• LDN adoption do not affect traditional reasoning engines
• Guarantee the retro-compatibility with already existing
mechanisms
• Foster the development of new ones
• Increased capabilities due to the semantic expressiveness
• Simplified and extended interactions.
19. 19
LDN for Agents: Challenges
• Adoption of semantically rich messaging mechanisms (e.g. RDF-based)
among Agents on the Web.
• Usage of ontologies and vocabularies that link existing Web protocols (e.g.
LDN) and Agent-communication standards (e.g. FIPA ACL).
• Definition and agreement of system-agnostic Agent communication
primitives, based on existing MAS languages.
• Provision of agent discovery, selection and orchestration services, based on
existing standards.
• Implementation and adoption of best practices of agent-based mechanisms
for Web interactions.