Schema.org
Overview
- There are three kinds of schema.org term in the schema.org data model: types, properties and enumerated values
Thoughts
"reservationFor" rdf:object schema:Thing
- in common language, this property could imply "who is the reservation for" instead of "what is being reserved"
- 'underName' takes a Person or Organization... so I guess you just re-use that property to list all the people. But in a programmatic domain model, you'd use a collection, ideally a typed collection... I guess a weakness of RDF, not schema.org
- what's the point of specifying 'schema:rangeIncludes": { "@id": "schema:Thing" }'
Style Guide
Naming conventions
- Do not give the same name to a type and a property.
- Note that schema.org has some legacy cases where this was done in the past. This practice should be avoided.
- E.g. Avoid creating both ContactPoint and contactPoint.
- Term names should use Singular naming only, even if the semantics call for a plural.
- E.g. parent and not parents, even though for each type, there will always be multiple values for the property parent.
- Prepositions should come after the type or property name.
- Abbreviations: When creating new types, spell out abbreviations, unless the result is painfully verbose.
- Due to legacy entries, sometimes certain words may be abbreviated, or not, in schema.org. Due to lack of consistency, should search for both when looking for a schema term.
- E.g. numTracks exists in schema.org as a legacy property. If we were creating this property now, it would be numberOfTracks (or better yet, name it trackCount to be semantically aligned with other counting properties).
- Spelling: US spellings must be used.
- E.g. color and not colour.
Thoughts on Naming Conventions
- it's a red flag that types and properties could have the same name. I've grappled with this for gd (Private)... if you're going to say "has ", having a separate property seems redundant
Resources