Как использовать FOAF как часть другой онтологии?

Я хочу иметь класс Professor который будет иметь некоторые свойства: имя, фамилия и национальность.

Теперь я только что создал класс Professor, класс Person и класс Nationalityи некоторые свойства данных для name а также surname и свойство объекта hasNationaity связать профессора с национальностью.

Имеет ли смысл использовать FOAF для Person и может быть что-то вроде Group а также member для национальностей?

Для этого мне нужно будет импортировать FOAF, верно?

Я предполагаю, что мой главный вопрос - каковы причины, оправдывающие импорт верхней онтологии? и это то, что люди обычно делают?

В любом случае онтология в Turtle доступна здесь на GitHub.

1 ответ

Решение

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

Как указал сир Тим Бернерс-Ли в 5-звездочном рейтинге открытых данных, наилучший уровень открытия достигается, когда вы "связываете свои данные с другими данными для обеспечения контекста". Так что это хорошо!

По поводу "импорта", не вся онтология FOAF является обязательной в вашем случае, я думаю. По моему опыту, импорт всех утверждений онтологии важен, когда вам необходимо реализовать много ресурсов, относящихся к верхней онтологии (просмотр графов, изменение структуры,...). С другой стороны, простое использование префиксов может решить многие проблема без взвешивания приложения:

xmlns:foaf="http://xmlns.com/foaf/0.1/#"

Что касается вопроса о национальности, группа из FOAF может быть решением. Nota Bene, что другие онтологии могут дать подходящий ответ, как YAGO (еще одна великая онтология). Некоторые могут создавать несколько импортов / подключений, чтобы повысить контекстуальность своей базы знаний.

Другие вопросы по тегам