diff --git a/codes/AppEndpointType.ttl b/codes/AppEndpointType.ttl index 87eb91a0..de9bd118 100644 --- a/codes/AppEndpointType.ttl +++ b/codes/AppEndpointType.ttl @@ -32,4 +32,10 @@ idsc:PROCESS_ENDPOINT a ids:AppEndpointType; rdfs:label "Process endpoint"@en ; rdfs:comment "Endpoint is used to start (or control) app processing."@en ; +. + +idsc:USAGE_POLICY_ENDPOINT + a ids:AppEndpointType; + rdfs:label "Usage policy endpoint"@en ; + rdfs:comment "Endpoint is used for usage policy / usage control related scenarios."@en ; . \ No newline at end of file diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index c21d6947..2ddbba47 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -21,10 +21,13 @@ ids:representation [ a ids:AppRepresentation ; ids:mediaType ; - ids:instance ; + ids:dataAppDistributionService ; + ids:dataAppRuntimeEnvironment "Docker" ; ids:dataAppInformation [ a ids:SmartDataApp ; ids:appDocumentation "App-related human-readable documentation."; + ids:appEnvironmentVariables "$Env1 = environment variable 1, $Env2 = environment variable 2"; + ids:appStorageConfiguration "1 Docker volume required, e.g. -v /data"; ids:appEndpoint [ a ids:AppEndpoint; ids:appEndpointInformation "I am an app endpoint. I do endpoint things."; @@ -32,17 +35,12 @@ ids:appEndpointType idsc:INPUT_ENDPOINT ; ids:appEndPointPort 5000 ; ids:path "/input"; - ids:appEndpointMediaType + ids:appEndpointMediaType ; + ids:appEndpointProtocol "HTTP/1.1"; ] ]; ] . - - a ids:Artifact ; - ids:byteSize 9759 ; - ids:fileName "app_docker_image.zip"; - ids:creationDate "2020-03-19T12:00:00+02:00"^^xsd:dateTimeStamp ; -. a ids:IANAMediaType . diff --git a/examples/APP_RESOURCE.jsonld b/examples/APP_RESOURCE_old.jsonld similarity index 100% rename from examples/APP_RESOURCE.jsonld rename to examples/APP_RESOURCE_old.jsonld diff --git a/model/communication/Endpoint.ttl b/model/communication/Endpoint.ttl index bd21d427..21adac73 100644 --- a/model/communication/Endpoint.ttl +++ b/model/communication/Endpoint.ttl @@ -20,7 +20,7 @@ ids:Endpoint a owl:Class ; idsm:forProperty ids:endpointDocumentation; idsm:relationType idsm:OneToMany ; ]; - + . ids:ConnectorEndpoint @@ -130,4 +130,12 @@ ids:appEndpointMediaType rdfs:range ids:MediaType ; rdfs:label "app endpoint media type"@en ; rdfs:comment "Mediatype, such as IANA types, of the data an endpoint expects or returns ."@en ; -. \ No newline at end of file +. + +ids:appEndpointProtocol + a owl:DatatypeProperty ; + rdfs:domain ids:AppEndpoint ; + rdfs:range xsd:string ; + rdfs:label "app endpoint protocol"@en ; + rdfs:comment "Protocol used to communicate with the app endpoint."@en ; +. diff --git a/model/content/DataApp.ttl b/model/content/DataApp.ttl index c3d70835..c478ad34 100644 --- a/model/content/DataApp.ttl +++ b/model/content/DataApp.ttl @@ -34,6 +34,20 @@ ids:appEndpoint rdfs:comment "Endpoints of a data app"@en ; . +ids:appEnvironmentVariables a owl:DatatypeProperty; + rdfs:label "app environment variables"@en ; + rdfs:comment "Necessary or optional environment variables of a data app."@en ; + rdfs:domain ids:DataApp; + rdfs:range xsd:string; +. + +ids:appStorageConfiguration a owl:DatatypeProperty; + rdfs:label "app storage configuration"@en; + rdfs:comment "Storage configuration of a data app. Value may differ based on the app ecosystem, e.g. a writeable path in the file system or a volume name (e.g. for containerized apps)"@en ; + rdfs:domain ids:DataApp; + rdfs:range xsd:string; +. + ids:SystemAdapter a owl:Class; rdfs:subClassOf ids:DataApp; diff --git a/taxonomies/Representation.ttl b/taxonomies/Representation.ttl index ed9f0dfa..85553fe0 100644 --- a/taxonomies/Representation.ttl +++ b/taxonomies/Representation.ttl @@ -89,3 +89,17 @@ ids:dataAppInformation a owl:ObjectProperty; rdfs:domain ids:AppRepresentation; rdfs:range ids:DataApp; . + +ids:dataAppDistributionService a owl:DatatypeProperty; + rdfs:label "app destribtution service"@en ; + rdfs:comment "IRI reference to storage and distribution system for the correspending data app. Unlinke regular representations for IDS resources, a data app may not be retrieved directly from a connector but from a separate registry instead."@en ; + rdfs:domain ids:AppRepresentation; + rdfs:range xsd:anyURI; + . + +ids:dataAppRuntimeEnvironment a owl:DatatypeProperty; + rdfs:label "app runtime environment"@en ; + rdfs:comment "Runtime environment of a data app, e.g. software (or hardware) required to run the app."@en ; + rdfs:domain ids:AppRepresentation; + rdfs:range xsd:string; +. \ No newline at end of file diff --git a/testing/communication/EndpointShape.ttl b/testing/communication/EndpointShape.ttl index cbb0a964..21652b7e 100644 --- a/testing/communication/EndpointShape.ttl +++ b/testing/communication/EndpointShape.ttl @@ -124,4 +124,12 @@ shapes:AppEndpointShape sh:severity sh:Violation ; sh:message " (AppEndpointShape): An ids:appEndpointMediaType property must point from an ids:AppEndpoint to an ids:MediaType."@en ; ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:appEndpointProtocol ; + sh:datatype xsd:string ; + sh:severity sh:Violation ; + sh:message " (AppEndpointShape): An ids:appEndpointProtocol property must point from an ids:AppEndpoint to xsd:string."@en ; + ] ; . \ No newline at end of file diff --git a/testing/content/DataAppShape.ttl b/testing/content/DataAppShape.ttl index e5397b07..29614dae 100644 --- a/testing/content/DataAppShape.ttl +++ b/testing/content/DataAppShape.ttl @@ -60,5 +60,21 @@ shapes:DataAppShape sh:severity sh:Violation ; sh:message " (DataAppShape): An ids:appEndpoint property must point from an ids:DataApp to an ids:AppEndpoint."@en ; ]; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:appStorageConfiguration ; + sh:datatype xsd:string ; + sh:severity sh:Violation ; + sh:message " (DataAppShape): An ids:appStorageConfiguration property must point from an ids:DataApp to an xsd:string."@en; + ]; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:appEnvironmentVariables ; + sh:datatype xsd:string ; + sh:severity sh:Violation ; + sh:message " (DataAppShape): An ids:appEnvironmentVariables property must point from an ids:DataApp to an xsd:string."@en; + ]; . diff --git a/testing/taxonomies/RepresentationShape.ttl b/testing/taxonomies/RepresentationShape.ttl index 3925a726..81fd3e43 100644 --- a/testing/taxonomies/RepresentationShape.ttl +++ b/testing/taxonomies/RepresentationShape.ttl @@ -97,5 +97,23 @@ shapes:AppRepresentationShape sh:class ids:DataApp ; sh:severity sh:Violation ; sh:message " (AppRepresentationShape): An ids:dataAppInformation property must point from an ids:AppRepresentation to an ids:DataApp."@en ; - ] . + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:dataAppDistributionService ; + sh:nodeKind sh:IRI ; + sh:severity sh:Violation ; + sh:message " (AppRepresentationShape): An ids:dataAppDistributionService property must point from an ids:AppRepresentation to an IRI."@en ; + ]; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:dataAppRuntimeEnvironment ; + sh:datatype xsd:string ; + sh:severity sh:Violation ; + sh:message " (AppRepresentationShape): An ids:dataAppRuntimeEnvironment property must point from an ids:AppRepresentation to an xsd:string."@en ; + ]; + +.