A simple python API for creating, inserting, querying, and processing semantic data. This requires semantic services that are not included here
Project description
Semantic API
Versions
0.0.34 : query.py added to support the simplified query API
Install
pip3 install semantic-api
Use
Import
from semantic.api.semantic_api import semantic
from semantic.common.utils import defineSchemaId
from semantic.api.config import brokerIP, dbUri, batch_size
Schema context configuration
An ontology is assumed to built from a set of ontology clusters and identified by a schemaName, and a schemaVersion.
This schemaName-schemaVersion pair defines a schema instance in the database which is further identified by instanceName since it is common practice to have multiple logical instances in the database for the same ontology.
The function defineSchemaId(schemaName, schemaVersion, instanceName, dbUri) from semantic.common.utilsdefines and instance of the type SchemaID that is used to bind with the semantic context in the database.
The extra dbUri parameter provides the domain information of the schema and data and the JSON-LD @context that is returned in queries.
The Semantic API shall be instantiated before using api.narration or api.chain methods as these require a connection to the MQTT broker. Note that a database with the schemaName-schemaVersion-instanceName is assumed to be running along with a semantic service (out of scope of this project).
api = semantic( brokerIp, defineSchemaId(schemaName, schemaVersion, instanceName, dbUri), batch_size)
| Parameter | Use | Suggestion |
|---|---|---|
| brokerIP | MQTT Broker IP | use remote broker for project, default from config is 'localhost' |
| schemaName | identifying name for schema | according to defined schemas |
| schemaVersion | schema version | according to defined schemas |
| instanceName | database instance for schemaName-schemaVersion | suggest user defined instance assuming this has been created and instantiated with schema |
| dbUri | db IP:port URI | use default from config defined as 'http://127.0.0.1:6363/' |
Database client
The API supports a lower level database client semantic.clientthat is useful for database configuration tasks. Currently, only two methods are exposed on client but will be filled out and adequately documented to match the current service API. A commnand line version of this client libary will also be provided as the command line is more useful for maintenance than programtic use, as per the current node.js based semantic-client.
| semantic.client methods | return |
|---|---|
getSchemaId() |
SchemaID instance in service |
setSchemaId(schemaName, schemaVersion, instanceName) |
sets SchemaId instance (assumning current dBUri) |
The following section describes the usage of the API.
1 Semantic API
2 Background
3 RDF and Types
4 Editing Ontologies
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file semantic_api-0.0.34.tar.gz.
File metadata
- Download URL: semantic_api-0.0.34.tar.gz
- Upload date:
- Size: 61.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9efeec31b35c4725fa274ce437bf66d952dc98a4187eb0bbdc5c4b9e943fc14
|
|
| MD5 |
e339bb25e34adb314a0d0228bc6540d5
|
|
| BLAKE2b-256 |
aa10dc750141536ec812dda807b667518c604f346558c8f14e638b8b844132e3
|
File details
Details for the file semantic_api-0.0.34-py2.py3-none-any.whl.
File metadata
- Download URL: semantic_api-0.0.34-py2.py3-none-any.whl
- Upload date:
- Size: 92.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
802537117ac61d6acf036750bb340b6f7242a5935081f468f06af1e1595fefd5
|
|
| MD5 |
ad210af0fa0cad1f3c4508e0942aee31
|
|
| BLAKE2b-256 |
aa7a5cfa4248a1ce4a735057791197f19d898972c426cc27f3d5b7bbb3f954a7
|