Base de datos de grafos escrita en Rust que implementa los estándares RDF [Resource Description Framework] y SPARQL que permiten trabajar con datos enlazados [Linked Data]. Esta herramienta permite manipular archivos RDF y consultarlos mediante SPARQL, así como generar un servidor HTTP sobre la base de datos. El Marco de Descripción de Recursos [RDF] es un modelo estándar para el intercambio de datos en la web. Formatos soportados Turtle [.ttl], N-Triples [.nt], N-Quads [.nq], RDF/XML [.rdf] y TriG [.trig]
$ oxigraph load --location mi_db datos.ttl
$ oxigraph load --location mi_bd datos1.ttl datos2.rdf datos3.nt
$ oxigraph load --location mi_bd --format turtle datos.txt
$ oxigraph query --location mi_bd --query 'SELECT * WHERE { ?s ?p ?o } LIMIT 10'
$ oxigraph query --location mi_bd --query-file consulta.sparql
$ oxigraph query --location mi_bd --query-file consulta.sparql --results resultados.json
$ oxigraph serve --location mi_bd
$ oxigraph serve --location mi_bd --bind 0.0.0.0:8080
$ oxigraph serve --location mi_bd --bind localhost:7878
$ oxigraph dump --location mi_bd --file backup.nq
$ oxigraph convert --from turtle --to ntriples datos.ttl > datos.nt
$ oxigraph serve --help
1.-
Ejemplo completo para crear archivo de datos
$ nano libros.ttl
@prefix : <http://ejemplo.org/libros#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
//
:libro1 a :Libro ;
dc:title "El Quijote" ;
dc:creator "Miguel de Cervantes" ;
:año 1605 .
//
:libro2 a :Libro ;
dc:title "Cien años de soledad" ;
dc:creator "Gabriel García Márquez" ;
:año 1967 .
$ oxigraph load --location biblioteca libros.ttl
Consultar:
$ nano consulta.sparql
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?titulo ?autor WHERE {
?libro dc:title ?titulo ;
dc:creator ?autor .
}
ORDER BY ?titulo
$ oxigraph query --location biblioteca --query-file consulta.sparql
$ oxigraph serve --location biblioteca
$ curl -X POST http://localhost:7878/query -H "Content-Type: application/sparql-query" -H "Accept: application/json" --data 'SELECT * WHERE { ?s ?p ?o } LIMIT 5'