- From: Benja Fallenstein <b.fallenstein@gmx.de>
- Date: Tue, 30 Nov 2004 14:55:15 +0100
- To: Andrea Proli <aprol@tin.it>
- CC: Pat Hayes <phayes@ihmc.us>, Dan Brickley <danbri@w3.org>, fmanola@acm.org, www-rdf-comments@w3.org
Hi Andrea,
Andrea Proli wrote:
> Clearly, using "rdfs:Resource" allows you to model illegal statements,
> but why should this be desirable? Why should illegal statements
> exist?
Reification is used for quoting; i.e. so that if you publish the graph
x:a x:b x:c.
x:a x:d "e".
then I can take that graph and reify each statement in it to say in my
graph, "Andrea said that..."
I should be able to say this without claiming that anything of what you
said is *true*. Even if the statements in your graph are complete
nonsense, I should be able to quote them without saying they are true
(perhaps to point out that they are not true).
If you say "x:a foaf:Person x:b," then if rdf:predicate had the domain
rdfs:Property, if I quoted you I would be claiming that foaf:Person is a
property. When quoting you I would first have to check that you're not
talking nonsense, because otherwise just by quoting you *I* might be
talking nonsense.
((NB. Unfortunately RDF doesn't completely avoid this; when reifying a
graph, I still claim that there exist resources that are identified by
the URIs and literals in the reified graph. For example, if I reify a
graph that contains the literal "All your base are belong to
us"^^xsd:boolean I will end up with a graph containing this literal,
myself.))
> As to my point of view, a parser should detect it and raise
> an error whenever an illegal statement is made...
The way RDF is defined, it's impossible for a computer to detect that a
statement is illegal. In fact, RDF is designed so that it's impossible
to state an inconsistency; if you stated that foaf:Person is a property,
a human can say "It is not!", but (using only RDF and not e.g. OWL)
there is no way of saying formally "this can't be true."
Cheers,
- Benja
Received on Tuesday, 30 November 2004 13:55:54 UTC