Предложение для простой структуры онтологии

Я новичок в мире RDF, RDFS и OWL, и я пытаюсь построить свой небольшой пример структуры онтологии.

Я собрал некоторую информацию о растениях, в частности, я думал о первом уровне разделения, основанном на том, «насколько высоким может быть растение» (пожалуйста, позвольте мне передать эту фразу, я делаю очень очень простую онтологию, которая не на 100% в реальном мире правильно, просто используя его для понимания OWL) путем разделения суперкласса с именем растительность на 3 подкласса с именами травянистое растение, кустарник и дерево.

Теперь эти классы различаются по высоте объектов в них, поэтому я подумал о создании 3 свойств (по одному для каждого) с одним и тем же именем: "hasHeight", в котором в зависимости от класса они имеют определенное ограничение, например (> 6 метров ) для деревьев или (> = 1,5 & <= 6 метров) для кустарников.

Решение, о котором я думал:

Растительность
* L Травянистое растение со свойством hasHeight (<1,5 м)
* L Кустарник со свойством hasHeight (> = 1,5 м & <= 6 м)
* L Дерево со свойством hasHeight (> 6 м)

Я уверен, что это неправильный подход к этой проблеме, и мне нужна помощь, чтобы лучше понять, как я могу структурировать эту информацию.

Сначала объясните, почему OWL - это язык веб-онтологий.

nicomp 10.09.2018 22:17

@nicomp несколько не по теме, но рабочая группа оправдывает его тем, что он назван в честь персонажа Совы из Винни-Пуха А. А. Милна, который был очень мудр и мог написать свое собственное имя: «WOL».

Jeen Broekstra 11.09.2018 03:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
117
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В Манчестерский синтаксис:

Prefix: : <https://stackoverflow.com/q/52263807#>

Ontology: <https://stackoverflow.com/q/52263807>

Class: Vegetation
#    DisjointUnionOf: Herbaceous_plant, Shrub, Tree

DataProperty: has_height
    Domain: Vegetation
    Range: xsd:decimal[>= 0.0]
    Characteristics: Functional
    Annotations: rdfs:comment "in meters"@en

Class: Herbaceous_plant
    EquivalentTo: # Vegetation and
        has_height exactly 1 xsd:decimal[>= 0.0 , < 1.5]

Class: Shrub
    EquivalentTo: # Vegetation and 
        has_height exactly 1 xsd:decimal[>= 1.5 , <= 6.0]

Class: Tree
    EquivalentTo: # Vegetation and
        has_height exactly 1 xsd:decimal[> 6.0]

Individual: tree1
    Facts: has_height 7.0

# Individual: tree2
#     Types: Tree, Shrub

Откройте его в Protégé, проверьте элементы в представлении Иерархия классов на вкладке Сущности> Классы, затем выберите Reasoner> Начать рассуждение и снова проверьте их.

На самом деле, закомментированные строки не нужны, чтобы:

  • классифицируйте tree1 как Tree, или
  • сделать онтологию недействительной (сделать ее противоречивой) индивидуумом tree2.

Большое спасибо за ответ, если бы я мог спросить, как все должно быть изменено, если бы я включил возможность для «растения» быть экземплярами 2 из 3 классов, но сохраняя те же условия высоты для классов ?? Пример: могу ли я заявить, что лавровое растение может быть как дерево, так и кустарник, используя эту структуру? приведет ли это к дублированию записей для 2 классов?

The BigBoss 11.09.2018 11:09

В общем, отдельный человек может принадлежать к нескольким классам (однако, не в вышеупомянутой онтологии, которая в этом смысле довольно жесткая и будет несовместимой в этом случае.

Stanislav Kralin 11.09.2018 11:27

Большое спасибо за ваш любезный ответ и вашу помощь, сэр!

The BigBoss 11.09.2018 11:33

Другие вопросы по теме