- From: Pierre-Yves Vandenbussche <pierre-yves.vandenbussche@mondeca.com>
- Date: Wed, 5 Aug 2009 17:48:33 +0200
- To: Danny Ayers <danny.ayers@gmail.com>
- Cc: semantic-web@w3.org
- Message-ID: <debd55cf0908050848s78b3233k57d6dadb56b18ec7@mail.gmail.com>
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