Harmonia 1.4 beta1



PAGE - Put And Get Everywhere

What's PAGE?

PAGE (Put And Get Everywhere) is an optimized peer-to-peer infrastructure for distributed storing and retrieval of RDF data: an original approach that comes out from the convergence between the current works on DHT in the peer-to-peer community and on optimized index structures for querying RDF in the Semantic Web community.

We implemented PAGE by modifying the implementation of a particular DHT (named Bamboo) in order to include peculiar features of an optimized index structure for fast retrieval of RDF statements (named YARS). As result, PAGE allows to efficiently put and get RDF triples without bothering of the underlying infrastructure.

In order to group RDF triples, a contextis often associated to each triple. A triple (spo) and its context is named quadand it is denoted with (spoc), where c is the context. PAGE manages quads instead of simple RDF triples and it uses access pattern as a method for retrieving quads.

Access patterns are strings that represent sets of RDF triples and they are used as basic building blocks for more complex RDF query languages such as SPARQL. An access pattern is similar to a quad, in which at least one element is unspecified (and it is set to ?, for the sake of simplicity). So, for example, in PAGE we can retrieve all quads having relations between the subject s and the object o, in the context c (i.e. we want to get all predicates that have been stated together with s, o and c) by using the (s?oc) access pattern.

What makes PAGE different from other similar systems like RDFPeers and GridVine, is the outcome of the adoption of a special method for assigning identifiers to quads. An advantage of our method is the parallel execution of a query (represented by an access pattern): under particular conditions, a query expansion is performed and several nodes retrieve a subset of query result at the same time. Moreover, PAGE indexes all possible access patterns so it is able to solve all kind of queries by performing only one lookup, rather than joining the results of different lookups like other systems do.

See also PAGE publications.