Обоснованные тройные утверждения из аксиом онтологии

Давайте рассмотрим очень простую аксиому в онтологии, которая гласит, что все cheesypizza - это пиццы с начинкой из сыра. В представлении OWL сырная пицца будет представлена ​​как подкласс ограничения свойства has-toppping. Тем не менее, я хотел бы извлечь в следующем формате данных тройки:

  1. CheesyPizza1 подкласс Pizza1
  2. Pizza1 имеет топпинг CheeseTopping1

Предполагая, что Pizza1 - это динамическое создание экземпляров (не истинный индивид класса Pizza в онтологии, а просто случайная переменная при записи в формате троек) класса Pizza и аналогично, CheesyPizza1 - это динамическое создание класса CheesyPizza, а CheeseTopping1 - динамическое создание класса CheeseTopping.

Как я могу получить вышеуказанное представление?

1 ответ

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

:Pizza1 rdf:type owl:Class .

:CheeseTopping1 rdf:type owl:Class .

:CheesyPizza1 rdf:type owl:Class ;
   rdfs:subClassOf :Pizza1,
        [ a owl:Restriction ;
          owl:onProperty :hasTopping ;
          owl:someValuesFrom :CheeseTopping1 
        ] .

Я бы посоветовал взглянуть на ограничения OWL Гуса Шрайбера, чтобы проверить, как ограничения OWL выражаются в тройках.

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