Hej tänkte bara meddela att en feature som inte fanns för inte allt för länge sen, nu finns... SparQL queries går att köra mot portalen! (Kan vara old news, jag kanske är sist på bollen ... men men
)
Vad är ditt case, Tomas?
...jo jag behövde få fram en lista på alla som publicerar data enligt en viss specifikation. I mitt fall gäller det Lediga Tomter. Vilka i katalogen publicerar enligt "Lediga Tomter 2.0" - kan jag få fram en lista med ändpunkter att slå vidare mot i min applikation, slipper jag sitta och "bläddra" i Dataportal.se.
Hur kör man script mot dataportal.se som SparQL?
Jag använder en enkel webbtjänst YASGUI (https://yasgui.org) som låter mig experimentera, lite som Postman.
Vad är ändpunkten för Sparql-queries?
https://admin.dataportal.se/sparql
Visa mig ett exempel på script som du kör då?
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX dct: <http://purl.org/dc/terms/>
SELECT ?dataset ?distribution ?url ?organisation
WHERE {
?dataset a dcat:Dataset ;
dct:conformsTo <https://dataportal.se/specifications/ledigatomter/2.0> .
?dataset dcat:distribution ?distribution .
?distribution dcat:accessURL ?url .
?distribution dct:format ?format .
FILTER (str(?format) = "text/csv") .
?dataset dct:publisher ?organisation .
}
...och resultatet? (exempel från yasgui.org

...i Yasgui kan du få restultat som Json, tabell osv. Du kan även köra scriptet som ett URL-anrop direkt i webbläsaren om du vill:
https://admin.dataportal.se/sparql?query=PREFIX%20dcat%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fdcat%23%3E%0APREFIX%20dct%3A%20%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0ASELECT%20%3Fdataset%20%3Fdistribution%20%3Furl%20%3Forganisation%0AWHERE%20%7B%0A%20%20%3Fdataset%20a%20dcat%3ADataset%20%3B%0A%20%20%20%20%20%20dct%3AconformsTo%20%3Chttps%3A%2F%2Fdataportal.se%2Fspecifications%2Fledigatomter%2F2.0%3E%20.%0A%20%20%3Fdataset%20dcat%3Adistribution%20%3Fdistribution%20.%0A%20%20%3Fdistribution%20dcat%3AaccessURL%20%3Furl%20.%0A%20%20%3Fdistribution%20dct%3Aformat%20%3Fformat%20.%0A%20%20FILTER%20%28str%28%3Fformat%29%20%3D%20%22text%2Fcsv%22%29%20.%0A%20%20%3Fdataset%20dct%3Apublisher%20%3Forganisation%20.%0A%7D
...ja de tär lite svårläst, men funka om du t.ex. kör script i Powershell, Python eller anropar via FME kanske? There is no end to the possibilities..... 
Svaret filtrerar jag sen, eller stukar om min fråga, så att jag t.ex. bara får ut URL om jag inte behöver mer metadata. Sen mosar jag in listan på URL till FME som slår mot dem och hämtar ut datat som jag sen kan använda vidare.
Fördelen?
...är att jag alltså får ut en dynamisk lista - så fort någon lägger till en distribution på dataportal.se som pekar ut Lediga Tomter 2.0 -specfikationen, så kommer min lista att fyllas på med den. Detta kan man alltså även använda för att sätta ihop statistik om hur många som nyttjar gamla och nya specifikationen t.ex.
Jag håller på att försöka, på lediga stunder, stäta samman en enkel formatkontrollerare, som ställer en Sparql-fråga, hämtar hem alla URL till distributioner, laddar dessa distributioners data och utvärderar dem mot schemat för distributionen - de som inte matchar hamnar i en fel-lista som man kan använda för att hjälpa dataägaren förbättra kvaliteten på sin data (t.ex. felaktiga filformat, kolumnindelning, datatyper, obligatoriska fält som saknas osv).