More on assertions
I wandered pretty far off-topic in my last post, so let me add some more thoughts.
It is possible, through the addition of metadata about statements, to negate, change, or override existing statements. However, I do not believe there is a well-documented, carefully thought out consensus on how to do so.
This consensus needs to come about, and it needs to be a core part of RDF or OWL (probably the latter) so that it is widely supported by reasoners. In the next few years, there will be hordes of newcomers to this technology, and they all will be struggling with the same issues. If there is not a ready answer, they will declare RDF a failure and go back to their XML files with OO wrappers.
Here’s a couple minor proposals to start the ball rolling.
<proposal:ignore rdf:about="http://example.org/customer#12"> <foaf:name>John C Barstow<foaf:name> </proposal:ignore>
This is the opposite of rdf:Description. Instead of telling the parser to add the assertion, it instructs the parser to remove any such statement and ignore it in future.
<proposal:exception rdf:about="http://example.org/Australia#platypus"> <rdf:type rdf:resource="http://example.org/animal#mammal"> </proposal:exception>
This tells the parser to expect a contradiction and accept this version as true. I would imagine most reasoners would actually add some metadata or adjust definitions to avoid unqualified contradictions.