Как получить категорические детали в викиданных - PullRequest
1 голос
/ 30 апреля 2019

У меня есть список экземпляров следующим образом.

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

  1. Какие другие экземпляры категории myinstance (т.е. только один прыжок)?Как показано на рисунке ниже, другими экземплярами его непосредственного предка является GloVe.enter image description here

  2. Каковы примеры категории категории myinstance (т.е. два прыжка)?Другими словами, каковы примеры embedding (что в двух прыжках от word2vec), как показано на рисунке ниже.

enter image description here

Мне просто интересно, можно ли выполнять такие запросы в 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
}

Я с удовольствием предоставлю более подробную информацию, еслинеобходимо.

...