Skip to content

Commit 4c53fb6

Browse files
authored
Merge branch 'main' into develop
2 parents c54f45b + da09017 commit 4c53fb6

3 files changed

Lines changed: 28 additions & 32 deletions

File tree

README.md

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -56,33 +56,19 @@ interface type. All proposed classes extend `schema:SoftwareApplication`.
5656

5757
### Executable name
5858

59-
The name of the executable within a certain run-time context (e.g. an
60-
executable filename or name of an importable module). This documents on a
61-
fairly high level by what name software is invoked from a certain run-time
62-
context. The run-time context itself is turn loosely determined by properties
63-
such as ``schema:runtimePlatform`` and ``schema:operatingSystem``.
59+
The base filename of the executable for the software application. It should not
60+
be a full path, nor should it contain any command-line parameters.
6461

6562
We include this property to make a clear distinction between the human readable
66-
name of the software, and the identifier used in invocation of the software.
63+
name of the software, and the executable used in invocation of the software.
6764
The two may regularly differ with one being more verbose or have stricter
6865
casing than the other.
6966

70-
Examples for this property are:
71-
72-
* The name of the invoked executable as invoked from the command line
73-
* The name of the library as used in the linking stage for compiled languages
74-
* The highest-level name of the module as invoked in an ``import`` or ``include`` statement in languages such as Python, R, Perl, Java.
75-
* The name of the package as passed to a certain package manager (for ``SoftwarePackage``)
76-
* The name of the container as known to a certain container registry (for ``SoftwareImage``)
77-
7867
Examples of this property are also shown in the code snippets A and B.
7968

80-
Note that the executable name should typically not contain any
81-
platform/runtime-specific extensions which may differ across systems
82-
(``.exe``,``.so``,``.dll``,``.dylib``). However, such extensions may be
83-
included if they are static over all possible systems and needed to invoke the
84-
software (``.jar``,``.sh``) and a necessary component in invoking the software
85-
from a specific context.
69+
It's recommended to either leave out any platform-specific extensions like
70+
``.exe`` if the executable differs across platforms, or to simply use the
71+
property multiple times to list all possible variants.
8672

8773
## How are software types terms used with codemeta?
8874

@@ -118,7 +104,6 @@ Example A (JSON-LD): An application named [WIDOCO](https://github.com/dgarijo/Wi
118104
},
119105
{
120106
"type": "SoftwareLibrary",
121-
"executableName": "es.oeg.Widoco",
122107
"name": "WIDOCO",
123108
"runtimePlatform": "Linux"
124109
},
@@ -204,6 +189,16 @@ implemented in the following software:
204189

205190
Many vocabularies exist to describe software or its constituent parts, e.g., the [software description ontology](https://w3id.org/okn/o/sd/), [description of a project vocabulary](http://usefulinc.com/ns/doap#), [hydra](https://www.hydra-cg.com/spec/latest/core/) (for API description), the common workflow language (description of inputs and outputs of software components, etc.), etc. Our proposed profile does not aim to redefine any new term related to software, but propose a lightweight profile that can be easily incorporated into schema.org or codemeta.
206191

192+
## Real Examples
193+
194+
You can consult the following projects as examples that make use of this profile:
195+
196+
* [frog](https://github.com/LanguageMachines/frog/blob/master/codemeta.json)
197+
* [ucto](https://github.com/LanguageMachines/ucto/blob/master/codemeta.json)
198+
* [libfolia](https://github.com/LanguageMachines/libfolia/blob/master/codemeta.json)
199+
200+
Furthermore, the [CLARIAH Tools Portal](https://tools.dev.clariah.nl/) is build on the aforementioned implementations and may offer further examples of codemeta that also incorporates this software application type profile.
201+
207202
## Acknowledgement
208203

209204
This work was indirectly and partially funded through the [CLARIAH-PLUS project](https://clariah.nl).

software-types.jsonld

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"DesktopApplication": { "@id": "stype:DesktopApplication" },
99
"TerminalApplication": { "@id": "stype:TerminalApplication" },
1010
"ServerApplication": { "@id": "stype:ServerApplication" },
11+
"SoftwareLibrary": { "@id": "stype:SoftwareLibrary" },
1112
"SoftwareImage": { "@id": "stype:SoftwareImage" },
1213
"SoftwarePackage": { "@id": "stype:SoftwarePackage" },
1314
"NotebookApplication": { "@id": "stype:NotebookApplication" },
@@ -83,7 +84,7 @@
8384
"@id": "stype:executableName",
8485
"@type": "Property",
8586
"label": "Executable Name",
86-
"comment": "The name of the executable within a certain run-time context (e.g. an executable filename or name of an importable module)."
87+
"comment": "Filename of the executable for the software application."
8788
}
8889
]
8990
}

software-types.ttl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
@prefix : <https://schema.org/> .
22
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
33
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
4+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
45
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
56
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
67
@prefix stype: <https://w3id.org/software-types#> .
@@ -10,22 +11,21 @@
1011
# and are eventually proposed upstream to schema.org (but that may take a while)
1112

1213
#metadata
13-
stype: rdf:type owl:Ontology ;
14-
owl:versionIRI <https://w3id.org/stype/1.0.0> ;
15-
<http://purl.org/dc/terms/abstract> "This profile describes vocabulary terms for specifying software application types, used for software metadata descriptions."@en ;
16-
<http://purl.org/dc/elements/1.1/description> "This profile describes vocabulary terms for specifying software application types, used for software metadata descriptions."@en ;
14+
<https://w3id.org/software-types> rdf:type owl:Ontology ;
15+
owl:versionIRI <https://w3id.org/software-types/1.0.0> ;
16+
<http://purl.org/dc/terms/abstract> "This profile describes vocabulary terms needed to describe the metadata of software application types (e.g., command line, desktop, software package, software library, etc.)"@en ;
17+
<http://purl.org/dc/elements/1.1/description> "This profile describes vocabulary terms needed to describe the metadata of software application types (e.g., command line, desktop, software package, software library, etc.)"@en ;
1718
<http://purl.org/dc/elements/1.1/title> "The Software Types ontology"@en ;
1819
<http://purl.org/dc/terms/created> "February 3rd, 2022"@en ;
1920
<http://purl.org/dc/terms/creator> "Maarten van Gompel"@en ,
2021
"Daniel Garijo"@en ;
2122
<http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by/2.0/> ;
2223
<http://purl.org/vocab/vann/preferredNamespacePrefix> "stype"@en ;
23-
<http://purl.org/vocab/vann/preferredNamespaceUri> "https://w3id.org/software-types#" ;
24-
<http://schema.org/citation> "Cite this vocabulary as: van Gompel, M and Garijo, D. The Software Input/Output Data ontology 1.0.0."@en ;
25-
rdfs:comment "This profile describes vocabulary terms for specifying software application types, used for software metadata descriptions."@en ;
24+
<http://purl.org/vocab/vann/preferredNamespaceUri> "https://w3id.org/software-types" ;
25+
<http://schema.org/citation> "Cite this vocabulary as: van Gompel, M and Garijo, D. The Software Types ontology 1.0.0."@en ;
26+
rdfs:comment "This profile describes vocabulary terms needed to describe the metadata of software application types (e.g., command line, desktop, software package, software library, etc.)"@en ;
2627
owl:versionInfo "1.0.0"@en .
2728

28-
2929
stype:CommandLineApplication a rdfs:Class ;
3030
rdfs:label "Command-Line Application" ;
3131
:source <https://github.com/codemeta/codemeta/issues/271> ;
@@ -35,7 +35,7 @@ stype:CommandLineApplication a rdfs:Class ;
3535
stype:DesktopApplication a rdfs:Class ;
3636
rdfs:label "Desktop Application" ;
3737
:source <https://github.com/codemeta/codemeta/issues/271> ;
38-
rdfs:comment "A software application offering a desktop graphical user interface." ;
38+
rdfs:comment "A software application offering a graphical user interface on the deskop." ;
3939
rdfs:subClassOf :SoftwareApplication .
4040

4141
stype:TerminalApplication a rdfs:Class ;
@@ -81,7 +81,7 @@ stype:executableName a rdf:Property ;
8181
:domainIncludes :SoftwareApplication , :SoftwareSourceCode ;
8282
:rangeIncludes :Text ;
8383
:source <https://github.com/codemeta/codemeta/issues/271> ;
84-
rdfs:comment "The name of the executable within a certain run-time context (e.g. an executable filename or name of an importable module)." .
84+
rdfs:comment: "Filename of the executable for the software application" .
8585

8686
# the following already exist, but are extended:
8787

0 commit comments

Comments
 (0)