Re: [Question] How to define class instances by intention, in OWL (with a SPARQL query)

Thank you very much for your replies

 If I try to summarize all possibilities I have, I discern 3 solutions in
order to express dynamic instances of a class based on a query:

1-define a dataitem to store the query, in any particular rule language.
Then we need to have a special reasoner / engine to execute this query to
obtain instances for this class
*assets*: full query expressivity  (depending on rule language)
*drawbacks*: query as a literal is not understandable by a OWL reasoner.

2-define a complete class which by the mean of restrictions, union,
disjunctions, represent the query.
*assets*: rule is understood by the OWL resaoner.
*drawbacks*: query expressivity is limited by OWL expression.

3-refer to external resource which represent the result set constructed by
the query
*assets*: full query expressivity  (depending on rule language)
*drawbacks*: query is not visible, no reasoning possible. Problem for
dynamic datasets

Thank you Alan for the syntax using OWL2. It exists a lot of romantic
composers between 1800 and 1900 (if someone interested, I give the SPARQL
query which corresponds to Alan class definition:


http://dbpedia.org/sparql

SELECT distinct ?x

      WHERE

          {

          ?c  dbpprop:birthPlace  ?x.

          ?c a <http://dbpedia.org/class/yago/RomanticComposers>.

          ?c  dbpprop:birth  ?b.

          ?c  dbpprop:death ?d.

          FILTER (?b >'1700'^^xsd:date).

          FILTER (?d <'1900'^^xsd:date).

           }
)

Pierre-Yves.
http://sites.google.com/site/pierreyvesvandenbussche/

On Wed, Aug 5, 2009 at 4:15 PM, Danny Ayers <danny.ayers@gmail.com> wrote:

> An alternative might be to put the query online, treat it as a
> resource, and give it a URI. If the dataset is constant then you could
> give the result set a URI.
>
> 2009/8/4 Pierre-Yves Vandenbussche <pierre-yves.vandenbussche@mondeca.com
> >:
> >
> > Hello,
> >
> > I'm currently working on dynamic collection definition and try to express
> it
> > in OWL format.
> >
> > I would like to specify a class for which all instances are defined in
> > intention by a query. The only way I found is to put a property "query"
> > which has a literal value and contained the query.
> > As far as i know, this representation, by the mean of OWL restriction, is
> > not possible (i may be wrong) .
> >
> > Example : The class of native places of 19th century romantic composers,
> as
> > retrieved by the following SPARQL Query on dbpedia
> >
> >       SELECT ?x
> >       WHERE
> >           {
> >           ?c  dbpprop:birthPlace  ?x.
> >           ?c a <http://dbpedia.org/class/yago/RomanticComposers>.
> >           ?c  dbpprop:birth  ?b.
> >           ?c  dbpprop:death ?d.
> >           FILTER (?b > 1800)
> >           FILTER (?d <1900)
> >            }
> >
> >
> > Is there a way to define in OWL, membership of a class with a query ?
> >
> > Thank you,
> >
> > Pierre-Yves.
> >
>
>
>
> --
> http://danny.ayers.name
>

Received on Wednesday, 5 August 2009 15:49:33 UTC