Context Tags, Context Sets and Beyond Named Graphs...

For a while I've been struggling with a number of practical problems working
in RDF.  Some of these addressed by Named Graphs as they currently exists,
but others aren't.

Over the weekend I had an idea for something that I think is highly
expressive but also can be implemented efficiently.

The idea is that the context of triple can be,  not a name,  but a
collection of tags that work like tags on delicious,  flickr,  etc.  Tags
are going to be namespaced like RDF properties,  of course,  but they could
have meanings like:

#ImportedFromDBpedia3.3
#StoredInPhysicalPartition7
#ConfidentialSecurityLevel
#NotTrue
#InTheStarTrekUniverse
#UsedInProjectX
#UsedInProjectY
#VerifiedToBeTrue
#HypothesisToBeTested

Individually I call these "Context Tags",  and the set of them that is
associated with a triple is a "Context Set".

Now,  named graphs can be composed from boolean combination of tags,  such
as

AND(#ImportedFromDbPedia3.3,#InTheStarTrekUniverse)

NOT(#NotTrue)

AND(NOT(#ConfidentialSecurityLevel),OR(#UsedInProjectX,#UsedInProjectY))

===

Note that this is a feature of the underlying storage layer that can be
exploited by layers of the RDF store that are above:  for instance,
 something just above the storage layer could hash the subject URL and then
pass a physical partition tag to that the actual storage layer.  Similarly,
 security rules could be applied automatically.

===

There are many details to be filled in and features that could be added.
 For instance,  I could image that it might be useful to allow multiple
"context sets" to be attached to a triple,  for instance,  if you had the
triple

:WarpDrive :isA :SpacePropulsionDevice

it might be desirable to assert this as

#RealWorld #NotTrue

and to also assert that it is

#InTheStarTrekUniverse

I've thought through the implications of this less,  however.


The immediate use for this system that I see is that existing query
mechanisms for named graphs can be applied to the computed graphs.
 Inference mechanisms that can do other things with "context tags" is a wide
open question.

===

Anyhow,  I want this pretty bad.  (i) If you're selling this,  I'm buying;
 (ii) if you want to build this,  contact me.

Received on Monday, 18 January 2010 18:28:27 UTC