Пожалуйста, подождите, я новичок в технологиях semanti c.
Я пытаюсь использовать пакет rdflib
для извлечения меток из классов в онтологиях. Однако некоторые онтологии не содержат самих меток, но имеют URI классов из других онтологий. Как извлечь метки из URI внешних онтологий?
Интуиция, стоящая за моими попытками, сосредоточена на идентификации классов, которые не содержат меток локально (если это правильный способ выразить это), а затем "их URI к внешним онтологиям для извлечения меток. Однако способ, которым я это реализовал, не работает.
import rdflib
g = rdflib.Graph()
# I have no trouble extracting labels from this ontology:
# g.load("http://purl.obolibrary.org/obo/po.owl#")
# However, this ontology contains no labels locally:
g.load("http://www.bioassayontology.org/bao/bao_complete.owl#")
owlClass = rdflib.namespace.OWL.Class
rdfType = rdflib.namespace.RDF.type
for s in g.subjects(predicate=rdfType, object=owlClass):
# Where label is present...
if g.label(s) != '':
# Do something with label...
print(g.label(s))
# This is what I have added to try to follow the URI to the external ontology.
elif g.label(s) == '':
g2 = rdflib.Graph()
g2.parse(location=s)
# Do something with label...
print(g.label(s))
Я принимаю совершенно неправильный подход? Любая помощь приветствуется! Спасибо.