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

Suggestion: schema-based RDF without blank nodes #11295

Open
rlzijdeman opened this issue Feb 28, 2025 · 1 comment
Open

Suggestion: schema-based RDF without blank nodes #11295

rlzijdeman opened this issue Feb 28, 2025 · 1 comment
Labels

Comments

@rlzijdeman
Copy link

rlzijdeman commented Feb 28, 2025

Overview of the Suggestion
I would like to propose an alternative schema.org RDF file, without all the blank nodes currently in JSON-LD.

What kind of user is the suggestion intended for?
API User, Curator

What inspired this idea?

  • the need to combine metadata from Dataverse with metadata from library, collections and archival systems;
  • the wish to use SHACL to check for basic evaluation of data, across afore mentioned systems;

What existing behavior do you want changed?

  • the current JSON-LD RDF schema creates many blank nodes (a downside of converting JSON to RDF). This conflates the number of triples and therewith hampers communication across the web. Moreover, it hinders linking of datasets to persons as for each value of a person's name, a new blank node is created and there is no way of knowing which blank node belongs to what person;

Any brand new behavior do you want to add to Dataverse?

  • no, I think all the technical features are in place. Also, many of the vocabulary decisions to map Dataverse to schema.org have already been made via the current JSON-LD implementation. I do think the end result would need to be served via an additional API

Any open or closed issues related to this suggestion?

Are you thinking about creating a pull request for this issue?
I could help implement it with help. I know of the Linked Data/Schema part, but would need help with the API. With some mentoring I could come a long way.

@pdurbin
Copy link
Member

pdurbin commented Feb 28, 2025

@rlzijdeman thanks for opening this issue. I'm a bit confused. Currently (as of version 6.5) Dataverse has four different JSON-LD exporters:

I assume you're talking about the "Schema.org JSON-LD" one, specifically. Is that right? Can you please show an example of blank nodes?

These days exporters no longer need to be shipped with Dataverse itself. In fact, both Croissant and RO-Crate are "external" exporters with their own code bases.

Also, it's possible to override an internal exporter with an external implementation. So if you don't like how the "Schema.org JSON-LD" exporter works (which is internal), you could create an external exporter that overrides it. Under dataverse.spi.exporters.directory we explain "Dataverse will examine all JARs in the specified directory and will use them to add new metadata export formats or (if the machine-readable name used in Export Metadata of a Dataset in Various Formats is the same) replace built-in metatadata export formats." See also the section in the dev guide about building your own exporter.

I hope this helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants