def visit_edge(self, node, children): """ Instantiates a Edge for a statement with two q_ids. """ if self.debug: print(f"Instantiating an Edge from {children}.") return model.Edge(*children)
def test_transcribe_nested_Statements(): assert parsing.transcribe("(Q5482740 (P31 Q42 Q5))", debug=True) == [ m.Edge( m.WikidataItem("Q5482740"), m.LabeledEdge( m.WikidataProperty("P31"), m.WikidataItem("Q42"), m.WikidataItem("Q5"), ), ) ]
def test_transcribe_multiple_Statements(): assert parsing.transcribe( "(Q5)(P31 Q42 Q5) (Q5 Q42) (P106 Q3236990 Q5482740)") == [ m.Statement(m.WikidataItem("Q5")), m.LabeledEdge( m.WikidataProperty("P31"), m.WikidataItem("Q42"), m.WikidataItem("Q5"), ), m.Edge(m.WikidataItem("Q5"), m.WikidataItem("Q42")), m.LabeledEdge( m.WikidataProperty("P106"), m.WikidataItem("Q3236990"), m.WikidataItem("Q5482740"), ), ]
def nested_statement(): return m.Edge( m.WikidataItem("Q2"), m.LabeledEdge(m.WikidataProperty("P31"), m.WikidataItem("Q42"), m.WikidataItem("Q5")), )
def test_describe(self, example_statement, cached_WikidataItem_Q42): assert (m.Edge(cached_WikidataItem_Q42, example_statement).describe( "en") == "Douglas Adams → [Douglas Adams → human (instance of)].")
def test_str(self, example_statement, cached_WikidataItem_Q42): assert (str(m.Edge(cached_WikidataItem_Q42, example_statement)) == "(Q42 (P31 Q42 Q5))")
def test_repr(self, example_statement, cached_WikidataItem_Q42): assert ( repr(m.Edge(cached_WikidataItem_Q42, example_statement)) == 'Edge(WikidataItem("Q42"), LabeledEdge(WikidataProperty("P31"), WikidataItem("Q42"), WikidataItem("Q5")))' )
def test_describe_lvl(self, cached_WikidataItem_Q42, cached_WikidataItem_Q5): s = m.Edge(cached_WikidataItem_Q42, cached_WikidataItem_Q5) assert s.describe("en", lvl=1) == "[Douglas Adams → human]"
def test_describe(self, cached_WikidataItem_Q42, cached_WikidataItem_Q5): s = m.Edge(cached_WikidataItem_Q42, cached_WikidataItem_Q5) assert s.describe("en") == "Douglas Adams → human."
def test_str(self, cached_WikidataItem_Q42, cached_WikidataItem_Q5): s = m.Edge(cached_WikidataItem_Q42, cached_WikidataItem_Q5) assert str(s) == "(Q42 Q5)"
def test_repr(self, cached_WikidataItem_Q42, cached_WikidataItem_Q5): s = m.Edge(cached_WikidataItem_Q42, cached_WikidataItem_Q5) assert repr(s) == 'Edge(WikidataItem("Q42"), WikidataItem("Q5"))'
def test_transcribe_Edge(): assert parsing.transcribe("(Q42 Q5)") == [ m.Edge(m.WikidataItem("Q42"), m.WikidataItem("Q5")) ]