Используйте свойства для описания классов - PullRequest
0 голосов
/ 07 февраля 2019

Я думаю, что можно использовать свойства для описания классов rdfs.Однако действительно ли это хорошая практика с точки зрения семантики.

В качестве примера рассмотрим, что у нас есть:

:Animal        a          rdfs:Class.
:Lion          a          rdfs:Class.
:Lion   rdfs:subClassOf   :Animal.

Теперь рассмотрим, что мы хотим сказать что-то обо всех львах;например, у них 30 зубов и они покрыты мехом:

:countOfTeeth          a      rdf:Property.
:Lion           :countOfTeeth "30"^^xsd:Integer.
:coveredWith           a      rdf:Property.
:Lion           :coveredWith  :fur.

Обратите внимание, что я говорю о свойствах, описывающих сам класс, т. е. не его экземпляры.

Вопросы

  1. Я не нахожу ничего синтаксически неправильного в этом.Верно?
  2. Теперь семантически: это обычная практика?Каковы последствия такого способа моделирования?
  3. А как насчет случаев :Lion, будут ли эти знания применимы?
  4. Какие-либо стандартные ресурсы W3C?

Обратите внимание, что я задаю вопрос об использовании свойств для описания классов таким образом;не лучший ли этот способ моделирования знаний о зубах и мехах льва.

РЕДАКТИРОВАТЬ

Я говорю с точки зрения построения словарного запаса.Интерпретация в значительной степени зависит от стороны приложения.Следовательно, такие решения, как сделать :Lion подклассом анонимного ограничения, не совсем то, что мне нужно.

1 Ответ

0 голосов
/ 08 февраля 2019

Чтобы ответить на ваши вопросы, в следующем порядке:

  1. В этом действительно нет ничего синтаксически неправильного - хотя в зависимости от ваших намерений это может быть семантически неверно (как в: itможет не сказать то, что вы хотите, чтобы он сказал);
  2. Это не редкость - вы часто будете встречать подобные вещи в таксономических моделях (например, в биологической или медицинской области, как упомянуто в комментариях).Конечно, это не означает, что это правильный выбор моделирования в любом случае использования , который вы имеете в виду;
  3. В RDFS тот факт, что класс :Lion имеетколичество зубов не имеет отношения к каким свойствам имеют экземпляры класса.Нет никаких выводов о том, что у отдельных львов будет 30 зубов, и нет никаких подтверждений того, что при добавлении нового льва у них будет правильное количество зубов.

    В OWL вы, как правило, используете другой подход к моделированию,введя свойство ограничение вместо простого утверждения свойства на уровне класса.Честно говоря, ваша оговорка ставит меня в тупик: такие вещи - это словарный запас.

  4. Хорошее начало - OWL 2 Primer , особенно в части об ограничениях свойств и о "наказании" (= позволяет повторно использовать идентификатор как класс и какиндивидуальный).
...