Обоснованные тройные утверждения из аксиом онтологии
Давайте рассмотрим очень простую аксиому в онтологии, которая гласит, что все cheesypizza - это пиццы с начинкой из сыра. В представлении OWL сырная пицца будет представлена как подкласс ограничения свойства has-toppping. Тем не менее, я хотел бы извлечь в следующем формате данных тройки:
- CheesyPizza1 подкласс Pizza1
- 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 выражаются в тройках.