Een functionale API voor het vinden van datasets en dataservices met een keuze voor welke catalogus en welke zoekterm. Beschikbaar als OpenApi YAML specificatie met een aanroep naar een end-point waarin de logica ingevuld is met nodered. Deze API is ontwikkeld in het project Open Data Moet Stromen onder de naam: publish-find-bind.
Het endpoint is: https://client.data-ambassade.nl/product/pfb
Voorbeeld van een aanroep: https://client.data-ambassade.nl/product/pfb?catalogus="open data rotterdam"&zoekterm=TIR
Toegepaste technologie:
- GraphQL server (https://the-guild.dev) - gehost bij Scamander
- Wundergraph (https://wundergraph.com/) - gehost bij Scamander
- Nodered (https://nodered.org) - gehost op client.data-ambassade.nl

De werking van de nodered flow is onderstaand weergegeven. De aanroep komt links binnen op de http node en wordt vervolgens via een switch naar de specifieke catalogus geleid. Daar wordt met de API van de applicatie een zoekopdracht uitgevoerd. Uit het resultaat worden de velden gehaald die met de url die verwijst naar de daadwerkelijke databron. Resultaat gaat als JSON terug.
De opties voor de te kiezen catalogus zijn in de node 'catalogus' zichtbaar.


De OpenApi kan je direct aanroepen, bijvoorbeeld via Swagger (gebruik data-ambassade account van github). https://app.swaggerhub.com/apis/Data-Ambassade9/publish-find_bind/v1#/default/get_product_pfb
De OpenApi is tevens ontsloten als GraphQL endpoint via Wundergraph. Met Wundergraph kan je meerdere technische API's publiceren als GraphQL endpoint. Te bereiken via: https://scaapidata.scamanderhost.com/graphql
Daarin kan je deze query uitproberen waarbij je een dataset zoekt in de catalogus van het Open Urban Platform.
query publish_find_bind ($catalogus: String!, $zoekterm: String!) { product_pfb_getProductPfb(catalogus: $catalogus, zoekterm: $zoekterm) { catalog title description accessurl format } }
Met als variabelen:
{ "catalogus": "oup.rotterdam.nl", "zoekterm": "drinkwater" }
In Qgis kan je een zogenaamde plug-in installeren. Installeer via het menu 'Plugins' van Qgis de CKAN plug-in en configureer deze zodanig dat je daarmee een eigen catalogus kan aanroepen in plaats van een CKAN catalogus.

Open via het menu van de Plugins de CKAN browser en kies 'Select CKAN server'.

Maak hierin twee nieuwe verwijzingen aan ('Add CKAN server to list') voor het aanroepen van
- het open data portaal (data.rotterdam.nl): https://client.data-ambassade.nl/opendatarotterdam/api/3
- het Open Urban Platform: https://client.data-ambassade.nl/oup/api/3
Druk op Test om te kijken of ze werken. Selecteer het open data portaal van Rotteram. En daarna onderaan op Save om de instelling te bewaren.
Dit is het resultaat bijvoorbeeld bij het zoeken op TIR in het opendata portaal van Rotterdam