def expand(self, entity_name):
query = (
"MATCH (a:Entity {name: $entity_name})-[r]->(b:Entity) "
"RETURN b AS child,r.type AS relation_type"
)
with self.driver.session() as session:
result = session.run(query, entity_name=entity_name)
linked_nodes = []
for record in result:
if record["child"].id is not None and record["child"].id != '':
linked_nodes.append(
{
"id": record["child"].id,
"name": record["child"]["name"],
"type": record["relation_type"],
}
)
return linked_nodes
Describe:返回该实体的所有描述(Description)
def describe(self, entity_name):
query = (
"MATCH (a:Entity {name: $entity_name})-[r]->(b:Description) "
"RETURN b AS des,r.type AS relation_type"
)
with self.driver.session() as session:
result = session.run(query, entity_name=entity_name)
types = []
descriptions = []
for record in result:
now_type = record["relation_type"]
if now_type not in types:
matched = []
types.append(now_type)
for flag in result:
if flag["relation_type"] == now_type:
matched.append(
{"name": flag["des"]["name"],
"page": flag["de