Quickstart
This guide needs Cargo. Install Rust and Cargo if it is not already available.
Install sparqld with Cargo:
Command
cargo install sparqld
Install sq to send the query:
Command
cargo install --git https://github.com/ktk/sq
Serve a directory
Create a directory for the data:
Command
mkdir -p data
In your editor, create data/alpha-centauri.md and paste this source:
Source alpha-centauri.md
---
"@context":
- https://json-ld.org/contexts/dollar-convenience.jsonld
- schema: https://schema.org/
dbo: http://dbpedia.org/ontology/
dbp: http://dbpedia.org/property/
dbr: http://dbpedia.org/resource/
$: schema:name
constellation:
"@id": dbo:constellation
"@type": "@id"
contains:
"@id": schema:hasPart
"@type": "@id"
is-orbited-by:
"@reverse": dbp:star
$id: dbr:Alpha_Centauri
$: Alpha Centauri
schema:description: The closest star system to the Solar System.
constellation:
$id: dbr:Centaurus
$: Centaurus
contains:
- $: Alpha Centauri AB
contains:
- $type: dbo:Star
$: Alpha Centauri A
- $type: dbo:Star
$: Alpha Centauri B
is-orbited-by:
- $id: dbr:Proxima_Centauri
$type: dbo:Star
$: Proxima Centauri
is-orbited-by:
- $id: dbr:Proxima_Centauri_b
$type: dbo:Planet
$: Proxima Centauri b
- $id: dbr:Proxima_Centauri_d
$type: dbo:Planet
$: Proxima Centauri d
---
# Alpha Centauri
Alpha Centauri is the closest star system to the Solar System.
Start sparqld in this terminal:
Command
sparqld ./data
Keep this terminal running. The endpoint is available at
http://127.0.0.1:7737/ and watches the directory for changes.
Query the endpoint
Open a second terminal. This query shows what orbits what in the example.
Save it as orbits.rq:
Source orbits.rq
PREFIX schema: <https://schema.org/>
PREFIX dbp: <http://dbpedia.org/property/>
SELECT ?body ?orbits
WHERE {
?bodyResource dbp:star ?parent .
?bodyResource schema:name ?body .
?parent schema:name ?orbits .
}
ORDER BY ?body
Run it with sq:
Command
sq -e http://127.0.0.1:7737/ -f orbits.rq
The query returns:
Result orbits.tsv
Proxima Centauri Alpha Centauri AB
Proxima Centauri b Proxima Centauri
Proxima Centauri d Proxima Centauri
Each row is a body followed by what it orbits.
Queries are read-only, so exploring the dataset cannot modify your files.
See a live update
In data/alpha-centauri.md, change Alpha Centauri to a new name and save the
file. Run the same sq command again: the result changes without restarting
sparqld.
Next, see Agents or browse the compatible SPARQL clients.