Re: Representing NULL in RDF

Hi David, Jan,

This came up in a recent modelling discussion around Open Annotation[1] and
its use in Shared Canvas[2].

Open Annotation has a Choice resource (think rdf:Alt) where, for example,
the body of the annotation could be an HTML document or the equivalent text
in PDF from a different site.  One use case for Shared Canvas is where the
body represents the choice where either an image should be displayed, or
the situation that nothing should be displayed.  Here we need an explicit
'null' as the lack of a predicate both doesn't follow the data model (which
requires at least two items in the choice) and isn't clear, given the open
world assumption, that null is possible.

Our solution was to use rdf:nil, but we would be happy to change that if
there is a more appropriate approach.

Many thanks,

Rob Sanderson

1. http://openannotation.org/spec/core/multiplicity.html#Choice
2. http://www.shared-canvas.org/datamodel/iiif/metadata-api.html#AdvChoice





On Mon, Jun 3, 2013 at 7:43 AM, David Wood <david@3roundstones.com> wrote:

> Hi Jan,
>
> That's because nulls are generally not represented in Linked Data by
> design.  One "represents" a null by failing to include the relationship.
>
> Regards,
> Dave
>
>
> On Jun 3, 2013, at 4:38, Jan Michelfeit <michelfeit.jan@gmail.com> wrote:
>
> > Hi,
> > I was doing some comparison of relational databases and Linked Data and
> ran into the problem of representing an equivalent of database NULL in RDF.
> >
> > I was surprised I haven't found any material or discussion on this topic
> (found only [1]) - is there some?. I believe it would be beneficial if this
> question was answered somewhere for future reference. I started a question
> on Stack Overflow [2] where I think it will be easier to discover and so
> that this list won't get polluted.
> >
> > I'm aware of the open world assumption in RDF, but NULL or a missing
> value can have several interpretations, for example:
> >
> > - value not applicable (the attribute does not exist or make sense in
> the context)
> > - value uknown (it should be there but the source doesn't know it)
> > - value doesn't exist (e.g. year of death for a person alive)
> > - value is witheld (access not allowed)
> >
> > I would like to known whether there is some *standard or generally
> accepted* way of distinguishing these cases. If you have an answer, please
> put it on [2], is possible.
> >
> > Thanks in advance,
> > Jan Michelfeit
> >
> > [1] http://lists.w3.org/Archives/Public/public-rdf-wg/2011Nov/0167.html
> > [2] http://stackoverflow.com/q/16873174/2032064
> >
> >
>
>

Received on Monday, 3 June 2013 14:31:41 UTC