This basic example walks through querying the Wikidata SPARQL endpoint.
We make use of the wikidata module that is part of sparqlprog, and provides access to predicates such as continent/1
(for instances of continents) and the generic enlabel/2
(which maps an entity to it's English-language label)
from prologterms import TermGenerator, PrologRenderer, Program, Var
from sparqlprog import SPARQLProg
P = TermGenerator()
server = 'http://localhost:9083'
# server = 'https://evening-falls-87315.herokuapp.com'
S = SPARQLProg(server=server,
endpoint='wd')
# our query will join over two predicates
C = Var('C')
N = Var('N')
query = (P.continent(C), P.enlabel(C, N)) # same as logic program query: continent(C), enlabel(C,N)
res = S.query(query)
for r in res:
print(f"{r.C} {r.N}")
http://www.wikidata.org/entity/Q15 Africa http://www.wikidata.org/entity/Q18 South America http://www.wikidata.org/entity/Q46 Europe http://www.wikidata.org/entity/Q48 Asia http://www.wikidata.org/entity/Q49 North America http://www.wikidata.org/entity/Q51 Antarctica http://www.wikidata.org/entity/Q538 Oceania http://www.wikidata.org/entity/Q3960 Australia
C = Var('C')
D = Var('D')
CN = Var('CN')
DN = Var('DN')
query = (
P.country(D),
P.part_of_continent(D,C),
P.continent(C),
P.enlabel(D,DN),
P.enlabel(C,CN)
)
res = S.query(query)
for r in list(res)[0:8]:
print(f"{r.D} {r.DN} part-of {r.C} {r.CN}")
_getActualURL is firing. _getActualURL is returning http://localhost:9083/pengine/send?format=json&id=f5d0ae73-5420-4d86-9cf9-a6669cffe732 http://www.wikidata.org/entity/Q114 Kenya part-of http://www.wikidata.org/entity/Q15 Africa http://www.wikidata.org/entity/Q115 Ethiopia part-of http://www.wikidata.org/entity/Q15 Africa http://www.wikidata.org/entity/Q79 Egypt part-of http://www.wikidata.org/entity/Q15 Africa http://www.wikidata.org/entity/Q262 Algeria part-of http://www.wikidata.org/entity/Q15 Africa http://www.wikidata.org/entity/Q258 South Africa part-of http://www.wikidata.org/entity/Q15 Africa http://www.wikidata.org/entity/Q657 Chad part-of http://www.wikidata.org/entity/Q15 Africa http://www.wikidata.org/entity/Q117 Ghana part-of http://www.wikidata.org/entity/Q15 Africa http://www.wikidata.org/entity/Q924 Tanzania part-of http://www.wikidata.org/entity/Q15 Africa
df = S.query_to_dataframe(query)
_getActualURL is firing. _getActualURL is returning http://localhost:9083/pengine/send?format=json&id=16b08d3a-9cf9-49ee-b19a-64a0acc3b297
df
C | CN | D | DN | |
---|---|---|---|---|
0 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q114 | Kenya |
1 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q115 | Ethiopia |
2 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q79 | Egypt |
3 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q262 | Algeria |
4 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q258 | South Africa |
5 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q657 | Chad |
6 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q117 | Ghana |
7 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q924 | Tanzania |
8 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q916 | Angola |
9 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q912 | Mali |
10 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q747314 | Bechuanaland Protectorate |
11 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q929 | Central African Republic |
12 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q948 | Tunisia |
13 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q945 | Togo |
14 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q954 | Zimbabwe |
15 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q953 | Zambia |
16 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q958 | South Sudan |
17 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q962 | Benin |
18 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q963 | Botswana |
19 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q967 | Burundi |
20 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q970 | Comoros |
21 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q971 | Republic of the Congo |
22 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q974 | Democratic Republic of the Congo |
23 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q977 | Djibouti |
24 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q1005 | Gambia |
25 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q986 | Eritrea |
26 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q1006 | Guinea |
27 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q1007 | Guinea-Bissau |
28 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q1008 | Ivory Coast |
29 | http://www.wikidata.org/entity/Q15 | Africa | http://www.wikidata.org/entity/Q1009 | Cameroon |
... | ... | ... | ... | ... |
138 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q778 | Bahamas |
139 | http://www.wikidata.org/entity/Q48 | Asia | http://www.wikidata.org/entity/Q917 | Bhutan |
140 | http://www.wikidata.org/entity/Q48 | Asia | http://www.wikidata.org/entity/Q921 | Brunei |
141 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q781 | Antigua and Barbuda |
142 | http://www.wikidata.org/entity/Q48 | Asia | http://www.wikidata.org/entity/Q928 | Philippines |
143 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q783 | Honduras |
144 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q784 | Dominica |
145 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q790 | Haiti |
146 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q786 | Dominican Republic |
147 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q792 | El Salvador |
148 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q811 | Nicaragua |
149 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q800 | Costa Rica |
150 | http://www.wikidata.org/entity/Q49 | North America | http://www.wikidata.org/entity/Q756617 | Kingdom of Denmark |
151 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q664 | New Zealand |
152 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q30 | United States of America |
153 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q408 | Australia |
154 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q685 | Solomon Islands |
155 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q672 | Tuvalu |
156 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q697 | Nauru |
157 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q686 | Vanuatu |
158 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q683 | Samoa |
159 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q709 | Marshall Islands |
160 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q691 | Papua New Guinea |
161 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q712 | Fiji |
162 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q702 | Federated States of Micronesia |
163 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q695 | Palau |
164 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q710 | Kiribati |
165 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q16644 | Northern Mariana Islands |
166 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q26988 | Cook Islands |
167 | http://www.wikidata.org/entity/Q538 | Oceania | http://www.wikidata.org/entity/Q34020 | Niue |
168 rows × 4 columns