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
File details
Details for the file obasparql-5.0.3.tar.gz
.
File metadata
- Download URL: obasparql-5.0.3.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d695c69fbc0ee671c47b6f0adaf203f498c03bf329ed0c0952e8f9ca40ac9eee |
|
MD5 | 6fb7224a333f913d6da07b8487b3fccd |
|
BLAKE2b-256 | 2dbfcf8fe7bf2474162bd4e6854d4482db113eb7049ba750abe111173c9482f7 |
File details
Details for the file obasparql-5.0.3-py3-none-any.whl
.
File metadata
- Download URL: obasparql-5.0.3-py3-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b75f1fac79753ef389239bdb42118decfd2adc688973d78d3279d8fc1127f28a |
|
MD5 | a07ad401746f2ebea03dcd88748f9bf1 |
|
BLAKE2b-256 | e38bace684721fd27ffed9ac8cabfc9d1d658a620742ba7b245419b2b9c0ebfc |