Как разобрать и загрузить онтологию в Python? - PullRequest
3 голосов
/ 17 июня 2019

У меня есть онтология в файле 'owl' (nif.owl).Я знаком с Java, но он продолжал падать;поэтому я попытался использовать Python.Однако, поскольку я раньше не использовал Python, я не уверен, правильно ли я загружаю онтологию!

Вот часть, которая, по моему мнению, связана с загрузкой онтологии:

g = rdflib.Graph()
g.parse ('nif.owl', format='xml')
nif = rdflib.Namespace('http://purl.org/nif/ontology/nif.owl')
g.bind('nif', nif)

Я считаю, что проблема в том, что g.parse устанавливает формат 'xml'.Я думаю, что, возможно, 'xml' неправильный.

Я также прикрепил заголовок файла онтологии в виде изображения.

enter image description here

Причина, по которой я считаю ошибку в коде, заключается в том, что я получаю результат, показанный на рисунке ниже: enter image description here

Спасибо!

PS:Ниже приведен полный код на случай, если с ним что-то не так:

import logging
import rdflib
import time

logging.basicConfig()
logger = logging.getLogger('logger')
logger.warning('The system may break down')

start_time = time.time()

g = rdflib.Graph()
g.parse ('nif.owl', format='xml')
nif = rdflib.Namespace('http://purl.org/nif/ontology/nif.owl')
g.bind('nif', nif)
query = """
select distinct ?p 
where { ?s ?p ?o}
        LIMIT 5
        """
result = g.query(query)
print(result.serialize(format='csv'))

print("--- %s seconds ---" % (time.time() - start_time))
...