def test_transcribe_LabeledEdge(): assert parsing.transcribe("(P31 Q42 Q5)") == [ m.LabeledEdge( m.WikidataProperty("P31"), m.WikidataItem("Q42"), m.WikidataItem("Q5"), ) ]
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_LabeledEdges(): assert parsing.transcribe("(P31 Q42 Q5) (P106 Q3236990 Q5482740)") == [ m.LabeledEdge( m.WikidataProperty("P31"), m.WikidataItem("Q42"), m.WikidataItem("Q5"), ), m.LabeledEdge( m.WikidataProperty("P106"), m.WikidataItem("Q3236990"), m.WikidataItem("Q5482740"), ), ]
def visit_q_id(self, node, children): """ Instantiates a Node for each q_id. """ if self.debug: print(f"Instantiating Node from {children}.") return model.WikidataItem(f"Q{children[0]}")
def test_transcribe_mixed(): assert parsing.transcribe("(01704452-v Q42 03833065-n)", debug=True) == [ m.LabeledEdge( m.OMWSynset("01704452-v"), m.WikidataItem("Q42"), m.OMWSynset("03833065-n"), ) ]
def flat_statement(): return m.LabeledEdge( m.WikidataProperty("P31"), 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 singleton_statement(): return m.Statement(m.WikidataItem("Q2013"))
def test_validate(self): with pytest.raises(ValueError): m.WikidataItem("Q42Z")
def cached_WikidataItem_Q42(): """ Contains a cached copy of m.WikidataItem("Q42") """ return m.WikidataItem("Q42")
def test_transcribe_Edge(): assert parsing.transcribe("(Q42 Q5)") == [ m.Edge(m.WikidataItem("Q42"), m.WikidataItem("Q5")) ]
def test_transcribe_singletonStatement(): assert parsing.transcribe("(Q5)") == [m.Statement(m.WikidataItem("Q5"))]