@prefix ns1: .
@prefix orcid: .
@prefix this: .
@prefix sub: .
@prefix bpmn: .
@prefix np: .
@prefix npx: .
@prefix pplan: .
@prefix xsd: .
@prefix rdfs: .
@prefix prov: .
sub:Head {
this: np:hasAssertion sub:assertion;
np:hasProvenance sub:provenance;
np:hasPublicationInfo sub:pubInfo;
a np:Nanopublication .
}
sub:assertion {
sub:imgstr a "str", pplan:Variable;
rdfs:label "imgstr" .
sub:rotate_image-output1 a "str", pplan:Variable;
rdfs:label "rotate_image-output1" .
sub:step ns1:description """@is_fairstep(label='Rotating an image represented as a string by 180 degrees')
def rotate_image(imgstr:str) -> str:
imgIn = Image.open(io.BytesIO(imgstr))
imgOut = imgIn.transpose(Image.ROTATE_180)
imgOutStr = io.BytesIO()
imgOut.save(imgOutStr, format=\"png\")
return imgOutStr.getvalue()
""";
pplan:hasInputVar sub:imgstr;
pplan:hasOutputVar sub:rotate_image-output1;
a bpmn:ScriptTask, pplan:Step;
rdfs:label "Rotating an image represented as a string by 180 degrees" .
}
sub:provenance {
sub:assertion prov:generatedAtTime "2021-01-26T10:20:33.267939"^^xsd:dateTime .
}
sub:pubInfo {
sub:sig npx:hasAlgorithm "RSA";
npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB";
npx:hasSignature "DmYmfaOwgEGQnEJlw+XStaZIKlnv7u0uMMz9BALe+OS5gpBoSDnx9PioeOzFy4vW7cPY+fyju8SvQeQu8L602JOYcmzNcTIt6j+dJKDlIVpwOVnyBS+/z40mgqTQ0d+O5o4Bd1sLcD4B2O60GujLEx8ZQ8isPDAyJDK/hpDnAF0=";
npx:hasSignatureTarget this: .
this: npx:introduces sub:step;
prov:generatedAtTime "2021-01-26T10:20:33.267939"^^xsd:dateTime;
prov:wasAttributedTo orcid:0000-0002-1267-0234 .
}