Creates a TripleStoreService using Naas object storage via ObjectStorageFactory.ObjectStorageServiceNaas and an object-storage-backed triple store adaptor.
For TripleStoreServiceAWSNeptuneSSHTunnel (required; asserted non-null/non-sentinel):
AWS_REGION
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_NEPTUNE_DB_INSTANCE_IDENTIFIER
AWS_BASTION_HOST
AWS_BASTION_PORT (must parse to int and not equal -42)
AWS_BASTION_USER
AWS_BASTION_PRIVATE_KEY
For TripleStoreServiceOxigraph:
OXIGRAPH_URL (default: http://localhost:7878)
For TripleStoreServiceApacheJenaTDB2:
JENA_TDB2_URL (default: http://localhost:3030/ds)
Usage
from naas_abi_core.services.triple_store.TripleStoreFactory import TripleStoreFactory# Filesystem-backed triple storets = TripleStoreFactory.TripleStoreServiceFilesystem("/tmp/triples")# Oxigraph-backed triple store (uses OXIGRAPH_URL or default)ts_oxi = TripleStoreFactory.TripleStoreServiceOxigraph()# Apache Jena Fuseki (TDB2) dataset (uses JENA_TDB2_URL or default)ts_jena = TripleStoreFactory.TripleStoreServiceApacheJenaTDB2("http://localhost:3030/ds")# Naas object-storage-backed triple storets_naas = TripleStoreFactory.TripleStoreServiceNaas( naas_api_key="...", workspace_id="...", storage_name="...", base_prefix="ontologies",)
Caveats
TripleStoreServiceAWSNeptuneSSHTunnel(...) ignores its passed arguments and always overwrites them from environment variables; missing/invalid env vars trigger assert failures.
AWS_BASTION_PORT must be set; if absent it defaults to -42 and will fail the assertion.