Domanda

When writing an RDF schema, I can do the following to declare that a committee consists of a number of persons:

<rdfs:Class rdf:ID="Committee" />
<rdf:Property rdf:ID="members">
  <rdfs:domain rdf:resource="#Committee" />
  <rdfs:range rdf:resource="#Person" />
</rdf:Property>

However, I have read that there is a fine semantic difference between defining individual persons as committee members as I did above, and the fact that only the whole group of given persons forms the committee. Hence, in such cases, one should consider using the RDF containers such as rdf:Bag.

My question is: How to declare such a "bag of Persons" in the RDF schema?

Any help is appreciated.

È stato utile?

Soluzione

If you want to declare that ONLY these people form the commitee, you should use Collection, not rdf:Bag. The RDF tutorial at w3schools.com gives an example:

https://www.w3.org/TR/rdf-schema/#ch_collectionvocab

In the RDF schema you need to declate a property "hasMember" or "member". Its domain is a commitee, and its range is a member. Then, the RDF file can describe an unlimited number of members for a given commitee. If in the commitee resource you want to specify that these are the ONLY memebrs, you use a collection. If you allow more members, use a rdf:Bag.

Note: This does not mean it's impossible to define a "bag of members" or "collection of members" as the range of a property. You can take a look at existing simple ontologies on the web (there are hundreds of them written in RDFS) and compare how they define a similar concept.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top