- From: Michael Schneider <schneid@fzi.de>
- Date: Mon, 22 Oct 2007 10:45:18 +0200
- To: "Garret Wilson" <garret@globalmentor.com>
- Cc: <semantic-web@w3.org>
Hi Garret! One point to be considered: Such a general NULL "resource" could easily lead to problems if people try to apply it in connection with OWL. Suppose you want to manage data about people, and one of the different properties for this purpose is a ':isMarriedWith' property. Now, there are two people, :peter and :maria, which both are not married. Perhaps, you might want to make this "non-marriage" explicit by saying: :peter a :Man ; :isMarriedWith rdf:null . :maria a :Woman ; :isMarriedWith rdf:null . Now suppose further that the used OWL ontology says that men can only be married with women and vice versa, and that men and women are different: DisjointClasses(Man Woman) Class(Man partial restriction(isMarriedWith allValuesFrom(Woman)) Class(Woman partial restriction(isMarriedWith allValuesFrom(Man)) If you now want to reason about your data with an OWL/DL reasoner, you get an inconsistency, because it can be inferred from the above data that rdf:null is both a :Woman and a :Man! On the other hand, I can imagine that there are situations where I would like to have some means to explicitly state that a specific property does not exist for a specific given resource. Compared to relational databases, a NULL seems to be not really neccesary in RDF, because one can simply ommit the respective property for such a resource. But then, it remains unclear, if this property has just been forgotton by the author, or if it has been ommitted intensionally. And in an open world scenario, not having a property for a resource in a concrete database does not necessarily mean that the respective statement has not been asserted anywhere else. I believe that these were your thoughts which are behind your "expected response" below? So what would I do, especially if my data is *not* expected to be used in connection with OWL reasoning? Well, I admit that I like the previously mentioned idea of using 'rdf:nil' for this purpose, even if this has to be regarded as a clear abuse. Of course, I would have to tell the users of my data what all these occurences of 'rdf:nil' mean, if 'rdf:nil' is not the object of an 'rdf:next' property, i.e. for terminating a list. But at least all the Lisp programmers out there will probably feel familiar with this approach. ;-) Well, I'm afraid that the purists here will like to kill me for such an idea, but I don't care. :) Cheers, Michael Garret Wilson wrote on Saturday, October 20: >As RDF evolved, was there any discussion on adding an rdf:null >resource---that is, a resource that represents no resource at all? > >One expected response: "My child, you're thinking like a programmer >again---what you really want to do is assert the absence of any >assertions regarding a particular subject and predicate, or >you want to >assume a closed world and just don't assert anything at all", or >something like that---and I appreciate this point of view to >some extent. > >But as a practical matter, let's say we have a list of baseball game >scores. Wouldn't it be convenient for the resource at index 3 >to be null >to indicate that there was no score that week because there was a >tornado that canceled the game? > >I'm not necessarily looking for a big online discussion. Just a brief >pointer to any reading on this subject would help. I'm sure there must >have been some discussion of null over the development history of RDF. > >Thanks, > >Garret -- Dipl.-Inform. Michael Schneider FZI Forschungszentrum Informatik Karlsruhe Abtl. Information Process Engineering (IPE) Tel : +49-721-9654-726 Fax : +49-721-9654-727 Email: Michael.Schneider@fzi.de Web : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555 FZI Forschungszentrum Informatik an der Universität Karlsruhe Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe Tel.: +49-721-9654-0, Fax: +49-721-9654-959 Stiftung des bürgerlichen Rechts Az: 14-0563.1 Regierungspräsidium Karlsruhe Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
Received on Monday, 22 October 2007 08:45:31 UTC