Protege - Указание первичного ключа и ключа foregin для файла RDF - PullRequest
2 голосов
/ 18 апреля 2011

Используя Protege, я создаю RDF-файл.Теперь я хочу узнать, как указать слот первичного и внешнего ключей для заданных классов?Заранее спасибо

1 Ответ

5 голосов
/ 18 апреля 2011

Для первичного ключа необходимо создать свойство, которое будет owl:InverseFunctionalProperty.Например, представьте, что класс Person имеет первичный ключ для номера социального страхования (SSN), тогда в нашей онтологии мы имеем:

:hasSSN  rdf:type  owl:InverseFunctionalProperty .

Логически это означает, что если два элемента A и Bзначение свойства :hasSSN, тогда A и B. - это одно и то же лицо.

. Наиболее близким к внешним ключам является ranges, так что вы можете сказать, что диапазон предиката :hasSSN являетсяclass :SSN:

:hasSSN  rdfs:range :SSN .

Диапазон работает как для классов, так и для диапазонов данных.

В Protege вы можете пометить предикат как owl:InverseFunctionalProperty при переходе на панель свойств объекта.флажок для этого.Прямо рядом с ним вы можете добавить диапазоны и домены.

enter image description here

...