Skip to content

Commit

Permalink
Adjust API URLs
Browse files Browse the repository at this point in the history
  • Loading branch information
nichtich committed Aug 20, 2024
1 parent 068b7bc commit 50f7319
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 60 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 1 addition & 5 deletions manual/README.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
<https://nfdi4objects.github.io/n4o-graph/> 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.
3 changes: 2 additions & 1 deletion manual/cypher.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ cypherEditor

### Anfrageformat

Der vorläufige API-Endpunkt ist <https://graph.gbv.de/api>. Die Cypher-Abfrage wird mit einer **HTTP GET** Anfrage im Query-Parameter `cypher` übergeben.
Der vorläufige API-Endpunkt ist <https://graph.gbv.de/api/cypher>. 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

Expand Down
4 changes: 2 additions & 2 deletions manual/js/common.js
Original file line number Diff line number Diff line change
@@ -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}`)
Expand Down
54 changes: 3 additions & 51 deletions manual/usage.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://graph.gbv.de/> 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 '[email protected]'
```
Eine öffentliche Entwicklungsversion des Property Graphen kann mit der Abfragesprache Cypher über die API-URL <https://graph.gbv.de/api/cypher> abgefragt werden (siehe [API-Dokumentation](https://github.com/nfdi4objects/n4o-graph-apis?tab=readme-ov-file#property-graph-api)). Unter <https://graph.gbv.de/cypher> 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 <https://graph.gbv.de/api/sparql> abgefragt werden (siehe [API-Dokumentation](https://github.com/nfdi4objects/n4o-graph-apis?tab=readme-ov-file#sparql-api)). Unter <https://graph.gbv.de/sparql> 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

Expand Down
2 changes: 1 addition & 1 deletion neo4j.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"url": "http://localhost:7474",
"user": "",
"password": "",
"public": "https://graph.gbv.de/api"
"public": "https://graph.gbv.de/api/cypher"
}

0 comments on commit 50f7319

Please sign in to comment.