Skip to content
Snippets Groups Projects
Commit e1622f27 authored by Andreas Schärtl's avatar Andreas Schärtl
Browse files

doc: explain SPARQL endpoint

parent 994af339
Branches
No related tags found
No related merge requests found
Endpoints
=========
With ULO/RDF triplets imported into a database, in our case GraphDB, we
have all data available for querying. There are multiple approaches
to querying such triplet stores.
SPARQL
------
SPARQL [1] is a standardized query language for RDF triplet data. The spec
includes not just syntax and semantics of the language itself, but also
a standardized REST interface for querying databases.
Various implementations of this standard, e.g. [2], are available so
using SPARQL has the advantage of making us independent of a specific
programming language or environment.
SPARQL is inspired by SQL, a simple query that returns all triplets
in the store looks like
SELECT *
WHERE { ?s ?p ?o }
where `s`, `p` and `o` are query variables. The result of a query are
valid substitutions for the query variables. In this case, the
database would return a table of all triplets in the store sorted by
subject `s`, predicate `p` and object `o`.
Of course, queries might return a lot of data. Importing just the
Isabelle exports [3] into GraphDB results in >200M triplets. This
is solved with pagination techniques [4].
References
----------
[1] https://www.w3.org/TR/rdf-sparql-query/
[2] https://godoc.org/github.com/knakk/sparql
[3] https://gl.mathhub.info/Isabelle
[4] https://stackoverflow.com/questions/27488403/paginating-sparql-results
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment