Re: Provenance as a first-class citizen

I wrote:
>> provenance *requires* reification

Geoff wrote:
> Has anyone looked much at using anonymous predicates to deal with statements
> about statements? I've played around with it some in the past -- other than
> the serialization challenges it presents in some formats, it seems like a
> nice solution. 
> 	:Sky [rdfs:subPropertyOf :hasColor; :says :Geoff] :Blue.

That's a really neat idea.

If you do that, though, you have to make sure :hasColor doesn't actually
mean something has some color with certainty, since otherwise the
anonymous predicate would inherit that meaning, defeating the purpose.
(You would get this meaning: "the sky *is* blue, and Geoff claimed it".
 That might be ok for some things, but not, e.g., trust.)

x :hasColor y would have to mean "someone claimed at some time that x is
colored y."  (:says then means "is a property about claims made by X.")
 A consequence of that is you could never use :hasColor directly and
mean anything useful.

Since we need some predicates to actually assert something with
certainty (no provenance), e.g. rdf:subPropertyOf and :says, one
couldn't use this technique to attach provenance to rdf:subPropertyOf
and :says statements.  And, that definitely might be fine for some
applications, but not all.

- Joshua Tauberer

"Unfortunately, we're having this discussion. It's too bad,
because guess who listens to the discussion: the enemy."

Received on Friday, 17 March 2006 16:01:42 UTC