OWL Онтология: индивидуумы не выводятся как члены классов, которые используют свойство Data в выражении своего класса - PullRequest
0 голосов
/ 18 февраля 2019

Проблема, с которой я сталкиваюсь, заключается в том, что рассудители (например, Pellet) не делят людей на классы, в определениях которых используется ограничение свойства данных.

Я создал минимальный пример онтологии OWL (на основе известного примера пиццы) в протеже 5, чтобы проиллюстрировать эту проблему.

Существует три класса: MarghartiaPizza, LowCaloriePizza, HighCaloriePizza.Существует свойство данных hasCalorificContentValue.Существуют два человека класса MarghartiaPizza, ExampleMarghartiaPizza и QuattroFormaggio, с 263 и 723 значениями соответственно в качестве их hasCalorificContentValue.

Классы HighCaloriePizza и LowCaloriePizza определены как классы с> = 400, соответственно <400, значениеConualifical есть у класса. </p>

Вопрос в том, почему умозаключающий не делает вывод, что эти два человека относятся к классам HighCaloriePizza и LowCaloriePizza на основании их значений?

Что-то не так с синтаксисом выражений моего классав High / LowCaloriePizza или hasCalorificContentValue?

Вы должны быть в состоянии скопировать / вставить код в файл, открыть его с помощью Protege 5 и попробовать запустить средство анализа Pellet.

<?xml version="1.0"?>
<Ontology xmlns="http://www.w3.org/2002/07/owl#"
 xml:base="http://www.pizza.com/ontologies/pizza.owl"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:xml="http://www.w3.org/XML/1998/namespace"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 ontologyIRI="http://www.pizza.com/ontologies/pizza.owl"
 versionIRI="http://www.pizza.com/ontologies/pizza.owl/v1.0">
<Prefix name="" IRI="http://www.pizza.com/ontologies/pizza.owl"/>
<Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/>
<Prefix name="rdf" IRI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<Prefix name="xml" IRI="http://www.w3.org/XML/1998/namespace"/>
<Prefix name="xsd" IRI="http://www.w3.org/2001/XMLSchema#"/>
<Prefix name="rdfs" IRI="http://www.w3.org/2000/01/rdf-schema#"/>
<Declaration>
    <Class IRI="#HighCaloriePizza"/>
</Declaration>
<Declaration>
    <Class IRI="#LowCaloriePizza"/>
</Declaration>
<Declaration>
    <Class IRI="#MargheritaPizza"/>
</Declaration>
<Declaration>
    <DataProperty IRI="#hasCalorificContentValue"/>
</Declaration>
<Declaration>
    <NamedIndividual IRI="#ExampleMargherita"/>
</Declaration>
<Declaration>
    <NamedIndividual IRI="#QuattroFormaggio"/>
</Declaration>
<EquivalentClasses>
    <Class IRI="#HighCaloriePizza"/>
    <DataSomeValuesFrom>
        <DataProperty IRI="#hasCalorificContentValue"/>
        <DatatypeRestriction>
            <Datatype abbreviatedIRI="xsd:integer"/>
            <FacetRestriction facet="http://www.w3.org/2001/XMLSchema#minInclusive">
                <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">400</Literal>
            </FacetRestriction>
        </DatatypeRestriction>
    </DataSomeValuesFrom>
</EquivalentClasses>
<EquivalentClasses>
    <Class IRI="#LowCaloriePizza"/>
    <DataSomeValuesFrom>
        <DataProperty IRI="#hasCalorificContentValue"/>
        <DatatypeRestriction>
            <Datatype abbreviatedIRI="xsd:integer"/>
            <FacetRestriction facet="http://www.w3.org/2001/XMLSchema#maxExclusive">
                <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">400</Literal>
            </FacetRestriction>
        </DatatypeRestriction>
    </DataSomeValuesFrom>
</EquivalentClasses>
<ClassAssertion>
    <Class IRI="#MargheritaPizza"/>
    <NamedIndividual IRI="#ExampleMargherita"/>
</ClassAssertion>
<ClassAssertion>
    <Class IRI="#MargheritaPizza"/>
    <NamedIndividual IRI="#QuattroFormaggio"/>
</ClassAssertion>
<DataPropertyAssertion>
    <DataProperty IRI="#hasCalorificContentValue"/>
    <NamedIndividual IRI="#ExampleMargherita"/>
    <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">263</Literal>
</DataPropertyAssertion>
<DataPropertyAssertion>
    <DataProperty IRI="#hasCalorificContentValue"/>
    <NamedIndividual IRI="#QuattroFormaggio"/>
    <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">723</Literal>
</DataPropertyAssertion>
<FunctionalDataProperty>
    <DataProperty IRI="#hasCalorificContentValue"/>
</FunctionalDataProperty>
</Ontology>

Вот скриншот приложения Protege с запущенным Pellet.Как видите, выбрана HighCaloriePizza, но QuattroFormaggio отсутствует в «экземплярах».

enter image description here

1 Ответ

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

Убедитесь, что установлен флажок «Показывать ссылки» в правом нижнем углу!

PS Снимок экрана не соответствует приведенному выше минимальному примеру, но при установке этого флажка также будет работать минимальный пример.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...