W3C home > Mailing lists > Public > www-rdf-interest@w3.org > September 2000

Re: Discussion-Paper: A Logical Interpretation of RDF

From: Stefan Kokkelink <skokkeli@mathematik.uni-osnabrueck.de>
Date: Tue, 05 Sep 2000 11:11:51 +0200
Message-ID: <39B4B8D7.D9EE5BC@mathematik.uni-osnabrueck.de>
To: "McBride, Brian" <bwm@hplb.hpl.hp.com>
CC: "'Wolfram Conen'" <conen@wi-inf.uni-essen.de>, www-rdf-interest@w3.org
"McBride, Brian" wrote:
> ...
> > Now, as we are in a text-based world of discourse (considering the
> > triple model), we may conclude that we can not represent/distinct a
> > member of a set other than by giving it a NAME (completely in
> > accordance
> > with the Glossary definition.) - now, however, it starts to become
> > tricky: if we have only one construct available to denote that an
> > entities is a member of a set and if this construct is "give
> > the entity
> > an IDENTIFIER/NAME" than there is no way to express that something is
> > anonymous (i.e. "it has NO NAME") and is also member of the set. (ok,
> > you could divide the namespace into "NAMES for NAMED RESOURCES" and
> > "NAMES FOR UNNAMED RESOURCES", but this does not look to
> > plausible...).
> 
> I don't see a problem with that personally.  I tend to think of the
> data model as primary, and the role of the other representations is
> to represent the data model as best they can.  However, that is my
> prejudice, and I'm pretty sure that was not what was in the collective
> mind of the authors of RDF.

It was already cited:

"This specification shows three representations of the data model; as
3-tuples (triples), as a graph, and in XML. These representations have
equivalent meaning."

If we take this statement seriously, there is no other way than to
distinct between anonymous and named resources in the triple 
model. But what does 'equivalent meaning' exactly mean? In the
strict sense there should be one-to-one mappings between the 
different representations (or at least the definitions of such
mappings), but only the mapping from XML syntax 
to triples is defined formally (well, more ore less).

The above statement could also be viewed of as an axiom: every
representation defines conditions (eg. XML Syntax: a anonymous
resource can only be object of at most three (see below) statements, 
Triple Model: a reification consists at least of four statements
and so on.) An RDF 'record' could be defined as valid, if it is 
valid in every representation. 

> ...
> > However, some will find this discussion probably rather
> > academic because
> > the "practical" solution of Parsers is to GENERATE names for
> > "anonymous"
> > resources -- this way, a resource can be (represented) in the triple
> > model. 

But this has dramatic consequences! There is no canonical way of
generating names. If RDF XML is parsed by two different parsers,
you can't decide any longer whether the generated triples are
equivalent. This wouldn't be the case, if the anonymous resouces
would be represented in the triple model. Then there would be
identity modulo permutations of the anonymous resources.
 
> Not all parsers do that.  RDFFilter does not.  Those that do don't
> all do it the same way.  Are these generated names URI's?  My interest
> is in API's that applications, including parsers, can use to generate
> implementations of RDF models - what contrainsts should such API's
> enforce.  

That is my problem, too. I am developing and RDF API in
perl and I don't know how to handle anonymous resources.
At the momement, you can always draw an arc to an anonymous
resource within the API , but then you can't represent the 
model in XML any longer.

> For example, the XML serialization cannot represent  an
> anonymous resource which is the object of more than one statement.

The syntax is even more complicated. An anonymous resource
can be object of at most three statements:

<Description bagID="XXX">
  <dc:creator>
    <Description>
       <my:name ID="YYY">Karl</my:name>
    <Description>
  </dc:creator>
</Description>

> Does that mean that an application should not be able to create
> such a model directly using an API or does the syntax need a fix
> to enable it to represent such models?

That's the basic question with strong consequences for
applications that have to handle RDF. It doesn't make much sense to
me to develop RDF applications any further until this question is 
solved. Please correct me if I am seeing this too dramatically.

Greetings
Stefan
Received on Tuesday, 5 September 2000 05:11:55 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:44 GMT