Reshaping will create a copy of a Resource but keeping a set of specified properites.
from kgforge.core import KnowledgeGraphForge
forge = KnowledgeGraphForge("../../configurations/forge.yml")
from kgforge.core import Resource
jane = Resource(type="Person", name="Jane Doe")
john = Resource(type="Person", name="John Smith")
persons = [jane, john]
resources = forge.reshape(persons, keep=["name"])
type(resources)
type(resources[0])
print(jane)
print(resources[0])
jane = Resource(type="Person", name="Jane Doe")
association = Resource(type="Association", agent=jane)
resource = forge.reshape(association, keep=["type", "agent.name"])
print(association)
print(resource)
jane = Resource(type="Person", name="Jane Doe")
forge.register(jane)
resource = forge.reshape(jane, keep=["id", "type"], versioned=True)
print(jane)
print(resource)
john = Resource(type="Person", name="John Smith")
resource = forge.reshape(john, keep=["id", "type"], versioned=True)
resource is None