Darwin Core concept name aliases for use in API

9 views
Skip to first unread message

Aaron Steele

unread,
Aug 7, 2011, 7:28:55 PM8/7/11
to vertnet-developers email list
Hey Team,

So we're coming up with short (1-6 characters) alias for each Darwin
Core concept name for use in the API. Why? Because we're lazy
programmers and we don't want to write things like
`coordinateuncertaintyinmeters=100` when we could instead
write`cuim=100`.

For background and context on this, here's the GitHub issue:
https://github.com/VertNet/Software/issues/22

We'd be curious about any feedback you have about these aliases since
they would be part of the search API that we'd all be using. Here's
the full list:
https://gist.github.com/1130903

Thoughts? Changes? Flames?

John Wieczorek

unread,
Aug 7, 2011, 8:07:05 PM8/7/11
to vertnet-d...@googlegroups.com
Note that real humans will not have to know these codes ultimately -
only programmers and their progeny will have to deal with this
optimization.

Aaron Steele

unread,
Aug 7, 2011, 8:48:19 PM8/7/11
to vertnet-d...@googlegroups.com
> Note that real humans will not have to know these codes ultimately -
> only programmers and their progeny will have to deal with this
> optimization.

Well, maybe. Pass URLs around to "real humans" who might need to see
the full Darwin Core concept names for clarity is a use case. So maybe
the idea here is that the API will support both full and aliased
names. Good compromise?

John Wieczorek

unread,
Aug 7, 2011, 9:15:28 PM8/7/11
to vertnet-d...@googlegroups.com
Reasonable solution, but I don't think it appeals to the majority of
our human users either way. They aren't likely to go around
constructing queries with raw URLs unless they are forced to. I
wouldn't spend time on it beyond implementing the codes.

Dave Vieglais

unread,
Aug 7, 2011, 9:24:47 PM8/7/11
to vertnet-d...@googlegroups.com
Couple of comments:
1. It is a little extraordinary that the label for variables is repeated for each record, but I guess it's no sweat for Google - easier for them to not deal with an internal hash map, and makes money through more storage.

2. It might be worth adding abbreviations to the DwC terms, perhaps on the quick reference page? That way other implementors will see the abbreviations and be less likely to go out and create their own. Even if only used internally, consistency will still be useful.

3. Having the abbreviations listed along with the DwC term definitions will reduce the need for the URL handling of full names.

Aaron Steele

unread,
Aug 7, 2011, 10:04:07 PM8/7/11
to vertnet-d...@googlegroups.com
> Reasonable solution, but I don't think it appeals to the majority of
> our human users either way. They aren't likely to go around
> constructing queries with raw URLs unless they are forced to. I
> wouldn't spend time on it beyond implementing the codes.

Hmmm. Actually, readable URLs are kind of essential to the web? I can
totally see emailing URLs to publishers, curators, and users. It's
much less cryptic for them to read and understand URLs like:

datasetName=Birds&dateIdentified=2008&day=360

instead of:

dn=Birds&di=2008&d=360

Maybe? It's really fast to support full names and abbreviations in the
API, so easy peasy either way.

Aaron Steele

unread,
Aug 7, 2011, 10:06:42 PM8/7/11
to vertnet-d...@googlegroups.com
> 1. It is a little extraordinary that the label for variables is repeated for
> each record, but I guess it's no sweat for Google - easier for them to not
> deal with an internal hash map, and makes money through more storage.

Well, remember that the Google datastore is a key-value store. There
are actually no columns at all! Apps store data in a schema-less way
(hence the repetition) so there's no need for a fixed data model.
These NoSQL datastores were developed specifically to perform at scale
horizontally. The tradeoff is disk space, true. FWIW, all of the big
open source key values stores are implemented the same way (CouchDB,
Cassandra, MongoDB, et al).

> 2. It might be worth adding abbreviations to the DwC terms, perhaps on the
> quick reference page? That way other implementors will see the abbreviations
> and be less likely to go out and create their own. Even if only used
> internally, consistency will still be useful.

Great idea. John, can we email the Darwin Core lists for some feedback
about canonical concept abbreviations? Maybe we can create quick
reference page with what we have and then send that? In the meantime I
think we can go with what we have for the prototype API and can change
it as once we get feedback.

> 3. Having the abbreviations listed along with the DwC term definitions will
> reduce the need for the URL handling of full names.

See my comments to John above. Easy to support both, and I think there
are compelling reasons to support both, so maybe a non-issue?

Aaron Steele

unread,
Aug 7, 2011, 10:10:13 PM8/7/11
to vertnet-d...@googlegroups.com
>> 2. It might be worth adding abbreviations to the DwC terms, perhaps on the
>> quick reference page? That way other implementors will see the abbreviations
>> and be less likely to go out and create their own. Even if only used
>> internally, consistency will still be useful.
>
> Great idea. John, can we email the Darwin Core lists for some feedback
> about canonical concept abbreviations? Maybe we can create quick
> reference page with what we have and then send that? In the meantime I
> think we can go with what we have for the prototype API and can change
> it as once we get feedback.

Issue submitted for this: https://github.com/VertNet/Software/issues/25

Aaron Steele

unread,
Aug 10, 2011, 1:43:03 PM8/10/11
to vertnet-d...@googlegroups.com
Hey Team,

Update: Issue 22 related to using Darwin Core aliases in the datastore and in the prototype search API has been completed and closed:

Here's the current list of aliases:

Here's an updated prototype search API example. All three queries are equivalent.

1) All Darwin Core aliases (c=class, g=genus, se=specificepithet):

2) All Darwin Core names:

3) Combination of Darwin Core aliases and names:


Reply all
Reply to author
Forward
0 new messages