- 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