Skip to content

Instantly share code, notes, and snippets.

@csarven
Last active June 7, 2016 14:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save csarven/426b1a3062f9c3247f7e54d27c7abf68 to your computer and use it in GitHub Desktop.
Save csarven/426b1a3062f9c3247f7e54d27c7abf68 to your computer and use it in GitHub Desktop.
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX qb: <http://purl.org/linked-data/cube#>
PREFIX sdmx-dimension: <http://purl.org/linked-data/sdmx/2009/dimension#>
PREFIX sdmx-measure: <http://purl.org/linked-data/sdmx/2009/measure#>
CONSTRUCT {
?resource skos:prefLabel ?prefLabel .
}
WHERE {
?resource a <http://purl.org/linked-data/cube#DataSet> .
OPTIONAL { ?resource dcterms:title ?prefLabel . }
OPTIONAL { ?resource skos:prefLabel ?prefLabel . }
OPTIONAL { ?resource rdfs:label ?prefLabel . }
FILTER (REGEX(?prefLabel, 'GDP', 'i'))
FILTER (LANG(?prefLabel) = '' || LANGMATCHES(LANG(?prefLabel), 'en'))
FILTER (EXISTS {
?observation qb:dataSet ?resource .
?propertyRefArea rdfs:subPropertyOf* sdmx-dimension:refArea .
?observation ?propertyRefArea [ skos:notation 'CA' ] .
})
}
@csarven
Copy link
Author

csarven commented Jun 7, 2016

by @jindrichmynarz :

PREFIX rdfs:           <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos:           <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms:        <http://purl.org/dc/terms/>
PREFIX qb:             <http://purl.org/linked-data/cube#>
PREFIX sdmx-dimension: <http://purl.org/linked-data/sdmx/2009/dimension#>
PREFIX sdmx-measure:   <http://purl.org/linked-data/sdmx/2009/measure#>

CONSTRUCT {
  ?resource skos:prefLabel ?prefLabel .
}
WHERE {
  {
    SELECT DISTINCT ?propertyRefArea
    WHERE {
      ?propertyRefArea rdfs:subPropertyOf* sdmx-dimension:refArea .
    }
  }
  VALUES ?labelProperty {
    dcterms:title
    skos:prefLabel
    rdfs:label
  }
  ?resource a qb:DataSet ;
    ?labelProperty ?prefLabel .
  FILTER (CONTAINS(UCASE(?prefLabel), "GDP") && (LANG(?prefLabel) = '' || LANGMATCHES(LANG(?prefLabel), 'en')))

  [] qb:dataSet ?resource ;
    ?propertyRefArea [ skos:notation 'CA' ] .
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment