@@ -647,46 +647,50 @@ $graph:
647
647
name : SoftwareRequirement
648
648
extends : " #ProcessRequirement"
649
649
doc : |
650
- Software that should be configured in the environment of the defined
651
- process.
652
-
653
- While absolute portability between platforms can be achieved with container
654
- technologies like Docker, this mechanism provides an inexact and imprecise
655
- fallback. The inexact nature is due to this standard not specifying the
656
- base operating environment of the process or how the that environment is to
657
- be configured as a result of these hints. The imprecise nature of these
658
- hints is due to the `name` and `version` fields being unstructured and not
659
- namespaced. The optional `identifier` field is recommended so that users
660
- and platforms can distinguish between software that has the same name.
650
+ A list of software packages that should be configured in the environment of
651
+ the defined process.
661
652
fields :
662
653
- name : " class"
663
654
type : " string"
664
655
doc : " Always 'SoftwareRequirement'"
665
656
jsonldPredicate :
666
657
" _id " : " @type"
667
658
" _type " : " @vocab"
668
- - name : spec
659
+ - name : packages
669
660
type :
670
661
type : array
671
- items : SoftwareSpec
662
+ items : SoftwarePackage
672
663
doc : " The list of software to be configured."
664
+ jsonldPredicate :
665
+ mapSubject : name
666
+ mapPredicate : specs
673
667
674
- - name : SoftwareSpec
668
+ - name : SoftwarePackage
675
669
type : record
676
670
fields :
677
671
- name : name
678
672
type : string
679
- doc : " The name of the software to be configured."
673
+ doc : " The common name of the software to be configured."
680
674
jsonldPredicate : " @id"
681
675
- name : " version"
682
- type : string?
676
+ type : string[] ?
683
677
doc : " The (optional) version of the software to configured."
684
- - name : " identifier "
685
- type : string?
678
+ - name : specs
679
+ type : string[] ?
686
680
doc : |
687
- The (optional) identifier of the software to be configured. Should be a
688
- IRI such as an [RRID](http://www.identifiers.org/rrid/SCR_001156).
689
- Example: `http://identifiers.org/rrid/RRID:SCR_001156`
681
+ Must be one or more IRIs identifying resources for installing or
682
+ enabling the software. Implementations may provide resolvers which map
683
+ well-known software spec IRIs to some configuration action.
684
+
685
+ For example, an IRI `https://packages.debian.org/jessie/bowtie` could
686
+ be resolved with `apt-get install bowtie`. An IRI
687
+ `https://anaconda.org/bioconda/bowtie` could be resolved with `conda
688
+ install -c bioconda bowtie`.
689
+
690
+ Tools may also provide IRIs to index entries such as
691
+ [RRID](http://www.identifiers.org/rrid/), such as
692
+ `http://identifiers.org/rrid/RRID:SCR_005476`
693
+
690
694
691
695
- name : Dirent
692
696
type : record
0 commit comments