Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow #7

Merged
merged 10 commits into from
Jul 23, 2020
53 changes: 53 additions & 0 deletions data/ext/bio/ComputationalWorkflow.rdfa
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<div>
<!--
# Schema.org Bioschemas extension proposal
* | Project: https://bioschemas.org
* | MailingList: https://lists.w3.org/Archives/Public/public-bioschemas/
* | Issues:
-->

<div typeof="rdfs:Class" resource="http://schema.org/ComputationalWorkflow">
<link property="http://schema.org/isPartOf" href="http://bio.schema.org" />
<span class="h" property="rdfs:label">ComputationalWorkflow</span>
<span property="rdfs:comment">A computational workflow consists of an orchestrated and repeatable pattern of activity enabled by the systematic organization of resources into processes that transform materials, provide services, or process information (source Wikipedia.org). It is executed by a computational process and is thus distinct from laboratory or business workflows.</span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/SoftwareSourceCode">SoftwareSourceCode</a></span>
<span>Source: <a property="dc:source" href="http://bioschemas.org">Bioschemas</a></span>
</div>

<div typeof="rdf:Property" resource="http://schema.org/softwareRequirements">
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/ComputationalWorkflow">ComputationalWorkflow</a></span>
<!-- from schema.rdfa
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Text">Text</a></span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/URL">URL</a></span>
-->
</div>

<div typeof="rdf:Property" resource="http://schema.org/input">
<link property="http://schema.org/isPartOf" href="http://bio.schema.org" />
<span class="h" property="rdfs:label">input</span>
<span property="rdfs:comment">An input required to use the computational workflow (eg. Excel spreadsheet, BAM file)</span>
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/ComputationalWorkflow">ComputationalWorkflow</a></span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/FormalParameter">FormalParameter</a></span>
<span>Source: <a property="dc:source" href="http://www.bioschemas.org/ComputationalWorkflow">ComputationalWorkflow</a></span>
</div>

<div typeof="rdf:Property" resource="http://schema.org/output">
<link property="http://schema.org/isPartOf" href="http://bio.schema.org" />
<span class="h" property="rdfs:label">output</span>
<span property="rdfs:comment">An output produced by the computational workflow</span>
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/ComputationalWorkflow">ComputationalWorkflow</a></span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/FormalParameter">FormalParameter</a></span>
<span>Source: <a property="dc:source" href="http://www.bioschemas.org/ComputationalWorkflow">ComputationalWorkflow</a></span>
</div>

<div typeof="rdf:Property" resource="http://schema.org/funding">
<!-- Pending https://github.com/schemaorg/schemaorg/pull/2618
<link property="http://schema.org/isPartOf" href="http://bio.schema.org" />
-->
<span class="h" property="rdfs:label">funding</span>
<span property="rdfs:comment">The funding for the workflow</span>
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/ComputationalWorkflow">ComputationalWorkflow</a></span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Grant">Grant</a></span>
</div>

</div>
40 changes: 40 additions & 0 deletions data/ext/bio/FormalParameter.rdfa
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<div>
<!--
# Schema.org Bioschemas extension proposal
* | Project: https://bioschemas.org
* | MailingList: https://lists.w3.org/Archives/Public/public-bioschemas/
* | Issues:
-->

<div typeof="rdfs:Class" resource="http://schema.org/FormalParameter">
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a generalization covering other types also working with input/output is not possible, maybe changing the name could be considered

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it can be used with other things having input and output, but I don't know what domains to add there as here we only need it on Workflow (although it would be nice to have also on an individual step referenced from hasPart).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about the software case? As it will be a ComputationalWorkflow, pieces of software will be important there. Could you keep it in mind when describing domains, ranges and so? I know it adds work but it will be more usable even by others.

<link property="http://schema.org/isPartOf" href="http://bio.schema.org" />
<span class="h" property="rdfs:label">FormalParameter</span>
<span property="rdfs:comment">A FormalParameter is an identified variable used to stand for the actual value(s) that are consumed/produced by a set of steps</span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/Intangible">Intangible</a></span>
<span>Source: <a property="dc:source" href="http://bioschemas.org">Bioschemas</a></span>
</div>

<div typeof="rdf:Property" resource="http://schema.org/encodingFormat">
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/FormalParameter">FormalParameter</a></span>
<!-- from schema.rdfa
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Text">Text</a></span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Text">URL</a></span>
-->
</div>

<div typeof="rdf:Property" resource="http://schema.org/valueRequired">
<span property="rdfs:comment">Whether the input/output must be specified</span>
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/FormalParameter">FormalParameter</a></span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Boolean">Boolean</a></span>
<span>Source: <a property="dc:source" href="http://www.bioschemas.org/FormalParameter">FormalParameter</a></span>
</div>

<div typeof="rdf:Property" resource="http://schema.org/defaultValue">
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/FormalParameter">FormalParameter</a></span>
<!-- from schema.rdfa
<span class="h" property="rdfs:label">defaultValue</span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Thing">Thing</a></span>
-->
</div>

Copy link
Collaborator

@ljgarcia ljgarcia Jul 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about a property specifying the nature/type of the input/output data? It could be a schema/Bioschemas type or EDAM (or both). Would it be useful for the Workflows case? I know it has been mentioned for the Software/Tools case. Of course, the input/output could not be data but another research object. Still, having the nature could help findability and connectivity.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

better to do that in the BioSchemas profile for FormalParameter - where we say we should use additionalType to link to EDAM.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point about the profile, but not via additionalType. The motivation of additionalType is allowing multiple classes in one of the serialization which does not natively support it (microdata, I think). That is why I thought of adding a new property here... although, if done via profiling, additionalType could actually work.

Copy link

@stain stain Jul 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A good thing about the softer additionalType here is that it is not the same RDF semantics as @type - in particular a FormalParameter with an additionalType of EDAM Genome Sequence is not actually a genome sequence, as it is a parameter slot which would accept (or produce) values of that type. In the same way additionalType can type using identifiers to non-class instances, e.g. a skos:Concept.

As it's only in the profile this is straight forward.. if we want it in the FormalParameter type registration (this repo) then at best we would need to describe that pattern in free text for the class itself.

Say we added new properties instead, I don't know a better property that would work well on both input (expectsValuesOfType ?) and output (producesValuesByType ?)..

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed additionalType makes sense here. @AlasdairGray any thoughts on this point?

</div>
2 changes: 2 additions & 0 deletions sdoconfigTermsData.json
Original file line number Diff line number Diff line change
Expand Up @@ -186,9 +186,11 @@
"BioChemStructure.rdfa",
"BioSample.rdfa",
"ChemicalSubstance.rdfa",
"ComputationalWorkflow.rdfa",
"DataRecord.rdfa",
"DNA.rdfa",
"Enzyme.rdfa",
"FormalParameter.rdfa",
"Gene.rdfa",
"LabProtocol.rdfa",
"MolecularEntity.rdfa",
Expand Down