Skip to content

Commit

Permalink
update how to query
Browse files Browse the repository at this point in the history
  • Loading branch information
ElisabethDeVries committed May 5, 2024
1 parent 8b1b170 commit de8457c
Showing 1 changed file with 34 additions and 10 deletions.
44 changes: 34 additions & 10 deletions docs/howtoquery/h/2.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,53 @@
# Connecten met sparql-endpoint



## Introductie
NLCS is gepubliceerd op een sparql-endpoint. Dit hoofdstuk beschrijft hoe je daarmee kunbt connecten vanuit een applicatie
NLCS is gepubliceerd op een sparql-endpoint. Dit hoofdstuk beschrijft hoe je kunt queriën met sparql en hoe je met een sparql-endpoint kunt connecten vanuit een applicatie

## Open API versus sparql
De Open-API specificaties zijn geschreven voor Rest-API’s. Deze techniek worden vandaag de dag veel gebruikt.
Als je een connector wilt bouwen voor een sparql-endpoint heb je andere parsing en constructie nodig.
## How-To: Werken met SPARQL-query's
Deze handleiding is bedoeld voor ontwikkelaars die willen werken met SPARQL-query's in de context van NLCS Linked Data. We zullen stapsgewijs uitleggen hoe je query's kunt uitvoeren en het NLCS-datamodel kunt verkennen.

### SPARQL Query Editor
Om SPARQL-query's uit te voeren, kun je gebruik maken van YasGUI, een open-source SPARQL Query Editor die in de browser draait.

## https-protocol
Connecten met een sparql-endpoint gaat met het https protocol, https://www.w3.org/TR/sparql11-protocol/. Dit beschrijft hoe je een gewone GET of POST request doet naar een SPARQL endpoint.
* YasGUI: [Link naar YasGUI](https://yasgui.org/)

Leestips:
* Het kadaster heeft zijn datasets (oa de BGT en de BAG) ook als linked data gepubliceerd, en heeft documentatie gemaakt om developers op gang te helpen om hiermee te connecten: https://labs.kadaster.nl/developer/sparql/ en met name ook https://labs.kadaster.nl/developer/sparql/tutorial/4-Gebruik-eigen-programmeertaal.
### SPARQL/API-endpoint
Het SPARQL/API-endpoint voor de Laces-repo's is cruciaal voor het uitvoeren van query's. Gebruik de actuele endpoints die te vinden zijn in de [Readme van de NLCS repository](https://github.com/nl-digigo/NLCS/blob/main/README.md)

### Uitvoeren van een Basisquery
Je kunt exploratieve vragen stellen om jezelf een indruk te geven van welke predicaten, welke klassen voorkomen:
* SELECT DISTINCT ?class WHERE { [] rdf:type ?class . }
* SELECT DISTINCT ?predicate ?type WHERE { [] ?predicate ?value . bind( datatype(?value) as ?type ) }
* en met SELECT * WHERE { ?s ?p ?o . filter( regex( ?o , "discipline", "i" ) ) }
* zie je de URI van de klasse Discipline.

### Browsen door de ontologie
Als je door de gehele ontologie als bestand wil browsen, via de API-beschrijving van Laces is te vinden hoe je die ophaalt. Ook kun je bijv. Ontodia gebruiken om grafisch te browsen, [hier](https://jsfiddle.net/mgdL5p3w/3/) is een voorbeeld geconfigureerd.

## sparql
### Leestips
Als SPARQL zelf nog nieuw is, dan is https://www.w3.org/TR/2013/REC-sparql11-query-20130321/ de open (en overal geïmplementeerde) specificatie (veel consequenter tussen vendors dan SQL).

De volgende boeken helpen je op weg:
* Dean Allemang, James Hendler, Fabien Gandon. (2020.) Semantic web for the working ontologist: effective modeling for linked data, RDFS and OWL. 3rd ed. ACM Books #33.
* Bod DuCharme. (2013). Learning SPARQL. 2nd ed. O'Reilly.
* DyCharmes [website](http://www.learningsparql.com/).

## Connectors bouwen

### Open API versus sparql
De Open-API specificaties zijn geschreven voor Rest-API’s. Deze techniek worden vandaag de dag veel gebruikt.
Als je een connector wilt bouwen voor een sparql-endpoint heb je andere parsing en constructie nodig.


## Dotnet/c-sharp
### https-protocol
Connecten met een sparql-endpoint gaat met het https protocol, https://www.w3.org/TR/sparql11-protocol/. Dit beschrijft hoe je een gewone GET of POST request doet naar een SPARQL endpoint.

### Leestips
* Het kadaster heeft zijn datasets (oa de BGT en de BAG) ook als linked data gepubliceerd, en heeft documentatie gemaakt om developers op gang te helpen om hiermee te connecten: https://labs.kadaster.nl/developer/sparql/ en met name ook https://labs.kadaster.nl/developer/sparql/tutorial/4-Gebruik-eigen-programmeertaal.
* Op https://github.com/semantalytics/awesome-semantic-web?tab=readme-ov-file#c-1 gaat het over dotNetRDF en RDFSharp.




0 comments on commit de8457c

Please sign in to comment.