RE: ISSUE-3: REPORTED: Lack of anonymous individuals

Hello,

OK, I didn't know about the fact that people are using bnodes in OBO.

Providing some construct that would allow you not to name individuals explicitly is not difficult. Still, I would make this
construct independent from bnodes. Thus, you would have two types of things:

- Unnamed individuals would be just normal individuals for which a tool invents a name.

- Bnodes would be "true" existential nodes.

It seems to me that an elegant solution would be to drop bnodes from OWL 1.1, but to allow unnamed individuals in the functional
syntax.

The OBO people would then have to switch from using bnodes to using unnamed individuals (assuming that they want to be in OWL 1.1
DL).

Do you think this would solve the problem?

	Boris

> -----Original Message-----
> From: Alan Ruttenberg [mailto:alanruttenberg@gmail.com]
> Sent: 13 November 2007 14:08
> To: Boris Motik
> Cc: 'Web Ontology Language (OWL) Working Group WG'
> Subject: Re: ISSUE-3: REPORTED: Lack of anonymous individuals
> 
> 
> On Nov 12, 2007, at 8:13 PM, Boris Motik wrote:
> 
> > Hello,
> >
> > I actually like the suggestion of dropping blank nodes from OWL 1.1
> > DL, but leaving them in OWL 1.1 Full. No OWL 1.0 DL ontology I know
> > of actually uses blank nodes, so the loss of them is no big deal in
> > practice.
> 
> The OBO ontologies use them, though I am not fond of that use, and
> suspect it could be changed.
> 
> > I don't believe that anyone in practice of OWL 1.1 DL would ever
> > mourn the lack of blank nodes.
> 
> They would mourn the fact that they have to specify the name of an
> individual when they don't want to, and the fact that the pool of
> "almost OWL" RDF would shrink.
> 
> > Furthermore, I am not aware of any OWL 1.0 DL tool that implements
> > blank nodes exactly as it is said in the spec: most tools skolemize
> > blank nodes when reading an ontology. This makes the tools sound
> > and complete for ontology satisfiability, but not for ontology
> > entailment. No OWL 1.0 DL tool actually supports ontology
> > entailment directly: the inferences traditionally supported are
> > instance checking, subsumption checking, classification, etc.
> >
> > Thus, the simplest solution would be to leave the specification of
> > OWL 1.1 DL as it is, and to allow blank nodes to appear only in RDF
> > data in OWL 1.1 Full. This would make OWL 1.1 DL technically not
> > 100% backwards compatible, but I doubt that anyone in practice
> > would really care.
> 
> Actually, independent of the blank node issue, the first step would
> be to provide a syntactic construct where a name need not be
> provided, but a unique name (using urn:uuid, for instance) would be
> created instead. This would solve half the problem, without
> prejudicing the resolution of blank nodes.
> 
> > Now I don't completely understand what you meant with the following:
> >
> >> We couldn't generate, within OWL-DL, bnodes. I'm not sure this is
> >> a big deal. It
> >> means we can't generate idiomatic foaf. It also means that OWL
> >> rendered in turtle gets potentially uglier.
> 
>  From http://wiki.foaf-project.org/TurtleFoafTutorial
> 
> @prefix : <http://xmlns.com/foaf/0.1/> .
> <mailto:person@example.net> :knows [ a :Person ; :name "Uther
> Example" ] .
> 
> which can be written in OWL DL as
> 
> Individual(<mailto:person@example.net> value(knows Individual(type
> (Person) value(name "Uther Example")))
> 
> This would no longer be possible. With generated ids(as I suggest),
> the closest we could come would be something like:
> 
> Individual(<mailto:person@example.net> value(knows UnnamedIndividual
> (type(Person) value(name "Uther Example")))
> 
> which would render in turtle as, e.g.
> 
> @prefix : <http://xmlns.com/foaf/0.1/> .
> <mailto:person@example.net> :knows urn:uuid:d81294c0-91a5-11dc-
> bb37-0002a5d5c51b.
> urn:uuid:d81294c0-91a5-11dc-bb37-0002a5d5c51b  a :Person.
> urn:uuid:d81294c0-91a5-11dc-bb37-0002a5d5c51b :name "Uther Example" .
> 
> 
> > Please note that we could only drop bnodes in instance data;
> > however, bnodes would still be allowed in the translation from the
> > structural specification into the RDF syntax. Hence, I don't
> > understand why OWL rendered in turtle gets potentially uglier. The
> > RDF rendering of OWL 1.1 DL would be unchanged by this: we would
> > only just prohibit anonymous individuals in instance data.
> 
> See above.
> 
> >> We could read bnodes within rdf and interpret them within OWL by
> >> way of the translation to the explicit existential (restriction on
> >> property blah blah), as long as there were only trees of bnodes, i.e,
> >> as Bijan notes
> >
> > If we define OWL 1.1 DL without bnodes, then we should probably not
> > handle a potential translation of bnodes while parsing in the spec.
> > Implementations are free to read bnodes in instance data and
> > translate them into skolem constants; however, this is then
> > something that the implementation *may* choose to do. Strictly
> > speaking, this should not affect the definition of the language in
> > any way; otherwise, we are risking incompatibility with OWL 1.1 Full.
> 
> If we translate bnodes into skolem constants then, as I see it, we
> are incompatible with OWL Full. I don't think this is a good idea,
> personally, because I think it will lead to confusion, nor do I see a
> reason to do so.
> 
> > To summarize, the solution would be the following:
> >
> > 1. Leave the structural spec and the mapping to RDF as is -- that
> > is, disallow blank nodes in instance data.
> >
> > 2. Allow for bnodes in OWL 1.1 Full.
> >
> > Regards,
> >
> > 	Boris
> >
> >> -----Original Message-----
> >> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-
> >> request@w3.org] On Behalf Of Alan Ruttenberg
> >> Sent: 10 November 2007 17:57
> >> To: Web Ontology Language (OWL) Working Group WG
> >> Subject: Re: ISSUE-3: REPORTED: Lack of anonymous individuals
> >>
> >>
> >> Related to the question of skolems versus existentials, I note that
> >> both the OWL 1.0 and the OWL 1.1 RDF mappings make liberal use of
> >> bnodes. Is there any reason that we couldn't use skolems (which are
> >> not bnodes)?
> >>
> >> --
> >>
> >> It doesn't seem like a good idea to me to *interpret* bnodes as
> >> skolems. Better to assume that we serialize skolems as urn:uuid: as
> >> Reto suggested in the email Bijan cites.
> >>
> >> It seems to me that we could actually support both.
> >>
> >> Individual(type(owl:Thing)) could be a skolem
> >> SomeIndividual(type(owl:Thing)) could be an existential.
> >>
> >> Suppose we dropped bnodes(old style anonymous individuals) from OWL-
> >> DL, but not OWL-Full, what would be the consequences? We couldn't
> >> generate, within OWL-DL, bnodes. I'm not sure this is a big deal. It
> >> means we can't generate idiomatic foaf. It also means that OWL
> >> rendered in turtle gets potentially uglier.
> >>
> >> We could read bnodes within rdf and interpret them within OWL by way
> >> of the translation to the explicit existential (restriction on
> >> property blah blah), as long as there were only trees of bnodes, i.e,
> >> as Bijan notes
> >>
> >> Can anyone say why doing things this way would be problematic?
> >>
> >> -Alan
> >>
> >
> >

Received on Tuesday, 13 November 2007 05:14:27 UTC