W3C home > Mailing lists > Public > public-lod@w3.org > June 2013

Re: Representing NULL in RDF

From: Sven R.Kunze <sven.kunze@informatik.tu-chemnitz.de>
Date: Wed, 12 Jun 2013 21:03:33 +0000
To: Juan Sequeda <juanfederico@gmail.com>, David Booth <david@dbooth.org>
CC: Tim Berners-Lee <timbl@w3.org>, Steve Harris <steve.harris@garlik.com>, Pat Hayes <phayes@ihmc.us>, public-lod <public-lod@w3.org>
Message-ID: <E1UmsO7-0006Cr-Vi@maggie.w3.org>
That is interpreting the RDB NULL in a particular way. Would be nice, if you could back your statement with an official writing (only including RDB).


I do not believe, that the RDB NULL explicitly means the absence of information. It could mean much more than just that (at least I’ve seen many uses). I think the discussion of “Representing NULL in RDF” revealed many of those little peculiarities and nuances of not knowing everything:

we make no statement about the existence of that property relation for that instance (we just don’tk know)
we know of the existence for that particular subject
we know of the existence for each thing that fulfill a certain condition (member of class ...) << that is schema data
we know a reason (e.g. the hypothetical rdfs:inapplicableProperty) for the absence of the property
we know a reason (e.g. the hypothetical rdfs:inapplicableProperty) for the absence of the property for each thing that fulfill a certain condition (member of class ...) <<< that is schema data
we could additionally reveal security data for a data user that is not allowed to see certain pieces of data


Hope that’s all so far.


Sven



Von: David Booth
Gesendet: ‎Mittwoch‎, ‎12‎. ‎Juni‎ ‎2013 ‎22‎:‎06
An: Juan Sequeda
Cc: Tim Berners-Lee; Steve Harris; Pat Hayes; Sven R. Kunze; public-lod

Right, but you have used out of band information to know that everyone 
has an age.  No automated process could know that.  null in SQL only 
indicates the absence of information, and that is most naturally 
indicated in RDF by the absence of a triple, just as the RDB-to-RDF 
Direct Mapping produces.  if other domain specific information is known, 
such as the fact that everyone has an age, then that information can be 
represented by additional triples that are implied by the existence of 
the row in the table -- not by the null value in the column.

David

On 06/12/2013 03:13 PM, Juan Sequeda wrote:
> It depends.
>
> If I have a NULL for the column age, we can all assume that everybody
> has an age (there exist an age), but I don't know what it is. So it
> would be "safe" to have  <x> :age _:age
>
> Juan Sequeda
> +1-575-SEQ-UEDA
> www.juansequeda.com <http://www.juansequeda.com>
>
>
> On Wed, Jun 12, 2013 at 11:08 AM, Tim Berners-Lee <timbl@w3.org
> <mailto:timbl@w3.org>> wrote:
>
>
>     On 2013-06 -10, at 19:48, Steve Harris wrote:
>
>      > On 2013-06-09, at 20:36, Pat Hayes <phayes@ihmc.us
>     <mailto:phayes@ihmc.us>> wrote:
>      > ...
>      >>>> - value uknown (it should be there but the source doesn't know it)
>      >>> Actually that piece of information could be written down in a
>     RDF Schema graph like this:
>      >>
>      >> It can be written far more simply in RDF just by using a blank node:
>      >>
>      >> :a :p _:x .
>      >
>      > Yes, a blank node is probably the closest thing to a SQL NULL in RDF.
>
>
>     Surely a null in  an RDF database conveys no information about the
>     thing, unless you have out of band knowledge.
>     If you have NULL for a cellphonenumber, then that normally means no
>     one stored a cellphone number,
>     but it doesn't mean that there is a cellphone whose number is unknown.
>
>     A blank node means "There exists one."   As in "This person has some
>     cellphone number".
>     which is very different.
>
>     Nulls should be converted.
>
>     Tim
>
>
Received on Wednesday, 12 June 2013 21:15:30 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:16:36 UTC