Онтология: создание соединений классов в онтологии

У меня есть онтология (таксономия, только с классами; без индивидов) вроде этой:

Owl:Thing
    Parts
        Jackfruit
        Jackfruit_flower 
        Grape
    Plant
        Jackfruit_tree
        Grapevine

Я хочу создать отношение для соединения двух классов Parts и Plant: grows_in, которые сопоставляют каждую часть с деревом. В конечном счете, я хочу иметь возможность писать запросы SparQL, например: какие части grow_in конкретных растений.

Я где-то читал, что использование аннотации - лучший способ сделать это. Но похоже, что свойства аннотации не работают с запросами рассуждений / SparQL. Следует отметить, что у меня огромная онтология (> 10 000 классов), и я использую rdflib в python.

Как мне лучше всего создать отношения между классами (у меня уже есть сопоставления, все, что осталось сделать, это добавить отношения), чтобы иметь возможность запускать запросы SparQL?


person OntoUser    schedule 18.06.2018    source источник
comment
Повторно опубликовано   -  person unor    schedule 20.06.2018


Ответы (1)


Вам следует создать свойство объекта: grows_in. Свойства объекта соединяют Individuals с Individuals.

Более того, это свойство объекта должно иметь Plants как Domain и Parts как Range.

Свойства аннотаций явно не подходят для этого.

Например, полезный запрос SPARQL будет:

PREFIX : <YOU_ONTOLOGY_URL>

SELECT * WHERE {
  ?parts :grows_in ?plan
}

РЕДАКТИРОВАТЬ: отредактировал следующие комментарии

person Gilles-Antoine Nys    schedule 18.06.2018
comment
Свойства объекта связывают людей, а не классы. Как только вы используете свойство объекта, классы станут отдельными - это называется каламбуром. А для SPARQL это не имеет значения, это для RDF, поэтому он не различает свойства объекта или свойства аннотации. - person UninformedUser; 19.06.2018
comment
Индивиды являются иллюстрацией классов. Таким образом, свойства объекта связывают индивидов, но в первую очередь классы. - person Gilles-Antoine Nys; 19.06.2018
comment
Строго говоря, спецификация свойств OWL и формализация базовой логики описания свойств связывают пары индивидов, а не пары классов. Я написал об этом здесь. - person Henriette Harmse; 22.06.2018