Skip to content

Make metadata available as Linked Data #2222

Open
@kjetilk

Description

@kjetilk

I mentioned this briefly on IRC, and @oalders encouraged me to submit it here.

Some years ago, @tobyink made all of CPAN available as Linked Data with RDF using an old version of the MetaCPAN API. Since then, it has stopped operating, and while @tobyink may redo it, I'm thinking it might need to be done slightly differently, and based on a new framework.

Some context: I'm creating a framework where tests can be formulated in RDF for the Solid Project, where test reports can also be returned as RDF. Linked Data has a basic principle that you give everything a URL to identify it, and then you return some RDF if someone GETs it. For this, I need an RDF URL for everything that goes into those tests, and that's a bunch of CPAN stuff. We are also formulating module metadata as RDF using the DOAP vocabulary, which means that not only can we have a consistent presentation across projects, we can also store all this and query and analyze it. We can also link to Debian and Git, which also exposes RDF.

Once done, I figured it makes sense to have this as part of MetaCPAN rather than a standalone project like @tobyink 's were.

For this, I need URLs for

  • authors
  • distributions
  • individual releases
  • individual modules

So, the question is then how the URLs should look. Perhaps it would make sense to write them with ld in the URL, for example https://metacpan.org/ld/?

The author URL would straigthforwardly be
https://metacpan.org/ld/author/$pause_id

I think that
https://metacpan.org/ld/distribution/$dist
could reasonably always refer to metadata for the distribution as of the latest version, where it has links to versions with their changelogs at
https://metacpan.org/ld/distribution/$dist/$version

I'm a bit conflicted on whether the list of modules should have versions as well, and if they should perhaps live under their distribution. I don't have a concrete use case for that right now, so I'm think that perhaps only the latest release needs to have RDF metadata. So, perhaps
https://metacpan.org/ld/module/$module
would suffice.

Do you think this is something MetaCPAN could have? If so, I might get around to contribute the code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions