Semantic Digital Rights Management for
Controlled P2P RDF Metadata Diffusion
Roberto Garcia, Ph. D (1)
Giovanni Tummarello, Ph. D (2)
(1) GRIHO – Human-Computer Interaction Research Group
Universitat de Lleida, Spain
(2) SEMEDIA – Semantic Web and Multimedia Group, Università
Politecnica delle Marche, Italy
Research Group on
SEMEDIA Human Computer
Semantic Web and Interaction and
Scenario: P2P exchange of RDF information
Information is a “resource” itself, exchanged
like in file sharing applications
A client might become a server at a later time
Information is expressed in RDF, strictly based
on the W3C RDF Semantics specifications 
(important! It would be much simpler otherwise ;-) )
 RDF Semantics - W3C Recommendation 10 February 2004
Example: DBin (1)
Example: DBin (2)
Users can join multiple groups:
theyacquire knowledge to
perform cross concerning
The diffuse information across
groups which are interested in
the same resources (e.g.
Madonna as a singer, Madonna
as an actress.. A new pic is
relevant to both)
Seems a wonderfully new, open scenario
But restrictions are needed in some cases!
Idea: I’ll tell you if you sign this agreement
Deterministically derive HASHES for parts of the
Use Semantic Digital Right Management
ontology to specify the policy and an OWL
reasoner to verify
Give out the information if the other party agrees
to put his/her digital signature on the RDF
reppresentation of the
POLICY +Information HASH
Minimum Self-contained Graph (MSG)
Involves (Def) :An RDF statement involves a name if it has that name
as subject or object.
MSG (Def). Given an RDF statement s, the Minimum Self-contained
Graph (MSG) containing that statement, written MSG(s), is the set
of RDF statements comprised of the following:
The statement in question;
Recursively, for all the blank nodes involved by statements
included in the description so far, the MSG of all the statements
involving such blank nodes;
MSG surrounding a URI: example
def). The “blank node closure”
of the statement.
MSG decomposition of RDF Graphs
Theorem 1. If s and t are distinct statements and t belong to
MSG(s), then MSG(t) = MSG(s).
Theorem 2. Each statement belongs to one and only one MSG.
Corollary 1. An RDF model has a unique decomposition in MSGs.
MSG decomposition of a graph: example
Deterministic, content based Identifiers for MSGs
MSGs are perfectly valid, standalone RDF graphs.
As such they can be processed with algorithms such as canonical serialization.
The canonically serialized MSG is a binary file, as such it can be hashed
Given an hash function with appropriate characteristics, the resulting hash value
forms a deterministic, content based identifier for the MSG itself
remote peers derive the same ID for the same MSG in their DB.
Sets of such IDs are used to identify the information covered in the
RDF graph decomposition and identifiers
Graph MSGID list = Sort (MSG ID 1 , MSG ID 2, ..)
Graph ID= Hash(MSGID)
MSG ID = MD5(Canonical(MSG))
RDF/MSG decomposition applications (1)
a graph can be incrementally and differentially (!)
transferred between two parties one MSG at a time.
Distributed P2P scenario : RDFGrowth Algorithm 
1 to 1 efficient Syncronization: RDFSync Algorithm (new!)
Traffic VS delta changes
 G. Tummarello, C. Morbidoni, J. Petersson, F.
Piazza, M. Mazzieri, P. Puliti, "Toward widely
deployable Semantic Web P2P: tools, definitions
and the RDFGrowth algorithm", Workshop on
Semantic Web Technology for Mobile and
Ubiquitous Applications at ISWC 2004, November
2004, Hiroshima, Japan.
RDF/MSG decomposition applications (2)
Signing a Minimum Selfcontained Graph (MSG)
G. Tummarello, C. Morbidoni, P. Puliti, F. Piazza, "Signing individual fragments of an RDF graph", 14th
International World Wide Web Conference WWW2005, Poster track, May 2005, Chiba, Japan
RDF/MSG decomposition applications (3)
A procedure to serve information in RDF
subject to a previous agreement on the
use of that very information
The exchange procedure
A client R requests information from a server S
R makes a request to S.
S receives the request, creates the RDF for the answer, calculates its MSG IDs and uses
them in a new RDF file which defines its usege restrictions (see later). Sends this new
RDF, from here on called proposal, to R.
Optionally: signs the proposal so to provide S with the guarantee that if agreed, the answer
will actually be provided within the specified terms
R receives the proposal and, if it agrees to the terms, signs it and returns it to S.
Optionally: thanks to the properties of MSGs, R can check if the answer correspond to
information which is already locally known. In this case R could drop the request as not
interesting, or proceed, e.g., in case it is important for R to prove that the information was
in fact legally acquired.
S receives the signed proposal, stores it and replies with the answer computed in 2).
Optionally: the signed proposal might be countersigned to allow R to prove that the
information was obtained by legal means.
Semantic Digital Rights Management to
define usage restrictions
ISO/IEC MPEG-21: about DRM on multimedia
components: Rights Expression Language (REL) which
uses terms explained in the Rights Data Dictionary
Lack of formal semantics!
the Copyright Ontology (OWL DL based) 
As it deals with Reproduction rights and it is in OWL , fits
great with this our purpose!
 García, R.: "A Semantic Web Approach to Digital Rights Management". PhD Thesis, Technologies
Department, Universitat Pompeu Fabra, Barcelona, ES, 2006. http://rhizomik.net/~roberto/thesis
An example licence instance
urn:p2p:granter agent pointInTIme
urn:p2p:granted agent P2PDiff theme
P6M duration recipient urn:p2p:peerB
rdf:value 3 P2PDiff
currency € Transfer
Licences are classes
urn:p2p:granted agent recipient urn:p2p:granter
To check an action: create an instance and use a DL classifier!
A simple applications of RDF decomposition
OWL based copyright ontology fits the task and stays in
the domain of Semantic Web Tools
To make it into a “legally binding” exchange mechanism,
specific laws might be needed
Thanks for your attention
Research Group on
SEMEDIA Human Computer
Semantic Web and Multimedia