in clutrr/relations/puzzle.py [0:0]
def __init__(self,
id = None,
target_edge=None,
story=None,
proof=None,
query_edge=None,
ancestry=None,
relations_obj=None
):
"""
:param id: unique id of the puzzle
:param target_edge: the target edge, (node_a, node_b)
:param story: list of edges consisting of the story
:param proof: proof state of the resolution from target edge to story
:param query_edge: edge to query, usually the same as target_edge
:param ancestry: full background graph the story was derived from
:param relations_obj: store of the rule base of the relations
"""
if id is None:
self.id = str(uuid.uuid4())
else:
self.id = id
self.target_edge = target_edge
self.story = story
self.proof_trace = proof
self.facts = []
self.query_edge = query_edge
self.anc = ancestry
self.relations_obj = relations_obj
# derived values
self.query_text = None
self.target_edge_rel = None
self.story_rel = None
self.text_question = None
self.relation_comb = None
# derived full text story
self.full_text_story = None
# story edges with sorted node ids
self.story_sorted_ids = None
self.story_sort_dict = {} # mapping between the original node id and sorted node id
# the templator instances to use
self.train_templates = None
self.test_templates = None