This notebook shows how to set a knowledge graph forge session in debug mode.
from kgforge.core import KnowledgeGraphForge
from kgforge.core import Resource
from kgforge.specializations.mappings import DictionaryMapping
scientists = [
{
"id": 123,
"name": "Marie Curie",
},
{
"id": 456,
"name": "Albert Einstein",
},
]
mapping = DictionaryMapping("""
id: forge.format("identifier", "contributions", x.id)
type: Contribution
agent: forge.resolve(x.name)
""")
forge_1 = KnowledgeGraphForge("../../configurations/forge.yml")
resources_1 = forge_1.map(scientists, mapping)
<action> resolve <error> ResolvingError: resolving scope or resolver name should be specified in case of multiple available resolvers
resources_1 is None
True
def pexc(e: Exception) -> None:
print(f"{type(e).__name__}: {e}")
forge_2 = KnowledgeGraphForge("../../configurations/forge.yml", debug=True)
try:
resources_2 = forge_2.map(scientists, mapping)
except Exception as e:
pexc(e)
ResolvingError: resolving scope or resolver name should be specified in case of multiple available resolvers
forge_3 = KnowledgeGraphForge("../../configurations/forge.yml")
forge_3._debug = True
try:
resources_3 = forge_3.map(scientists, mapping)
except Exception as e:
pexc(e)
ResolvingError: resolving scope or resolver name should be specified in case of multiple available resolvers
forge_3._debug = False
resources_4 = forge_3.map(scientists, mapping)
<action> resolve <error> ResolvingError: resolving scope or resolver name should be specified in case of multiple available resolvers
resources_4 is None
True