Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should we avoid spaces in controlled vocabs? #275

Closed
peterdesmet opened this issue Feb 4, 2023 · 4 comments
Closed

Should we avoid spaces in controlled vocabs? #275

peterdesmet opened this issue Feb 4, 2023 · 4 comments

Comments

@peterdesmet
Copy link
Member

In tdwg/dwc-qa#169 (comment) @baskaufs writes:

In new controlled vocabularies, we are trying to avoid spaces and non-alphanumeric characters. That often takes the form of lower camelCase of an English phrase since it follows that rule and has consistent capitalization.

In Camtrap DP we currently use lower case values with spaces for controlled vocabularies (defined in enum properties). Should we aim to use camelCase here too (before releasing v1.0)? Our term names are already in camel case. The change would only affect controlled values with more than one word, single words would remain the same.

@peterdesmet
Copy link
Member Author

peterdesmet commented Feb 4, 2023

Affected values:

# samplingDesign
simple random     → simpleRandom
systematic random → systematicRandom
clustered random  → clusteredRandom

# captureMethod
motion detection  → motionDetection
time lapse        → timeLapse

# featureType
road paved        → roadPaved
road dirt         → roadDirt
trail hiking      → trailHiking
trail game        → trailGame
road underpass    → roadUnderpass
road overpass     → roadOverpass
road bridge       → roadBridge
nest site         → nestSite
water source      → waterSource
fruiting tree     → fruitingTree

# roles
rightsholder      → rightsHolder
principal investigator → principalInvestigator

Note: 2 borrowed terms (relationType and resourceTypeGeneral) also borrow their controlled vocabulary which has UpperCamelCase values. I would leave those as is.

@baskaufs
Copy link

baskaufs commented Feb 5, 2023

This pattern has been followed pretty consistently as new controlled vocabularies have been created. There are a few exceptions in cases:
-where there were existing suggested values that we didn't want to break

  • in cases where the controlled value strings represented classes and the pattern had been to use the term local names (which were in UpperCamelCase).

Just for full disclosure, there was never any formal decision by the TAG or any other group that established this pattern. I suggested it when the first controlled vocabularies were created in DwC (establishmentMeans, pathway, and degreeOfEstablishment) as a way to reduce the number of possible variants that people could dream up and as a way to clearly distinguish between labels (non-normative and potentially multilingual) and controlled values (normative and invariant among languages). So it's become established as a pattern for controlled value stings in subsequent controlled vocabularies since then. I think that there is value in maintaining these patterns so that the required values are what people have come to expect if they've had experiences with other vocabularies.

@peterdesmet
Copy link
Member Author

Thanks @baskaufs, I suggest we adopt the same pattern (lowerCamelCase) in Camtrap DP then. @kbubnicki @ben-norton others, any objections?

@peterdesmet peterdesmet self-assigned this Feb 7, 2023
@kbubnicki
Copy link
Contributor

No objections from my side, full support!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

3 participants