- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Wed, 30 May 2007 20:37:54 +0100
- To: Matt Williams <matthew.williams@cancer.org.uk>
- Cc: Taowei David Wang <tw7@cs.umd.edu>, Jeremy Carroll <jjc@hpl.hp.com>, Ulrike Sattler <sattler@cs.man.ac.uk>, Ian Horrocks <horrocks@cs.man.ac.uk>, Owl Dev <public-owl-dev@w3.org>, Semantic Web <semantic-web@w3.org>
On 30 May 2007, at 19:08, Matt Williams wrote: > > Dear All, > > Following on from this discussion, and Ulrike's paper, if we have > infinite (inferred) individuals, such as chains of fathers or > Guards, and we query the ontology, what is returned? > > Would a query of the form Guard(x) or Father(x) return an infinite > number of bindings? Or can we restrict it to "Known" individuals > (which seems to be what Ulrike's paper suggests). Is this similar > to what you can do with some of the SPARQL implementations (e.g. in > Pellet) where you can allow/ disallow bNodes - or is this distinct > (I suspect they're different - the rdf graph is not, I hope, > infinite). Let's consider the traditional service of instance retrieval (as, say, presented in the DIG interface). This is, by definition, only of named individuals, so no problems there. In conjunctive queries, it depends on what "kind" of variable you use. Traditionally in DL systems, there have been two kinds of variables, distinguished and non-distinguished. Distinguished variables appear in the head of the query (i.e., the SELECT bit) and are reported in the results as a column. They also, traditionally, have been restricted to the named individuals, or, as it is sometimes known, the "active domain". Non-distinguished variables appear only in the body and are not reported back and range over arbitrary elements of the domain. These are similar to just having an existential restriction atom (though they are more expressive as they can do cycles). Pellet is the only reasoner I know of that supports non-distinguished variables. Variables that *report back* arbitrary domain elements do, indeed, have challenges (these would be analogous to variables in SPARQL over rdf; they can be tricky even for simple entailment). See my ROW sparql tutorial for some discussion: http://www.cs.man.ac.uk/~bparsia/2006/row-tutorial/#slide20 Cheers, Bijan.
Received on Wednesday, 30 May 2007 19:37:28 UTC