-
Notifications
You must be signed in to change notification settings - Fork 1
Naming convention datamodel
This document contains all the terms in use the DiSSCo Digital Objects. Most objects can be directly related to a openDS class, for example the Machine Annotation Service, or the Source System. However, the Digital Specimen and the Digital Media are more complex objects. They can contain classes as nested object in itself. In general, class names are capitalized, use the UpperCamelCase naming convention and are singular. For example, the class that represents a Digital Specimen is called DigitalSpecimen. The properties of a class start with a lowercase and use the lowerCamelCase naming convention. When a class contains a property which contains a list of another class we use the convention hasXXX where XXX is the class name. For example, the Digital Specimen can contain a list of Event objects, so it has a property called hasEvent. When a class is directly nested (not through a list) we use the class name as property name. For example, the Location class contains the property ods:GeoReference which contains the Geo Reference class.
When terms are borrowed from other vocabularies, such as Darwin Core, Annotation Vocabulary, Schema.org or others, we use the same naming convention as in the original vocabulary. This could conflict with the openDS vocabulary naming convention.
A simple term-value property gets a prefix so we can connect it to an ontology and can generate the JSON-LD. The name is always in singular unless the ontology specifies it is plural. It starts with a lowercase (after the prefix) and uses lowerCamelCase. Examples are:
dwc:collectionID
ods:topicDomain
Example of a plural term borrowed from Darwin Core:
dwc:dataGeneralizations
A term which contains an object start with a Capital. It is singular, unless there are good reasons otherwise. Examples are:
dwc:GeologicalContext
An array of objects is plural and start with hasXXX. Examples are:
ods:hasEvents
ods:hasEntityRelationships