Как объявить контейнеры RDF в схеме RDF?
При написании схемы RDF я могу сделать следующее, чтобы объявить, что комитет состоит из нескольких человек:
<rdfs:Class rdf:ID="Committee" />
<rdf:Property rdf:ID="members">
<rdfs:domain rdf:resource="#Committee" />
<rdfs:range rdf:resource="#Person" />
</rdf:Property>
Тем не менее, я прочитал, что есть тонкая семантическая разница между определением отдельных лиц в качестве членов комитета, как я делал выше, и тем фактом, что только вся группа данных лиц формирует комитет. Следовательно, в таких случаях следует рассмотреть возможность использования контейнеров RDF, таких как rdf: Bag.
Мой вопрос: как объявить такую "сумку людей" в схеме RDF?
Любая помощь приветствуется.
1 ответ
Если вы хотите заявить, что ТОЛЬКО эти люди образуют комитет, вы должны использовать Collection
не rdf:Bag
, В учебнике по RDF на w3schools.com приведен пример:
https://www.w3.org/TR/rdf-schema/
В схеме RDF вам нужно удалить свойство "hasMember
" или же "member
". Его домен является комитетом, а его диапазон является членом. Затем файл RDF может описывать неограниченное количество членов для данного комитета. Если в ресурсе комитета вы хотите указать, что это ТОЛЬКО члены, вы используете collection
, Если вы разрешите больше членов, используйте rdf:Bag
,
Примечание. Это не означает, что невозможно определить "набор элементов" или "набор элементов" в качестве диапазона свойства. Вы можете взглянуть на существующие простые онтологии в Интернете (их сотни написаны на RDFS) и сравнить, как они определяют похожую концепцию.