import os
import json
import uuid
from kgforge.core import KnowledgeGraphForge
from kgforge.specializations.resources import Dataset
import getpass
TOKEN = getpass.getpass()
BUCKET = "dke/kgforge"
forge = KnowledgeGraphForge("../use-cases/prod-forge-nexus.yml",
bucket=BUCKET,
token=TOKEN
)
def make_id(i):
return f"{forge._store.endpoint}/schemas/{forge._store.bucket}/dummy_schema_{i}"
def create_schema(i):
payload = {
"context": "https://incf.github.io/neuroshapes/contexts/schema.json",
"id": make_id(i),
"type": "Schema",
"imports": [
"https://neuroshapes.org/commons/entity"
],
"shapes": [
{
"@id": f"{make_id(i)}/shapes/DummyShape",
"@type": "NodeShape",
"node": "https://neuroshapes.org/commons/entity/shapes/EntityShape",
}
]
}
resource = forge.from_json(payload)
forge.register(resource, schema_id=forge._store.service.SHACL_SCHEMA)
return resource
dummies = [create_schema(uuid.uuid4()) for j in range(3)]
<action> _register_one <succeeded> True <action> _register_one <succeeded> True <action> _register_one <succeeded> True
retrieved = [forge.retrieve(dummy.id) for dummy in dummies]
print(retrieved[0])
{ context: https://incf.github.io/neuroshapes/contexts/schema.json id: https://bbp.epfl.ch/nexus/v1/schemas/dke/kgforge/dummy_schema_7fab9433-af89-43eb-878a-607389240256 type: Schema imports: [ https://neuroshapes.org/commons/entity ] shapes: [ { id: https://bbp.epfl.ch/nexus/v1/schemas/dke/kgforge/dummy_schema_7fab9433-af89-43eb-878a-607389240256/shapes/DummyShape type: NodeShape node: https://neuroshapes.org/commons/entity/shapes/EntityShape } ] }
print(retrieved[0]._store_metadata['_constrainedBy'])
https://bluebrain.github.io/nexus/schemas/shacl-20170720.ttl
for r in retrieved:
forge.tag(r, 't01')
<action> _tag_one <succeeded> True <action> _tag_one <succeeded> True <action> _tag_one <succeeded> True
for r in retrieved:
forge.deprecate(r)
<action> _deprecate_one <succeeded> True <action> _deprecate_one <succeeded> True <action> _deprecate_one <succeeded> True