-
Notifications
You must be signed in to change notification settings - Fork 6
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
Adhere to JSON-LD / codemeta standards #282
Comments
Related to #153... xxx.json + xxx_contexts.json = JSON-LD... writing out to two files is a result of an older, even more broken data modell. Especially, the However, there should be an export / deposition target that ensures standard conformance. |
... and yes, the mismatch in the |
Maybe we can store meta-metadata in a different file. main JSON-LD file:
meta-metadata file:
|
Well, that's what the
On top, handling this, e.g. in some curation UI, is way more complex that just having the metadata in place already... |
I was thinking that the provenance data is attached to statements. If there are multiple (conflicting) statements, these could be stored as alternatives, something like this:
With meta-metadata:
(We could also switch from JSON-LD to N-Quads and store main metadata and meta-metadata as two different graphs. That's sort of in-place ;-)) |
I played around with some stuff. One thing that definitely will be difficult are mismatches that span different fields. E.g.: |
So my idea so far was something like the following:
|
I don't think that's allowed.
-- https://www.w3.org/TR/json-ld/#value-objects Maybe we can work around this by setting |
Yes, I'm aware of that. However, is it required to be fully conforming in out internal data model... But you are right when it comes to the Software CaRD report. It would be nice to follow a standard there. Damn, I need to think further 😭 |
There are definitely libraries that will complain about this 🤷🏻♂️ |
Files written into a directory don't seem that internal to me 😁 |
But it is a hidden directory and hence, not so public |
It might be hidden but it is the interface to use for everyone who writes plugins for hermes... |
Each step of the hermes workflow produces output files in the
.hermes
directory. Most of these are either not valid JSON-LD, or contain errors (e.g., switching up authors and their email addresses).harvest/cff_contexts.json
: Not JSON-LD. I don't know what this is used for.harvest/cff.json
: Not a valid JSON-LD file because@context
fields are lists instead of objects,@type
fields have the wrong type, the indexed list syntax is not understood.harvest/toml_contexts.json
/harvest/toml.json
have the same problems.process/hermes.json
: Valid JSON-LD, but the authors were mixed up. E.g., Michael and Stephan switchedname
attributes, Oliver and Jeffrey switched name attributes. Not valid codemeta/Schema.org because theurl
attribute doesn't contain the URL as a string but is an object that contains the URL as an ID, i.e.{"@id": "https://software-metadata.pub"}
instead of"https://software-metadata.pub"
process/tags.json
: I don't think this is supposed to be JSON-LD. But the occasional@type
or@id
make it seem like it is.The text was updated successfully, but these errors were encountered: