У меня есть список экземпляров следующим образом.
myinstances = ['word2vec', 'tf-idf', 'dijkstra's algorithm']
Для каждого myinstance
в приведенном выше списке я хочу найти:
1. What are the other instances of `myinstance`'s category (i.e. only one hop)
2. What are the instances of `myinstance`'s category's category (i.e. two hops)
Например, если мырассмотрим myinstance = word2vec
Какие другие экземпляры категории myinstance
(т.е. только один прыжок)?Как показано на рисунке ниже, другими экземплярами его непосредственного предка является GloVe.
Каковы примеры категории категории myinstance
(т.е. два прыжка)?Другими словами, каковы примеры embedding
(что в двух прыжках от word2vec
), как показано на рисунке ниже.
Мне просто интересно, можно ли выполнять такие запросы в sparql?
Мой текущий код выглядит следующим образом.
SELECT * {
VALUES ?searchTerm { "word2vec" "tf-idf" "dijkstra's algorithm" }
SERVICE wikibase:mwapi {
bd:serviceParam wikibase:api "EntitySearch".
bd:serviceParam wikibase:endpoint "www.wikidata.org".
bd:serviceParam wikibase:limit 1 .
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
}
Я с удовольствием предоставлю более подробную информацию, еслинеобходимо.