This notebook demonstrates the use the Storing interface of the Forge.
from kgforge.core import KnowledgeGraphForge
forge = KnowledgeGraphForge("../../configurations/demo-forge.yml")
from kgforge.core import Resource
jane = Resource(type="Person", name="Jane Doe")
association = Resource(type="Association", agent=jane)
forge.register(association)
<action> _register_one <succeeded> True
association._synchronized
True
association._last_action
Action(error=None, message=None, operation='_register_one', succeeded=True)
association._store_metadata
{'version': 1, 'deprecated': False}
john = Resource(type="Person", name="John Smith")
association.agent = john
association._synchronized
False
jane = Resource(type="Person", name="Jane Doe")
john = Resource(type="Person", name="John Smith")
persons = [jane, john]
forge.register(jane)
<action> _register_one <succeeded> True
forge.register(persons)
<count> 1 <action> _register_one <succeeded> False <error> RegistrationError: resource should not be synchronized <count> 1 <action> _register_one <succeeded> True
jane._synchronized
False
john._synchronized
True
jane = Resource(type="Person", name="Jane Doe")
association = Resource(type="Association", agent=jane)
forge.register(association)
<action> _register_one <succeeded> True
association._store_metadata.version
1
john = Resource(type="Person", name="John Smith")
association.agent = john
forge.update(association)
<action> _update_one <succeeded> True
association._synchronized
True
association._store_metadata.version
2
jane = Resource(type="Person", name="Jane Doe")
forge.register(jane)
<action> _register_one <succeeded> True
jane._store_metadata.deprecated
False
forge.deprecate(jane)
<action> _deprecate_one <succeeded> True
jane._store_metadata.deprecated
True