示例#1
0
 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)
示例#2
0
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"),
            ),
        )
    ]
示例#3
0
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"),
            ),
        ]
示例#4
0
def nested_statement():
    return m.Edge(
        m.WikidataItem("Q2"),
        m.LabeledEdge(m.WikidataProperty("P31"), m.WikidataItem("Q42"),
                      m.WikidataItem("Q5")),
    )
示例#5
0
 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)].")
示例#6
0
 def test_str(self, example_statement, cached_WikidataItem_Q42):
     assert (str(m.Edge(cached_WikidataItem_Q42,
                        example_statement)) == "(Q42 (P31 Q42 Q5))")
示例#7
0
 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")))'
     )
示例#8
0
 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]"
示例#9
0
 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."
示例#10
0
 def test_str(self, cached_WikidataItem_Q42, cached_WikidataItem_Q5):
     s = m.Edge(cached_WikidataItem_Q42, cached_WikidataItem_Q5)
     assert str(s) == "(Q42 Q5)"
示例#11
0
 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"))'
示例#12
0
def test_transcribe_Edge():
    assert parsing.transcribe("(Q42 Q5)") == [
        m.Edge(m.WikidataItem("Q42"), m.WikidataItem("Q5"))
    ]