mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SPARQL
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SPARQL
		
	
	
	
	
	
| PREFIX owl: <http://www.w3.org/2002/07/owl#>
 | |
| PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 | |
| PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
 | |
| 
 | |
| SELECT DISTINCT ?s ?label
 | |
| WHERE {
 | |
|   SERVICE <http://api.finto.fi/sparql>
 | |
|   {
 | |
|     SELECT DISTINCT ?s ?label ?plabel ?alabel ?hlabel (GROUP_CONCAT(DISTINCT STR(?type)) as ?types)
 | |
|     WHERE {
 | |
|       GRAPH <http://www.yso.fi/onto/kauno/>
 | |
|       {
 | |
|       ?s rdf:type <http://www.w3.org/2004/02/skos/core#Concept>
 | |
|       {
 | |
|        ?s rdf:type ?type .
 | |
|        ?s ?prop ?match .
 | |
|        FILTER (
 | |
|         strstarts(lcase(str(?match)), "test") && !(?match != ?label && strstarts(lcase(str(?label)), "test"))
 | |
|        )
 | |
|        OPTIONAL {
 | |
|         ?s skos:prefLabel ?label .
 | |
|         FILTER (langMatches(lang(?label), "en"))
 | |
|        }
 | |
|        OPTIONAL { # in case previous OPTIONAL block gives no labels
 | |
|          ?s ?prop ?match .
 | |
|          ?s skos:prefLabel ?label .
 | |
|          FILTER (langMatches(lang(?label), lang(?match))) }
 | |
|       }
 | |
|       FILTER NOT EXISTS { ?s owl:deprecated true }
 | |
|      }
 | |
|      BIND(IF(?prop = skos:prefLabel && ?match != ?label, ?match, "") as ?plabel)
 | |
|      BIND(IF(?prop = skos:altLabel, ?match, "") as ?alabel)
 | |
|      BIND(IF(?prop = skos:hiddenLabel, ?match, "") as ?hlabel)
 | |
|      VALUES (?prop) { (skos:prefLabel) (skos:altLabel) (skos:hiddenLabel) }
 | |
|     }
 | |
|     GROUP BY ?match ?s ?label ?plabel ?alabel ?hlabel ?prop
 | |
|     ORDER BY lcase(str(?match)) lang(?match)
 | |
|     LIMIT 10
 | |
|   }
 | |
| }
 |