diff -r ad27066048ce -r 829d9d4111da src/p4l/settings.py --- a/src/p4l/settings.py Thu Sep 05 15:05:47 2013 +0200 +++ b/src/p4l/settings.py Thu Sep 05 15:47:30 2013 +0200 @@ -173,6 +173,67 @@ NB_RECORDS_BY_PAGE = 20 SPARQL_QUERY_ENDPOINT = "http://localhost:8080/openrdf-sesame/repositories/plan4learning" +SPARQL_SUBJECT_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:Collection ; + skos:inScheme ; + skos:prefLabel|rdfs:label ?label . + FILTER (lang(?label) = ?language). + FILTER NOT EXISTS { [skos:member ?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.