Ruby 2.4 gem that cleanses messy Darwin Core terms like recordedBy or identifiedBy prior to passing to its dependent Namae gem, which executes the parsing.
require "dwc_agent"
names = DwcAgent.parse '13267 (male) W.J. Cody; 13268 (female) W.E. Kemp'
=> [#<Name family="Cody" given="W.J.">, #<Name family="Kemp" given="W.E.">]
Or, from the command-line:
dwcagent "13267 (male) W.J. Cody; 13268 (female) W.E. Kemp"
=> [{"given":"W.J.","family":"Cody"},{"given":"W.E.","family":"Kemp"}]
dwc_agent is released under the MIT license.
Bug reports can be filed at https://github.com/dshorthouse/dwc_agent/issues.
Authors: David P. Shorthouse
Copyright (c) 2018 Canadian Museum of Nature