Я использую следующий код, чтобы получить wikidata labels
для данной концепции (например, network analysis
).
SELECT ?item {
VALUES ?searchTerm { "network analysis" }
SERVICE wikibase:mwapi {
bd:serviceParam wikibase:api "EntitySearch".
bd:serviceParam wikibase:endpoint "www.wikidata.org".
bd:serviceParam wikibase:limit 3 .
bd:serviceParam mwapi:search ?searchTerm.
bd:serviceParam mwapi:language "en".
?item wikibase:apiOutputItem mwapi:item.
?num wikibase:apiOrdinal true.
}
?item (wdt:P279|wdt:P31) ?type
}
ORDER BY ?searchTerm ?num
Возвращает следующие метки викиданных.
wd:Q618079 --> related to electronics
wd:Q4417999 --> related to graph theory (computer science)
wd:Q60640547 --> related to scholary article
Я хотел бы получить wikidata labels
, которые имеют отношение только к информатике (т.е. wd:Q4417999
в приведенном выше примере).
В DBpedia я запустил следующий запрос, чтобы определить, есть ли слово в computer science
.
sparql.setQuery(" ASK { dbc:Network_analysis skos:broader{1,7} dbc:Computer_science } ")
Можно ли сделать то же самое в викиданных (т.е. проверить, является ли computer science
предком данного понятия и возвращает только эту метку викиданных).
Если есть лучшее решение, чем поиск наследственного поиска, пожалуйста, предложите мне.
Я с удовольствием предоставлю более подробную информацию, если это необходимо.