Skip to content

Existing JSON LD contexts for software annotation and attribution

Charles Vardeman edited this page Apr 21, 2016 · 1 revision

There are several efforts to use JSON-LD for the enablement of software discovery and reuse. Afron Smith has a nice blog post on "JSON-LD for software discovery and, reuse and credit". There is a followup discussion in the mozillascience github repo issues. Mozilla science has extended Afron Smith's existing work with "Code as a research object" and has a github repository with the JSON-LD schema. They have attempted to do some code alignment against other ontologies. His minimum form is:

{
  "@context": "http://schema.org",
  "@type": "Code",
  "name": "Fidgit",
  "codeRepository": "https://github.com/arfon/fidgit",
  "citation": "http://dx.doi.org/10.6084/m9.figshare.828487",
  "description": "An ungodly union of GitHub and Figshare http://fidgit.arfon.org",
  "dateCreated": "2013-10-19",
  "license": "http://opensource.org/licenses/MIT",
  "author": {
    "@type": "Person",
    "name": "Arfon Smith",
    "@id": "http://orcid.org/0000-0002-3957-2474",
    "email": "[email protected]"
  }
}

This is based on schema.org Code vocabulary but there has been a suggestion to use SoftwareApplication instead of Code.

There is a RDF vocabulary for describing software projects called DOAP that has had some discussion and github issue about a JSON-LD context for DOAP. It looks somewhat incomplete at this stage of development. The also include language for dependencies.

The npm dcat package dcat allows publication of JSON-LD documents using the dcat.io context extending schema.org with terms to preserve data integrity like filePath and Checksum.

The npm package management system has a discussion on making a JSON-LD context for their package.json.

The "Python Packaging Authority" has created a issue in their interoperability-peps github repository to define a JSON-LD for the PEP 0426 python package metadata format. This issue has an extended discussion about python dependencies and logs captured by pip using a JSON-LD vocabulary. There is a draft python standard pep-XXX-linked-data-json-ld-rdf-rdfa.rst.

Code for America API has an issue for extending their civil json schema to JSON-LD and include Hydra Core Vocabulary.