diff -r 65912194e047 -r 9dd14a51a2bb src/p4l/settings.py --- a/src/p4l/settings.py Thu Sep 05 16:28:59 2013 +0200 +++ b/src/p4l/settings.py Fri Sep 06 14:23:56 2013 +0200 @@ -234,6 +234,68 @@ } """ } +SPARQL_THEME_QUERIES = { +'filter' : """ +PREFIX skos: +PREFIX rdf: +PREFIX owl: +PREFIX rdfs: +SELECT DISTINCT ?uri ?label +WHERE { + ?uri a skos:Concept. + ?uri skos:inScheme . + ?uri skos:prefLabel ?label. + FILTER (lang(?label) = ?language). + ?uri skos:prefLabel ?lab. + FILTER regex (str(?lab), ?reg, 'i'). + FILTER (lang (?lab) = ?language). + BIND (STRLEN(STRBEFORE (str(?lab), ?reg)) AS ?place). + BIND (STRLEN(STR(?lab)) AS ?len) +} +ORDER BY ?place ?len ?lab +""", +'root' : """ +PREFIX skos: +PREFIX rdf: +PREFIX owl: +PREFIX rdfs: +SELECT DISTINCT ?uri ?label +WHERE { + ?uri a skos:Concept ; + skos:inScheme ; + skos:prefLabel ?label . + FILTER (lang(?label) = ?language). + FILTER NOT EXISTS { [skos:narrower ?uri] } +} +""", +'childs' : """ +PREFIX skos: +PREFIX rdf: +PREFIX owl: +PREFIX rdfs: +SELECT DISTINCT ?uri ?label +WHERE { + ?uri skos:inScheme . + { ?uri a ?type + FILTER (?type = skos:Collection || ?type = skos:Concept) }. + ?root skos:narrower|skos:member ?uri. + ?uri skos:prefLabel|rdfs:label ?label. + FILTER (lang(?label) = ?language). +} +""", +'child-count' : """ +PREFIX skos: +PREFIX rdf: +PREFIX owl: +PREFIX rdfs: +SELECT (COUNT(?uri) as ?nb) +WHERE { + ?uri skos:inScheme . + ?root skos:narrower|skos:member ?uri. +} +""" + } + REST_FRAMEWORK = { # Use hyperlinked styles by default.