Restricted Metadata Inheritance by Named Graphs?

Dear all,

  in certain knowledge bases I have encountered metadata inheritance -- one
resource A pointing to another resource B, saying "inherit B's metadata".  So
far, there knowledge bases have not yet assumed an RDF semantics for their
metadata, but I'd be interested in changing that.  Now I wonder how to
appropriately represent this kind of inheritance.

In the original application, the metadata of a resource are a fixed record
attached to the resource.  The metadata are mostly literal-valued (Dublin Core
and similar), but some are also URI-valued, pointing to other resources.

A naïve approach to inheritance would be a rule

{  ?resource :inheritsMetadata ?otherResource .
   ?otherResource ?property ?value . }
=>
{ ?resource ?property ?value. }

This would, however, easily cause trouble in an RDF world, as

1. the two resources might be of different types, which might be disjoint in
   an OWL ontology, but what if ?resource inherits rdf:type from
   ?otherResource ?
2. what if an inherited property is an OWL FunctionalProperty but has
   different values on ?resource and ?otherResource ?
3. what if the metadata explicitly stated in the scope (e.g. the same XML
   document) of ?otherResource are fine, but somebody else externally writes a
   triple ?otherResource :evilProperty "value" ?

I consider (3) the most serious problem.  A solution might be named graphs.
I.e. the metadata that the author of ?otherResource explicitly provided, and
that (s)he considers safe, would be put into a named graph G, and the
:inheritsMetadata property would not point to ?otherResource but to G.

Has that problem ever been dealt with?  Is there any publication/specification
that you could recommend me to read?

Cheers, and thanks in advance,

Christoph

-- 
Christoph Lange, Jacobs Univ. Bremen, http://kwarc.info/clange, Skype duke4701

Received on Wednesday, 2 December 2009 23:21:24 UTC