RE: representing null in semantic frameworks

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