Добавить ограничение в Protege - PullRequest
0 голосов
/ 24 апреля 2018

Я хотел бы добавить ограничения к значениям, которые отдельные лица определенного класса могут принимать через свойство объекта.

Например, у меня есть классы GPS и Means (содержит экземпляры Spoofing, Jamming, Speed_Change, Sign_Change), связанные свойством объекта HasMeans:

GPS -----> HasMeans Средства

Я хочу убедиться, что любой экземпляр класса GPS может подключаться только к экземплярам Means класса Jamming и Spoofing а не остальные.Если я скажу GPS экземпляр G1 HasMeans Speed_Change, моя цель - классифицировать это как ошибку, когда я запускаю рассуждение.

Заранее спасибо!

1 Ответ

0 голосов
/ 25 апреля 2018

Вам нужны следующие возможности OWL2:

В синтаксисе Манчестера , используемом в Protégé:

Prefix: : <https://stackoverflow.com/q/50004546/7879193#>

Ontology: <https://stackoverflow.com/q/50004546/7879193>

Class: GPS
    SubClassOf: hasMean only {jamming, spoofing}

Class: Mean

ObjectProperty: hasMean
    Domain: GPS
    Range: Mean

Individual: gps1
    Types: GPS
    Facts: hasMean jamming, hasMean spoofing

Individual: gps2
    Types: GPS
    Facts: hasMean spoofing, hasMean speed_change

DifferentIndividuals: 
    jamming, spoofing, speed_change

Individual: jamming
    Types: Mean 

Individual: spoofing
   Types: Mean

Individual: speed_change
   Types:  Mean

Вот как выглядит объяснение несоответствия:

Laconic inconsistency explanation screenshot

...