https://github.com/common-workflow-language/cwlprov

Profile for provenance research object of a CWL workflow run

https://github.com/common-workflow-language/cwlprov

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 31 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.7%) to scientific vocabulary

Keywords

bagit cwl cwlprov linked-data prov provenance rdf research-object workflow
Last synced: 5 months ago · JSON representation

Repository

Profile for provenance research object of a CWL workflow run

Basic Info
  • Host: GitHub
  • Owner: common-workflow-language
  • License: apache-2.0
  • Default Branch: main
  • Homepage: https://w3id.org/cwl/prov/
  • Size: 140 KB
Statistics
  • Stars: 17
  • Watchers: 43
  • Forks: 3
  • Open Issues: 3
  • Releases: 0
Topics
bagit cwl cwlprov linked-data prov provenance rdf research-object workflow
Created over 7 years ago · Last pushed about 3 years ago
Metadata Files
Readme License

README.md

cwlprov

Profile for provenance research object of a CWL workflow run.

Cite as

Peer-reviewed paper about CWLProv:

Farah Zaib Khan, Stian Soiland-Reyes, Richard O Sinnott, Andrew Lonie, Carole Goble, Michael R Crusoe (2019):
Sharing interoperable workflow provenance: A review of best practices and their practical application in CWLProv.
GigaScience 8(11):giz095 https://doi.org/10.1093/gigascience/giz095

Citing the profile itself: Profile DOI

Quicklinks

Overview

CWLProv is an informal profile to define how to record provenance of a workflow run (typically CWL or Nextflow), captured as a research object using Linked Data standards.

There are three parts to this profile:

This repository may later also include formal profiles for computational validation, e.g. BagIt profile of included resources, ShEx for manifest content, and PROV Template to document PROV structures.

The CWLProv white paper describes the background and motivation for this profile. For the avoidance of doubt, from CWLProv 0.3.0 this GitHub repository is authoritative of CWLProv specifications.

Known implementations

License

This repository is distributed under Apache License, version 2.0.

See the file LICENSE.txt for details, and NOTICE for required notices.

Contributing

CWLProv is maintained at https://github.com/common-workflow-language/cwlprov/

Feel free to raise an issue or a pull request to contribute to CWLProv. Contributions are assumed to be covered by section 5 of the Apache License.

You may also want to contribute a corresponding issue or pull request in the cwltool reference implementation, in particular cwltool/provenance.py and documentation on cwltool --provenance support.

For an informal CWLProv discussion with other developers, join the (relatively quiet) Gitter room common-workflow-language/cwlprov, or the (more busy) common-workflow-language/common-workflow-language.

Code of Conduct

The CWL Project is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, age, race, or religion. We do not tolerate harassment of participants in any form. This code of conduct applies to all CWL Project spaces, including the Google Group, the Gitter chat room, the Google Hangouts chats, both online and off. Anyone who violates this code of conduct may be sanctioned or expelled from these spaces at the discretion of the leadership team.

For more details, see our Code of Conduct.

Requirements Language

The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in documents of this repository are to be interpreted as described in RFC 2119.

Versions

CWLProv is versioned using Semantic Versioning, following the pattern MAJOR.MINOR.PATCH (e.g. 1.2.0).

To determine version compatibility we consider the packaging of a CWLProv RO as a kind of "API". Examples of changes to CWLProv:

  • Major version change: Removal of resource type, change of format of PROV, removing annotations, changing namespaces, removing PROV statement patterns
  • Minor version change: Adding other resources, adding annotations, additional properties, changing entity identifier scheme, change of file paths in RO, minor change of underlying syntax and package version, adding/augmenting PROV statement patterns, conformance to PROV constraints
  • Patch version change: Fixing syntactical typos (e.g. invalid or inefficient JSON-LD), inconsistencies in textual language, adding inferred PROV statements

This means that consumers of CWLProv can make strong assumptions on backwards and forwards compatibility:

  • Major: Unsupported major versions can't be safely parsed
  • Minor: Can safely parse (but not reproduce) newer versions. Parsing older versions is safe if later CWLProv additions are handled as optional.
  • Patch: Differences can usually be safely ignored

Unless a patch version is affecting the output, the declared profile SHOULD have patch version 0 even if the code was implemented with a later CWLProv.

Tip: You may spot that change of file paths is classified as minor, that is because paths can be found dynamically by following links from the manifest, its annotations and the PROV traces. This is similar to REST principles where URI templates should not be assumed, but followed from links._

The current version of CWLProv have major 0, indicating that disruptive changes may occur before the profile stabilize at 1.x.y.

Each CWLProv version has a w3id.org permalink that SHOULD be declared inside the RO to indicate its conformance.

Owner

  • Name: Common Workflow Language
  • Login: common-workflow-language
  • Kind: organization

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 36
  • Total Committers: 2
  • Avg Commits per committer: 18.0
  • Development Distribution Score (DDS): 0.028
Past Year
  • Commits: 2
  • Committers: 2
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
Stian Soiland-Reyes s****n@a****g 35
Michael R. Crusoe 1****c 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 3
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 14 minutes
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 2.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mr-c (2)
  • simleo (1)
Pull Request Authors
  • mr-c (1)
Top Labels
Issue Labels
Pull Request Labels