Устранение неоднозначности классов YAGO с помощью wordnet с использованием python - PullRequest
0 голосов
/ 08 октября 2019

Классы в графе знаний YAGO представлены в форме wordnet_XXX_YYY, где XXX - это имя класса, а YYY - идентификатор синтаксиса из wordnet. Так, например, URI для класса airport: http://yago -knowledge.org / resource / wordnet_airport_102692232 .

Поэтому из-за различных значений слова YAGO может иметь много классовс одним и тем же XXX и другим YYY в зависимости от значения.

Как мне найти определение слова по данному YYY? На их сайте https://www.mpi -inf.mpg.de / департаменты / базы данных и информационные системы / исследования / yago-naga / yago / faq / говорится, что YYY - это идентификаторы синхронизации, но инструментвозвращает airport.n.01 в качестве идентификатора синтаксиса.

Чего мне не хватает?

1 Ответ

0 голосов
/ 22 октября 2019

Вы должны выполнить запрос SPARQL на своем компьютере, используя руководство YAGO для извлечения информации из онтологии YAGO. На ваши вопросы, я надеюсь, что следующий код Python даст вам необходимые результаты.

```
from SPARQLWrapper import SPARQLWrapper, JSON
sparql.setQuery("""
    select  *
where {
        <http://yago-knowledge.org/resource/wordnet_XXX_YYY> <http://yago-knowledge.org/resource/hasGloss> ?GlossValues.
      } 
    """)
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
#print(results)

for result in results["results"]["bindings"]:
    print(result)
```
...