diff --git a/README.md b/README.md index 7161525..f974692 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,10 @@ Dieses Repositoriy enthält Skripte und [Dokumentation](#handbuch) zur Erstellung, Management und Nutzung des NFDI4Objects Knowledge Graphen von TA5. +Das Handbuch enthält eine Beschreibung der Architektur und Workflows des +Knowledge Graphen und Abfrage-Beispiele in Cypher und SPARQL in Python und +JavaScript. + ## Übersicht - Verzeichnis [voc](voc) enthält Informationen zu unterstützen Ontologien und diff --git a/manual/README.md b/manual/README.md index d8fcdf5..cef75a5 100644 --- a/manual/README.md +++ b/manual/README.md @@ -1,4 +1,4 @@ -## Handbuch [![Status](https://github.com/nfdi4objects/n4o-graph/actions/workflows/quarto-publish.yml/badge.svg)](https://github.com/nfdi4objects/n4o-graph/actions/workflows/quarto-publish.yml) +[![Status](https://github.com/nfdi4objects/n4o-graph/actions/workflows/quarto-publish.yml/badge.svg)](https://github.com/nfdi4objects/n4o-graph/actions/workflows/quarto-publish.yml) Das Handbuch zum Knowledge Graphen ist mit [quarto](https://quarto.org/) erstellt. Die Konfiguration liegt in [`_quarto.yml`](_quarto.yml) und die @@ -9,7 +9,3 @@ diesem Ordern oder mit `make docs` im Wurzelverzeichnis aktualisiert werden und liegt anschließend im Verzeichnis `docs`. Die publizierte Version unter wird bei GitHub automatisch aus dem `main` Branch erzeugt. - -Das Handbuch enthält eine Beschreibung der Architektur und Workflows des -Knowledge Graphen und Abfrage-Beispiele in Cypher und SPARQL in Python und -JavaScript. diff --git a/manual/cypher.qmd b/manual/cypher.qmd index 252172e..ff96835 100644 --- a/manual/cypher.qmd +++ b/manual/cypher.qmd @@ -50,7 +50,8 @@ cypherEditor ### Anfrageformat -Der vorläufige API-Endpunkt ist . Die Cypher-Abfrage wird mit einer **HTTP GET** Anfrage im Query-Parameter `cypher` übergeben. +Der vorläufige API-Endpunkt ist . Die Cypher-Abfrage wird mit einer **HTTP GET** Anfrage im Query-Parameter `query` übergeben +(siehe [API-Dokumentation](https://github.com/nfdi4objects/n4o-graph-apis?tab=readme-ov-file#property-graph-api)). ### Rückgabeformat diff --git a/manual/js/common.js b/manual/js/common.js index fa12a1d..af0f4d8 100644 --- a/manual/js/common.js +++ b/manual/js/common.js @@ -1,5 +1,5 @@ -async function cypherQuery(cypher) { - const url = "https://graph.gbv.de/api?" + new URLSearchParams({cypher}) +async function cypherQuery(query) { + const url = "https://graph.gbv.de/api/cypher?" + new URLSearchParams({query}) return fetch(url).then(async response => { const data = await response.json() if (!response.ok) throw new Error(`${data.error}: ${data.message}`) diff --git a/manual/usage.qmd b/manual/usage.qmd index 91b28e5..ab7fbcd 100644 --- a/manual/usage.qmd +++ b/manual/usage.qmd @@ -4,63 +4,15 @@ subtitle: Zugriff auf den Inhalt des Knowledge Graphen lang: de --- -Der Zugriff auf den Knowledge Graphen ist bislang nur [per Cypher-API](#cypher-api) möglich. Darüber hinaus sind eine browserbasierte Suchoberfläche, Datenbankdumps und die Integration in andere Anwendungen geplant. +Der Zugriff auf den Knowledge Graphen ist bislang nur über technische Schnittstellen (APIs) möglich. Darüber hinaus sind eine browserbasierte Suchoberfläche, Datenbankdumps und die Integration in andere Anwendungen geplant. ## Cypher-API -Eine öffentliche Entwicklungsversion des Property Graphen kann mit der Abfragesprache Cypher über die API-URL abgefragt werden. Eine Einführung mit Beispielen und Dokumentation des Rückgabeformat gibt es im Kapitel [Cypher-Abfragen](cypher.qmd). - -:::{.column-screen-inset-right} - -#### Abfrage mit Python - -```python -import requests -import json - -api = "https://graph.gbv.de/api" -query = 'MATCH (m:E16_Measurement) RETURN m LIMIT 1' -results = requests.get(api, { "cypher": query }).json() -``` - -#### Abfrage mit JavaScript - -```js -const api = "https://graph.gbv.de/api" -const cypher = 'MATCH (m:E16_Measurement) RETURN m LIMIT 1' -results = await fetch(api, { cypher }).then(res => res.json()) -``` - -::: - -#### Abfrage mit curl - -Die Cypher-Query muss URL-kodiert werden, dabei werden unter anderem -Leerzeichen durch `%20` ersetzt. Der Parameter -[--data-urlencode](https://curl.se/docs/manpage.html#--data-urlencode) sorgt -automatisch dafür: - -:::{.column-screen-inset-right} -```sh -curl -G {{< meta public >}} --data-urlencode 'cypher=MATCH (m:E16_Measurement) RETURN m LIMIT 10' -``` -::: - -Die Cypher-Query kann auch per Datei übergeben werden: - -```sh -curl -G {{< meta public >}} --data-urlencode 'cypher@queryfile.cypher' -``` +Eine öffentliche Entwicklungsversion des Property Graphen kann mit der Abfragesprache Cypher über die API-URL abgefragt werden (siehe [API-Dokumentation](https://github.com/nfdi4objects/n4o-graph-apis?tab=readme-ov-file#property-graph-api)). Unter gibt es eine einfache Weboberfläche zur Formulierung von Abfragen. Eine weitere Einführung mit Beispielen gibt es im Kapitel [Cypher-Abfragen](cypher.qmd). ## SPARQL-API -::: {.callout-warning appearance="simple"} -Noch nicht öffentlich zugänglich! -::: - -Der Triple-Store des Knowledge Graphen kann mittels SPARQL abgefragt werden. -Eine Einführung mit Beispielen gibt es im Kapitel -[SPARQL-Abfragen](sparql.qmd). +Eine öffentliche Entwicklungsversion des Triple-Store kann mit der Abfragesprache SPARQL über die API-URL abgefragt werden (siehe [API-Dokumentation](https://github.com/nfdi4objects/n4o-graph-apis?tab=readme-ov-file#sparql-api)). Unter gibt es eine einfache Weboberfläche zur Formulierung von Abfragen. Eine weitere Einführung mit Beispielen gibt es im Kapitel [SPARQL-Abfragen](sparql.qmd). ## Datenbankdumps diff --git a/neo4j.json b/neo4j.json index 29e9453..fee8f89 100644 --- a/neo4j.json +++ b/neo4j.json @@ -3,5 +3,5 @@ "url": "http://localhost:7474", "user": "", "password": "", - "public": "https://graph.gbv.de/api" + "public": "https://graph.gbv.de/api/cypher" }