Semantic Space

This page describes how a communication framework may form basis for managing a semantic space of information on a system.

Problem

Let's begin with some definitions.

Defining the semantic space

A triple is a tuple consisting of three components called, respectively, subject, predicate and object. The subject and predicate components of the triple may only hold URIs. The object component may hold an URI or a literal. (See http://www.w3.org/TR/rdf-concepts/#section-triples for the normative definition)

An agent is a software program which manages information represented as one or more triples. The agent processes may physically reside on separate host systems, connected by some messaging link.

The subset of these triples which are considered qualified (and not e.g. temporary or stale) by the agent are called statements.

Now let A be a set of agents and T be the set of statements collectively managed by the agents in A. The semantic space S over A may then be defined as the superset of A and T.

When an element E is added to T, we say that E is asserted in the semantic space S. When an element E is removed from T, we say that E is retracted from the semantic space S.

Problem statement

We want to design a communication framework which will allow an agent to be notified when a statement of its interest is asserted in or retracted from a semantic space. We refer to this as semantic transparency.

The semantic space must exhibit ACID properties.

It must also be possible to annotate statements in the semantic space with metadata within the framework.

Solution

We have considered four solutions to the problem stated above.

The conventional solution: Star topology

All agents connect with a central hub which receives messages from agents and redistribute them selectively among their peers. (Essentially, NEPOMUK is an example of this)

  • Familiar request/response pattern
  • All query handling intelligence centralized for easy maintenance

The unconventional solution: Bus topology

Agents broadcast messages on a shared, unregulated link and scan the link for messages of interest. (See AndersFeder/SemanticSpace/BusTopology)

  • Decentral: true to the spirit of RDF
  • Unmatched transparency

The compromise: Ring topology

All agents connect with a 'thin' hub which receives messages from agents and forward them indiscriminately to all peers, but wait for "ok" in response from everyone before proceeding to forward the next message in queue. (See AndersFeder/SemanticSpace/RingTopology)

  • Message order can be relied upon

The hybrid: Bus-star topology

All agents connect with a thin central hub which receives messages from agents and redistributes them according to 'views' (persistent queries) over the semantic space set up on the hub by other agents. (See RDFStack)

  • Most-to-all of the same transparency benefits as with the bus topology
  • The hub takes care of tracking the state of the space

AndersFeder/SemanticSpace (last edited 2008-06-23 19:27:53 by AndersFeder)