Протеже: Ограничения свойств объекта 1

Я использую Protege 4.3 для создания своей первой онтологии, поэтому столкнулся с несколькими проблемами

Допустим, у нас есть классы Shop, Mall и Person и свойства works-inи is-part-of.

Итак, первая проблема заключается в том, что мы хотим: если Person works-in Shop и Shop is-part-of Mall, то Person works-in Mall.

Я попытался добавить цепочку свойств works-in o is-part-of к свойству is-part-of, но затем резонер умер, когда я его активировал.

Есть идеи, как это решить?

Спасибо.


person DS_UNI    schedule 15.05.2015    source источник
comment
works-in =› works-for решит вашу первую проблему -- Person works-for Shop, а is-part-of Mall. Вы работаете в магазине, который находится в торговом центре. Я игнорирую ваш второй, потому что вы должны задавать только один вопрос на вопрос.   -  person Fund Monica's Lawsuit    schedule 16.05.2015
comment
Я не очень понял, что вы предлагаете, но я хотел бы добавить, что я пытался определить цепочку свойств для works-for, но резонер умер, когда я его активировал. не могли бы вы объяснить немного больше?   -  person DS_UNI    schedule 16.05.2015
comment
...Хорошо, перечитав вопрос, я понял, что речь идет о конкретной системе. Я имел в виду, что в целом можно допустить, что если кто-то работает в магазине в торговом центре, он работает в этом торговом центре. Если вы скажете, что они работают для магазина в торговом центре, будет понятнее, что связь непрямая.   -  person Fund Monica's Lawsuit    schedule 16.05.2015
comment
Можете ли вы показать сообщение об ошибке, которое вы получили от ризонера? Трассировка стека должна быть доступна, если щелкнуть красный треугольник в правом верхнем углу окна Protege.   -  person Ignazio    schedule 16.05.2015
comment
ну это было сообщение об ошибке Fatal reasoner error : Reasoner died (see logs for more info)   -  person DS_UNI    schedule 16.05.2015


Ответы (1)


Чтобы ответить на ваш первый вопрос: вы ищете цепочки собственности. В Protege вы можете сказать, что works-in o is-part-of является subPropertyOf (Chain) works-in, это даст вам ожидаемые выводы

EDIT: я провел следующий эксперимент:

а) создайте общую онтологию по вашему описанию (в манчестерском синтаксисе): Ontology: <http://www.semanticweb.org/o> ObjectProperty: <http://www.semanticweb.org/o#works-in> SubPropertyChain: <http://www.semanticweb.org/o#works-in> o <http://www.semanticweb.org/o#is-part-of> ObjectProperty: <http://www.semanticweb.org/o#is-part-of> Domain: <http://www.semanticweb.org/o#Department> or <http://www.semanticweb.org/o#Shop> Range: <http://www.semanticweb.org/o#Mall> or <http://www.semanticweb.org/o#Shop> Class: <http://www.semanticweb.org/o#Shop> Class: <http://www.semanticweb.org/o#Mall> Class: <http://www.semanticweb.org/o#Department> Class: <http://www.semanticweb.org/o#Person>

б) Добавьте несколько индивидуумов в эту онтологию, чтобы проверить вывод. После классификации с помощью FaCT++ Protege показывает, что person1 связан с mall1 через работу. Дополнительные аксиомы следующие: Individual: <http://www.semanticweb.org/o#shop1> Types: <http://www.semanticweb.org/o#Shop> Facts: <http://www.semanticweb.org/o#is-part-of> <http://www.semanticweb.org/o#mall1> Individual: <http://www.semanticweb.org/o#mall1> Types: <http://www.semanticweb.org/o#Mall> Individual: <http://www.semanticweb.org/o#person1> Types: <http://www.semanticweb.org/o#Person> Facts: <http://www.semanticweb.org/o#works-in> <http://www.semanticweb.org/o#shop1>

в) Добавить в онтологию из а) аксиомы о том, что Человек работает в Магазине, а Магазин является частью Торгового Центра. В этом случае снова Person является частью класса WorksInMall, что показывает, что аксиома цепочки свойств принимается во внимание. Дополнительные аксиомы: Class: <http://www.semanticweb.org/o#WorksInMall> EquivalentTo: <http://www.semanticweb.org/o#works-in> some <http://www.semanticweb.org/o#Mall> Class: <http://www.semanticweb.org/o#Person> SubClassOf: <http://www.semanticweb.org/o#works-in> some <http://www.semanticweb.org/o#Shop> Class: <http://www.semanticweb.org/o#Shop> SubClassOf: <http://www.semanticweb.org/o#is-part-of> some <http://www.semanticweb.org/o#Mall>

person Dmitry Tsarkov    schedule 16.05.2015
comment
Я так и думал, но когда я пытался, ризонер умирал каждый раз, когда я его активировал. - person DS_UNI; 16.05.2015
comment
Какой рассудок вы используете и какова ваша онтология? Не могли бы вы поделиться этим? - person Dmitry Tsarkov; 16.05.2015
comment
Я использую FaCT++ в качестве аргумента, и я должен создать с помощью онтологии базу знаний логики описания (KB) по торговым центрам и их отношению к сотрудникам и покупателям. - person DS_UNI; 16.05.2015
comment
может быть проблема в том, что свойство is-part-of имеет домен Department or Shop и диапазон Shop or Mall? есть ли способ указать, что например домен Shop принимает значения только в Mall? - person DS_UNI; 16.05.2015
comment
Я отредактировал ответ, чтобы показать эксперимент, который я провел. И отдельные, и классовые версии показывают, что цепочки свойств работают должным образом. - person Dmitry Tsarkov; 17.05.2015
comment
И не могли бы вы поделиться онтологией (вы можете отправить ее мне в частном порядке, если это возможно). Как разработчик FaCT++, я действительно заинтересован в исправлении ошибок в нем. - person Dmitry Tsarkov; 17.05.2015