Protege — Указание первичного ключа и начального ключа для файла RDF

#rdf #semantic-web #owl #protege

#rdf #semantic-web #owl #protege

Вопрос:

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

Ответ №1:

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

 :hasSSN  rdf:type  owl:InverseFunctionalProperty .
  

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

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

 :hasSSN  rdfs:range :SSN .
  

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

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

введите описание изображения здесь

Комментарии:

1. спасибо за ваш ответ. Но я не могу найти вышеуказанную опцию, когда пытаюсь создать файл RDF.

2. @Winbros вы выбрали панель свойств объекта? кстати, этот скриншот взят из Protege версии 4.1 — возможно, у вас другая версия.

3. Я использую версию 3.4. Позвольте мне проверить еще раз и вернуться к вам