Re: SKOS query in SPARQL 1.1

This is all really nice, thanks for the examples.

If SPARQL property paths had been around in 2008, I think I might have
reconsidered the need for skos:broaderTransitive :)

Cheers,

Alistair

On Sat, Oct 16, 2010 at 09:52:04AM -0400, Bob DuCharme wrote:
>  The blog posting Dan mentions covers property paths as one set of
> new SPARQL 1.1 features. I covered other new features at http://www.snee.com/bobdc.blog/2010/08/trying-sparql-11-new-query-fea.html.
> 
> For using property paths with SKOS, here are a few queries off the
> top of my head with the International Virtual  Observatory Alliance
> SKOS thesaurus available at
> http://www.ivoa.net/rdf/Vocabularies/vocabularies-20091007/IAUT93/ .
> (If I brought over my neighbor who knows a lot more about astronomy
> than I do, that would probably make these better.)
> 
> All queries assume @prefix i:
> <http://www.ivoa.net/rdf/Vocabularies/IAUT93#> and @prefix skos:
> <http://www.w3.org/2004/02/skos/core#> .
> 
> 1. Get all data in the subtree under the top level concept i:VariableStars:
> 
> SELECT *
> WHERE {
>   ?c skos:broader* i:VariableStars .
>   ?c ?p ?o .
> }
> 
> 
> 2. What concepts are skos:related to the same concepts that
> i:BlackHoles is related to?
> 
> SELECT DISTINCT ?c
> WHERE {
>   i:BlackHoles skos:related^skos:related ?c .
>   FILTER (?c != i:BlackHoles)
> }
> 
> 
> 3. Working in some of SPARQL 1.1's aggregate functions
> (http://www.w3.org/TR/sparql11-query/#aggregates) can help to
> analyze a particular vocabulary. For example: how many nodes are
> there six levels down?
> 
> SELECT (COUNT(?b) as ?sixDeep)
> WHERE {
>   ?c skos:broader{6} ?b .
> }
> 
> 
> Bob
> 
> 
> -----Original Message-----
> 
> From: Dan Brickley [mailto:danbri@danbri.org]
> Sent: Saturday, October 16, 2010 6:04 AM
> To: SKOS
> 
> Subject: SKOS query in SPARQL 1.1
> 
> Hello SKOS people,
> 
> http://www.snee.com/bobdc.blog/2010/10/playing-more-with-sparql-11-pr.html
> from Bob DuCharme might be of interest.
> 
> "Playing more with SPARQL 1.1 property paths"
> 
> It describes some new language features in SPARQL (along with their
> implementation in ARQ, Jena's query engine; Java software).
> 
> The new SPARQL draft includes a 'property paths' feature,
> http://www.w3.org/TR/2010/WD-sparql11-query-20101014/#propertypaths
> 
> "A property path is a possible route through a graph between two graph
> nodes. A trivial case is a property path of length exactly 1, which is
> a triple pattern. Property paths allow for more concise expression of
> some SPARQL basic graph patterns and also add the ability to match
> arbitrary length paths. The ends of the path may be RDF terms or
> variables. Variables can not be used as part of the path itself, only
> the ends. Query evaluation determines all matches of a path expression
> and binds subject or object as appropriate."
> 
> This should lend itself to SKOS (and Bob reports some success there),
> since we often have hierarchies of skos:broader to traverse. If anyone
> experiments with this, I'm sure everyone here would be happy to see
> some summary and sample queries. The SPARQL Working Group might
> appreciate feedback too.
> 
> cheers,
> 
> Dan
> 
> 
> 

-- 
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health <http://cggh.org>
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Web: http://purl.org/net/aliman
Email: alimanfoo@gmail.com
Tel: +44 (0)1865 287669

Received on Wednesday, 2 February 2011 09:02:37 UTC