Skip to main content

Semantic API

Versions

0.0.39 : queries.py to support matches_object_list and OR(query_object, ..., query_object) 0.0.38 : queries.py update 0.0.37 : object_queries and uri_for_name added 0.0.36 : minor changes such as improved error message on connection or request failure 0.0.35 : query_result method added to query_object 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

Metadata

Release files for semantic-api 0.0.39

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for semantic-api 0.0.39
File Size Uploaded
semantic_api-0.0.39.tar.gz 62.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for semantic-api 0.0.39
File Interpreter ABI Platform
semantic_api-0.0.39-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 156.1 kB

Release files / semantic_api-0.0.39.tar.gz

Download URL semantic_api-0.0.39.tar.gz
Size 62.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9756b9fa6c6ab8000f8ca754445e448cf84b00c152002de669a43e9e9daf2921
BLAKE2b-256 checksum
How to use checksums
dbb058bc84f94e108f8db5ca04411a12faa5095b4ed538b9010357eae0dd2aba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / semantic_api-0.0.39-py2.py3-none-any.whl

Download URL semantic_api-0.0.39-py2.py3-none-any.whl
Size 93.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
69cd885f9e9d8fff3246c3c529bc19bc84def21c8a8c8cbcbdca2735bbf1e022
BLAKE2b-256 checksum
How to use checksums
38ebb705e205ac6a7ce3538f11a07c1abda573b644237fb06c60cd0ed67b74a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page