OBA Sparql Manager
Project description
OBA Sparql Query Manager

OBA Sparql Query Manager is a Python Module to translate CRUD requests to SPARQL queries. This module is used by OBA project to generate a REST API from OWL ontologies.
OBA sparql use JSON-LD contexts to translate RDF triples to JSON, and vice versa.
Quick Start
Generate the context files
Simply speaking, a context is used to map terms to IRIs. Terms are case sensitive and most valid strings that are not reserved JSON-LD keywords can be used as a term.
To generate the context files, we recommend to use:
TODO: Insert a good example.
from obasparql import QueryManager
from test.settings import dbpedia_queries, dbpedia_context, dbpedia_endpoint, dbpedia_prefix
from obasparql.static import *
queries = "queries/"
contexts = "contexts/"
dbpedia_endpoint = "https://dbpedia.org/sparql"
dbpedia_prefix = "http://dbpedia.org/resource"
graph = None
query_manager = QueryManager(queries_dir=queries,
context_dir=contexts,
endpoint=dbpedia_endpoint,
named_graph_base=graph,
uri_prefix=dbpedia_prefix)
query_manager.get_one_resource()
query_manager.get_all_resource()
Supported features
OBA sparql supports two types of queries:
- Default queries: queries related to the CRUD requests.
- Get a resource and get all the resource by type.
- Custom queries: In some cases, users need to implement custom queries that are not the default instances of a class of the ontology (e.g., get all instances of a class that comply with certain conditions)
Default queries
- GET all: Obtain all the resources with a rdf:type. Needs:
- Resource Type IRI. (For example: http://dbpedia.org/ontology/Artist)
- GET one: Obtain the details about a resource with the id. Needs:
- Resource IRI: (For example: http://dbpedia.org/ontology/Pink_Floyd)
- Resource Type IRI: (For example: http://dbpedia.org/ontology/Artist)
- POST: Insert a new resource:
- The JSON request
- PUT: Update a existing resource
- Resource IRI: (For example: http://dbpedia.org/ontology/Pink_Floyd)
- DELETE: Delete a existing resource
- Resource IRI: (For example: http://dbpedia.org/ontology/Pink_Floyd)
Custom queries
- Get all instances of a class that comply with certain conditions
- Resource Type IRI: (For example: http://dbpedia.org/ontology/Artist)
- Get one instance of a class that comply with the conditions
- Resource IRI: (For example: http://dbpedia.org/ontology/Pink_Floyd)
- Resource Type IRI: (For example: http://dbpedia.org/ontology/Artist)
Testing
This repository is using pytest
for the testing
$ pip install -r test-requirements.txt
$ pytest
For more information. You can inspect the file .travis.yaml
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for obasparql-5.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b75f1fac79753ef389239bdb42118decfd2adc688973d78d3279d8fc1127f28a |
|
MD5 | a07ad401746f2ebea03dcd88748f9bf1 |
|
BLAKE2b-256 | e38bace684721fd27ffed9ac8cabfc9d1d658a620742ba7b245419b2b9c0ebfc |