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 <[email protected]
<mailto:[email protected]>> wrote:
On 2013-06 -10, at 19:48, Steve Harris wrote:
> On 2013-06-09, at 20:36, Pat Hayes <[email protected]
<mailto:[email protected]>> 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