You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When updating a resource map via uploadDataPackage, the RDF triple containing dc:creator is not handled properly.
Here is an example, with PISCO resourceMap_marine_ltm.9.2 (created by the DataONE Java client library) as the existing resmap and resourceMap_marine_ltm.9.3 as the improperly serialized map (created by R dataone):
resourceMap_marine_ltm.9.2:
This latter triple causes DataONE indexing (Java Jena) to throw an exception, as the subject should be a URI (the DataONE resolve URL has been improperly stripped out), and should instead be:
First of all, the Java client library is using 'dc:creator', which should be 'dcterms:creator'.
The best solution is to remove the triple with 'dc:creator', as the R client already puts dcterms:creator in.
The R client replaces the blank node elements from original dc:creator when it creates these triples for the dcterms:creator. Here is the original and the new:
resourceMap_marine_ltm.9.2(from Java client):
For posterity, we should be using the dcterms vocabulary defined by the http://purl.org/dc/terms/ namespace, and not use the historical elementset namespace (aka dc11 defined at http://purl.org/dc/elements/1.1/) at all. This is because 1) the dcterms terms are the more modern definition and include all of the elements and more, and 2) where there are identical concepts in terms and elements, the terms concept is defined as a subproperty of the element concept. So, for example, dcterms:creatorrdfs:supPropertyOfdc11:creator. So, inferencing agents can use terms concepts anywhere a dc11:creator is expected, and queries will resolve both. Which is not true in the opposite direction. StackOverflow has a great summary of these two namespaces: https://stackoverflow.com/a/47523514/4200841
That said, our parsers should be robust enough to not balk if additional properties from any other namespace are encountered. So there is likely an indexer bug in here as well, in that it is too highly sensitive to the presence of extra information.
When updating a resource map via
uploadDataPackage
, the RDF triple containingdc:creator
is not handled properly.Here is an example, with PISCO resourceMap_marine_ltm.9.2 (created by the DataONE Java client library) as the existing resmap and resourceMap_marine_ltm.9.3 as the improperly serialized map (created by R dataone):
resourceMap_marine_ltm.9.2:
resourceMap_marine_ltm.9.3 (just the dc:creator triple)
This latter triple causes DataONE indexing (Java Jena) to throw an exception, as the subject should be a URI (the DataONE resolve URL has been improperly stripped out), and should instead be:
First of all, the Java client library is using 'dc:creator', which should be 'dcterms:creator'.
The best solution is to remove the triple with 'dc:creator', as the R client already puts
dcterms:creator
in.The R client replaces the blank node elements from original
dc:creator
when it creates these triples for thedcterms:creator
. Here is the original and the new:resourceMap_marine_ltm.9.2(from Java client):
resourceMap_marine_ltm.9.3 (from R dataone):
... so this doesn't need to change.
All that needs to happen is for the R dataone client (datapack) to drop the
dc:creator
triple.The text was updated successfully, but these errors were encountered: