typedb-driver
typedb-driver copied to clipboard
explainables().ownerships() method throws a TypeError exception
Description
ConceptMap.explainables().ownerships() throws a Type error, but it doesn't have any arguments.
Environment
- TypeDB distribution: Core
- TypeDB version: 2.26.6-rc1
- Environment: Mac
- Studio version: -
- Other details: Python driver 2.26.6-rc1
Reproducible Steps
- Set up
define_query = """
define
email sub attribute, value string;
name sub attribute, value string;
friendship sub relation, relates friend;
user sub entity,
owns email @key,
owns name,
plays friendship:friend;
admin sub user;
"""
define_query_rule = """
define
rule users:
when {
$u isa user;
} then {
$u has name "User";
};
"""
insert_query = """
insert
$user1 isa user, has name "Alice", has email "[email protected]";
$user2 isa user, has name "Bob", has email "[email protected]";
$friendship (friend:$user1, friend: $user2) isa friendship;
"""
with driver.session(DB_NAME, SessionType.DATA) as session:
with session.transaction(TransactionType.READ, TypeDBOptions(infer=True, explain=True)) as transaction:
get_query = """
match
$u isa user, has email $e, has name $n;
$e contains 'Alice';
get
$u, $n;
"""
- Execute
response = transaction.query.get(get_query)
for i, ConceptMap in enumerate(response):
name = ConceptMap.get("n").as_attribute().get_value()
print(f"Name #{i + 1}: {name}")
explainable_ownerships = ConceptMap.explainables().ownerships()
- Unexpected result
Traceback (most recent call last):
File "/Users/vladimir/Documents/GitHub/typedb_python_driver_manual/main.py", line 230, in <module>
explainable_ownerships = ConceptMap.explainables().ownerships()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/vladimir/Documents/GitHub/python_features_code_test/venv/lib/python3.11/site-packages/typedb/concept/answer/concept_map.py", line 139, in ownerships
return {key: self.ownership(*key)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/vladimir/Documents/GitHub/python_features_code_test/venv/lib/python3.11/site-packages/typedb/concept/answer/concept_map.py", line 139, in <dictcomp>
return {key: self.ownership(*key)
^^^^^^^^^^^^^^^^^^^^
TypeError: typedb.concept.answer.concept_map._ConceptMap.Explainables.ownership() argument after * must be an iterable, not StringPair
Expected result
Return Explainable for every ownership. https://typedb.com/docs/drivers/python/api-reference#Explainables_ownerships_