Cómo filtrar wikidata etiquetas en concepto de búsqueda?
Estoy usando el siguiente código para obtener el wikidata labels
para que el concepto dado (por ejemplo, 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
Esto devuelve el siguiente wikidata etiquetas.
wd:Q618079 --> related to electronics
wd:Q4417999 --> related to graph theory (computer science)
wd:Q60640547 --> related to scholary article
Me gustaría obtener la wikidata labels
que están relacionadas con ciencias de la computación (es decir, wd:Q4417999
en el ejemplo anterior).
En DBpedia me encontré con la siguiente consulta para identificar si una palabra está en computer science
.
sparql.setQuery(" ASK { dbc:network_analysis skos:broader{1,7} computer_science } ")
Es posible hacer lo mismo en wikidata (es decir, comprobar si computer science
es un ancestro del concepto dado y devuelve sólo que wikidata etiqueta).
Si hay una solución mejor que la realización de ancestoral búsqueda por favor, ¿me sugieren.
Estoy feliz de dar más detalles si es necesario.