diff --git a/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..00b98be6 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,27 @@ +## Type of change + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] Formatting / Refactoring / Other change (non-breaking, non-functional changes) +- [ ] Release + +## Checklist: +- [ ] Provide complete validation shapes for the new ontology terms; remove shapes for the old ones + +### Checklist for releases: + +#### Before a release: +- [ ] Ensure that the respective [GitHub milestone](https://github.com/International-Data-Spaces-Association/InformationModel/milestones) has no more open issues (i.e., close these or move these to subsequent milestones) +- [ ] Update changelogs +- [ ] Rerun ontology creation script (`create-ontology-ttl.sh`) with the version number of the release. E.g., `create-ontology-ttl.sh 4.2.0` +- [ ] Update and validate the examples against the latest ontology version and SHACL shapes +- [ ] Make sure that the manually authored parts of the documentation are in sync with the rest of the implementation and documentation +- [ ] Check whether the [IDS-G-pre](https://github.com/International-Data-Spaces-Association/IDS-G-pre/tree/main/Infomodel) documentation is up to date +- [ ] Check whether the [IDS Information Model Readme.md](https://github.com/International-Data-Spaces-Association/InformationModel/#readme) is up to date + +### After a release: +- [ ] Generate human-readable documentation and single-file serializations using Widoco +- [ ] Generate Java library +- [ ] Update the message table +- [ ] Announce new version via mailing lists diff --git a/.gitignore b/.gitignore index f25f3a61..0c3933a8 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ artifacts /IDSInformationModelAll.ttl /catalog-v001.xml *.project +references/.DS_Store +.DS_Store diff --git a/CHANGELOG.md b/CHANGELOG.md index 132d1a58..a831dc3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [4.2.0] 2022-05-13 +Version 4.2.0 of the IDS Information Model + +### Added + +* Class `ids:PaymentModality` and property `ids:paymentModality` to document pricing modalities (free/ fixed price/ negotiation basis). Property is directly attached to the `ids:Resource`. +* Class `ids:IdsProtocolSpecification` and property `ids:apiSpecification` to describe `ids:Endpoint`s with their supported protocols +* New individuals of `ids:Action`: `ADD`, `DIVIDE`, `HASH`, `INCREMENT_COUNTER`, `MULTIPLY`, `REPLACE`, `SHUFFLE` +* New individuals of `ids:Frequency`: `TWO_TIMES_A_DAY`, `EVERY_THREE_HOURS`, `BIHOURLY`, `HOURLY`, `EVERY_30_MINUTES`, `EVERY_15_MINUTES`, `EVERY_10_MINUTES`, `EVERY_5_MINUTES`, `EVERY_1_MINUTE` +* New individuals of `ids:IdsProtocolSpecification`: `IDS-REST`, `IDS-CP`, `QUERY`, `MULTIPART` +* New individuals of `ids:LeftOperand`: `DATE_TIME`, `HASH_ALGORITHM`, `JSON_PATH`, `XPATH`, `REPLACE_WITH`, `OPERAND`, `ROLE`, `RECIPIENT`, `TARGET_POLICY`, `ARTIFACT_STATE`, `SYSTEM_DEVICE`, `APPLICATION`, `CONNECTOR`, `LOG_LEVEL`, `NOTIFICATION_LEVEL` +* New individuals of `ids:CustomMediaType`: `OTHER_MEDIATYPE` +* Title (`ids:title`) and description (`ids:description`) properties for `ids:Representation`. +* Shapes for AppResources +* Class UsageControlComponent and Shape +* `ids:Representation` is now additionally subclass of `ids:Described` giving instances a title- and description label. ## [4.1.0] 2021-05-26 Version 4.1.0 of the IDS Information Model diff --git a/Ontology.ttl b/Ontology.ttl index faa98383..834263df 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -34,13 +34,14 @@ ids: , , , - , - ; + , + , + ; dct:publisher ids:IDSA ; dct:created "2017-09-26"^^xsd:date ; - dct:modified "2021-06-17"^^xsd:date ; - owl:versionInfo "4.1.0" ; - owl:versionIRI ; + dct:modified "2022-06-01"^^xsd:date ; + owl:versionInfo "4.2.0" ; + owl:versionIRI ; vann:preferredNamespaceUri "https://w3id.org/idsa/core/" ; vann:preferredNamespacePrefix "ids" ; rdfs:seeAlso ; @@ -102,90 +103,98 @@ _:AnnaKasprzik a dct:Agent, foaf:Person ; a dct:Agent, foaf:Person ; foaf:name "Maarten Kollenstart" ; . + a dct:Agent, foaf:Person ; + foaf:name "Johannes Lipp" ; +. a dct:Agent, foaf:Person ; - foaf:name "Lina Molinas Comet" ; + foaf:name "Lina Molinas Comet" ; . # ---------------------------- # Imports of class files ids: - owl:imports ; - owl:imports ; owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; owl:imports ; owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; . diff --git a/README.md b/README.md index 2ce228ff..e7797cde 100644 --- a/README.md +++ b/README.md @@ -16,13 +16,14 @@ The Information Model was originally created by with significant contributions, comments and support by (in alphabetical order): - Haydar Akyürek, [Fraunhofer FIT](https://www.fit.fraunhofer.de/en) -- Sebastian Bader, [Fraunhofer IAIS](https://www.iais.fraunhofer.de/en) +- Dr. Sebastian Bader, [Fraunhofer IAIS](https://www.iais.fraunhofer.de/en), now SAP - Matthias Böckmann, [Fraunhofer IAIS](https://www.iais.fraunhofer.de/en) -- Dr. Sandra Geisler, [Fraunhofer FIT](https://www.fit.fraunhofer.de/en) +- Prof. Sandra Geisler, [Fraunhofer FIT](https://www.fit.fraunhofer.de/en) +- Philipp Hochmann, [Fraunhofer FIT](https://www.fit.fraunhofer.de/en) - Dr. Anna Kasprzik, [TIB](https://www.tib.eu/en) - Dr. Christoph Lange, [Fraunhofer FIT](https://www.fit.fraunhofer.de/en) (see above) - Jörg Langkau, [nicos AG](http://www.nicos-ag.com) -- Johannes Lipp, [Fraunhofer FIT](https://www.fit.fraunhofer.de/en) +- Johannes Theissen-Lipp, [Fraunhofer FIT](https://www.fit.fraunhofer.de/en) - Lina Molinas Comet, [Fraunhofer FIT](https://www.fit.fraunhofer.de/en) - Andreas W. Müller, [Schaeffler](https://www.schaeffler.de/content.schaeffler.de/en/) - Dr. Michael Theß, [Signal Cruncher GmbH](https://signal-cruncher.com/) @@ -94,7 +95,9 @@ For automated validation of the Information Model POJOs (via the builder classes - A high-level conceptual specification is given as a part of the IDS Reference Architecture Model ([current version 3.0](https://www.internationaldataspaces.org/publications/reference-architecture-model-3-0/) of 2019; see section 3.4). -- [Webinar of November 2018, giving a technical overview of the Information Model](https://www.internationaldataspaces.org/wp-content/uploads/2019/07/IDS-Information-Model.pdf) +- Webinars + - IDSA Tech Talk of September 2020, giving a high-level intro to version 4.0: [slides](https://www.internationaldataspaces.org/wp-content/uploads/2020/09/2020-09-03-Tech-Talk-Infomodel.pdf), [video](https://www.youtube.com/watch?v=V1WvJkaHQJ0&feature=emb_title) + - [Webinar of November 2018, giving a technical overview of the Information Model](https://www.internationaldataspaces.org/wp-content/uploads/2019/07/IDS-Information-Model.pdf) For members of the International Data Spaces Association only: - [Working document](https://industrialdataspace.jiveon.com/docs/DOC-1817), explaining diff --git a/Shacl.ttl b/Shacl.ttl index 8f127d84..bf6f64fa 100644 --- a/Shacl.ttl +++ b/Shacl.ttl @@ -30,9 +30,9 @@ shapes: ; dct:publisher ids:IDSA ; dct:created "2019-10-14"^^xsd:date ; - dct:modified "2021-06-17"^^xsd:date ; - owl:versionInfo "4.1.0" ; - owl:versionIRI ; + dct:modified "2022-07-28"^^xsd:date ; + owl:versionInfo "4.2.0" ; + owl:versionIRI ; vann:preferredNamespaceUri "https://github.com/International-Data-Spaces-Association/InformationModel/tree/master/testing" ; vann:preferredNamespacePrefix "shapes" ; rdfs:seeAlso ; @@ -66,61 +66,62 @@ ids:IDSA # ---------------------------- # Imports of class files shapes: - owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; owl:imports ; owl:imports ; - owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; owl:imports ; - owl:imports ; owl:imports ; - owl:imports ; owl:imports ; + owl:imports ; . diff --git a/codes/ArtifactState.ttl b/codes/ArtifactState.ttl index 978433b9..e0daf2c0 100644 --- a/codes/ArtifactState.ttl +++ b/codes/ArtifactState.ttl @@ -6,7 +6,7 @@ @prefix geo: . @prefix wgs84: . @prefix odrl: . -@prefix time: . +@prefix time: . @prefix org: . @prefix ids: . @prefix idsc: . diff --git a/codes/BinaryOperators.ttl b/codes/BinaryOperators.ttl index f4d51fc4..75430228 100644 --- a/codes/BinaryOperators.ttl +++ b/codes/BinaryOperators.ttl @@ -6,7 +6,7 @@ @prefix geo: . @prefix wgs84: . @prefix odrl: . -@prefix time: . +@prefix time: . @prefix org: . @prefix ids: . @prefix idsc: . @@ -111,23 +111,23 @@ idsc:MATCHES a ids:BinaryOperator; idsc:AFTER a ids:BinaryOperator; rdfs:seeAlso time:after; rdfs:label "after"@en ; - rdfs:comment "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity."@en ; + rdfs:comment "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity."@en ; . idsc:BEFORE a ids:BinaryOperator ; rdfs:seeAlso time:before ; rdfs:label "before"@en; - skos:note "Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp."@en ; - rdfs:comment "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity."@en ; + skos:note "Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp."@en ; + rdfs:comment "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity."@en ; . idsc:CONTAINS a ids:BinaryOperator; rdfs:seeAlso time:inside, time:intervalContains; rdfs:label "contains"@en ; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself."@en ; - skos:note "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself."@en ; + skos:note "Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval."@en ; . @@ -135,8 +135,8 @@ idsc:TEMPORAL_DISJOINT a ids:BinaryOperator ; rdfs:seeAlso time:intervalDisjoint; rdfs:label "disjoint"@en; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2."@en; - skos:note "Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2."@en; + skos:note "Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal."@en ; . idsc:DURING @@ -144,14 +144,14 @@ idsc:DURING rdfs:seeAlso time:intervalDuring; rdfs:label "during"@en; rdfs:comment "If a TemporalEntity T1 is during another TemporalEntity T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is before the end of T2."@en ; - skos:note "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en ; + skos:note "Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval."@en ; . idsc:TEMPORAL_EQUALS a ids:BinaryOperator ; rdfs:seeAlso time:intervalEquals; rdfs:label "interval equals"@en; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal)."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal)."@en ; skos:note "Compares an instance of TemporalEntity or xsd:dateTimeStamp Literal to another TemporalEntity or xsd:dateTimeStamp. Evaluates to false if a DurationEntity is involved."@en ; . @@ -160,7 +160,7 @@ idsc:FINISHED_BY rdfs:seeAlso time:intervalFinishedBy; rdfs:label "finished by"@en; rdfs:comment "If an interval T1 is finished by another interval T2, then the beginning of T1 is before the beginning of T2, and the end of T1 is coincident with the end of T2."@en; - skos:note "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty."@en ; + skos:note "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty."@en ; . idsc:FINISHES @@ -168,7 +168,7 @@ idsc:FINISHES rdfs:seeAlso time:intervalFinishes, ids:intervalIn; rdfs:label "finishes"@en; rdfs:comment "If an Interval T1 finishes another interval T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is coincident with the end of T2."@en; - skos:note "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty."@en ; + skos:note "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty."@en ; . idsc:MEETS @@ -191,8 +191,8 @@ idsc:OVERLAPS a ids:BinaryOperator ; rdfs:seeAlso time:intervalOverlaps; rdfs:label "overlaps"@en; - rdfs:comment "If an ids:Interval T1 overlapps another ids:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2."@en ; - skos:note "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty."@en ; + rdfs:comment "If a time:Interval T1 overlapps another time:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2."@en ; + skos:note "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty."@en ; . idsc:OVERLAPPED_BY @@ -200,7 +200,7 @@ idsc:OVERLAPPED_BY rdfs:seeAlso time:intervalOverlappedBy; rdfs:label "overlapped by"@en; rdfs:comment "If a interval T1 is overlapped another proper interval T2, then the beginning of T1 is before the beginning of T2, the end of T1 is after the beginning of T2, and the end of T1 is before the end of T2."@en ; - skos:note "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty."@en ; + skos:note "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty."@en ; . idsc:STARTS @@ -208,7 +208,7 @@ idsc:STARTS rdfs:seeAlso time:intervalStarts; rdfs:label "starts"@en; rdfs:comment "If an interval T1 starts with a TemporalEntity T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is before the end of T2."@en ; - skos:note "Compares an instance of ids:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not an ids:Interval as then the end of T1 can never be idsc:BEFORE the end of T2"@en ; + skos:note "Compares an instance of time:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not a time:Interval as then the end of T1 can never be idsc:BEFORE the end of T2"@en ; . idsc:STARTED_BY @@ -216,7 +216,7 @@ idsc:STARTED_BY rdfs:seeAlso time:intervalStartedBy; rdfs:label "started by"@en; rdfs:comment "If a TemporalEntity T1 is started by another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is after the end of T2."@en ; - skos:note "Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of ids:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2."@en ; + skos:note "Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of time:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2."@en ; . @@ -225,28 +225,28 @@ idsc:DURATION_EQ rdfs:seeAlso time:hasTemporalDuration; rdfs:label "has same duration"@en; rdfs:comment "If a temporal entity T1 has the same duration as another temporal entity T2, then their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; - skos:note "Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity."@en ; + skos:note "Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity."@en ; . idsc:LONGER a ids:BinaryOperator ; rdfs:label "longer"@en ; rdfs:comment "If a temporal entity T1 is longer than another temporal entity T2, then the length or duration of T1 is bigger. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; - skos:note "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en ; + skos:note "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en ; . idsc:LONGER_EQ a ids:BinaryOperator ; rdfs:label "longer or equals"@en ; rdfs:comment "If temporal entity T1 is longer or equals than another temporal entity T2, then the length or duration of T1 is bigger or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; - skos:note "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en ; + skos:note "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en ; . idsc:SHORTER_EQ a ids:BinaryOperator ; rdfs:label "shorter or equals"@en ; rdfs:comment "If a temporal entity T1 is shorter or equals than another temporal entity T2, then the length or duration of T1 is shorter or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; - skos:note "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en ; + skos:note "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en ; . @@ -254,7 +254,7 @@ idsc:SHORTER a ids:BinaryOperator ; rdfs:label "shorter"@en ; rdfs:comment "If a temporal entity T1 is shorter than another temporal entity T2, then the length or duration of T1 is shorter. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; - skos:note "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en ; + skos:note "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en ; . diff --git a/codes/Frequency.ttl b/codes/Frequency.ttl index b7e00a88..8137faa6 100644 --- a/codes/Frequency.ttl +++ b/codes/Frequency.ttl @@ -170,6 +170,66 @@ idsc:DAILY a ids:Frequency; skos:inScheme ; dcam:memberOf . +idsc:TWO_TIMES_A_DAY a ids:Frequency; + a skos:Concept ; + rdfs:label "Two times a day"@en ; + rdfs:comment "The event occurs twice a day."@en ; +. + +idsc:EVERY_THREE_HOURS a ids:Frequency; + a skos:Concept ; + rdfs:label "Every three hours"@en ; + rdfs:comment "The event occurs every three hours."@en ; +. + +idsc:BIHOURLY a ids:Frequency; + a skos:Concept ; + rdfs:label "Bihourly"@en ; + rdfs:comment "The event occurs twice an hour."@en ; +. + +idsc:HOURLY a ids:Frequency; + a skos:Concept ; + rdfs:label "Hourly"@en ; + rdfs:comment "The event occurs every hour."@en ; +. + +idsc:EVERY_30_MINUTES a ids:Frequency; + a skos:Concept ; + rdfs:label "Every 30 minutes"@en ; + rdfs:comment "The event occurs every 30 minutes."@en ; +. + +idsc:EVERY_15_MINUTES a ids:Frequency; + a skos:Concept ; + rdfs:label "Every 15 minutes"@en ; + rdfs:comment "The event occurs every 15 minutes."@en ; +. + +idsc:EVERY_10_MINUTES a ids:Frequency; + a skos:Concept ; + rdfs:label "Every 10 minutes"@en ; + rdfs:comment "The event occurs every 10 minutes."@en ; +. + +idsc:EVERY_5_MINUTES a ids:Frequency; + a skos:Concept ; + rdfs:label "Every 5 minutes"@en ; + rdfs:comment "The event occurs every 5 minutes."@en ; +. + +idsc:EVERY_1_MINUTE a ids:Frequency; + a skos:Concept ; + rdfs:label "Every 1 minutes"@en ; + rdfs:comment "The event occurs every 1 minute."@en ; +. + +idsc:ONCE a ids:Frequency; + a skos:Concept ; + rdfs:label "Once"@en ; + rdfs:comment "The event occurs only once."@en ; +. + idsc:CONTINUOUS a ids:Frequency; a skos:Concept ; rdfs:label "Continuous"@en ; diff --git a/codes/IdsProtocolSpecification.ttl b/codes/IdsProtocolSpecification.ttl new file mode 100644 index 00000000..b7b29eae --- /dev/null +++ b/codes/IdsProtocolSpecification.ttl @@ -0,0 +1,35 @@ +@prefix owl: . +@prefix rdfs: . +@prefix dct: . +@prefix xsd: . +@prefix ids: . +@prefix idsc: . + + +idsc:IDS-REST + a ids:IdsProtocolSpecification ; + rdfs:label "IDS REST" ; + rdfs:comment "The REST specification of the IDS interactions."@en ; + rdfs:seeAlso ; +. + +idsc:IDS-CP + a ids:IdsProtocolSpecification ; + rdfs:label "IDS-CP" ; + rdfs:comment "The IDS-CP specification of the IDS interactions."@en ; + rdfs:seeAlso ; +. + +idsc:QUERY + a ids:IdsProtocolSpecification ; + rdfs:label "Query" ; + rdfs:comment "Queries conforming to IDS specifications."@en ; + rdfs:seeAlso ; +. + + idsc:MULTIPART + a ids:IdsProtocolSpecification ; + rdfs:label "IDS over Multipart" ; + rdfs:comment "The Multipart Messages implementation of the IDS interactions."@en ; + rdfs:seeAlso ; +. diff --git a/codes/PaymentModality.ttl b/codes/PaymentModality.ttl new file mode 100644 index 00000000..ec363564 --- /dev/null +++ b/codes/PaymentModality.ttl @@ -0,0 +1,27 @@ +@prefix owl: . +@prefix rdfs: . +@prefix dct: . +@prefix xsd: . +@prefix ids: . +@prefix idsc: . + +# Instances +# --------- + +idsc:FREE + a ids:PaymentModality ; + rdfs:comment "To express that the exchange of resource is free"@en ; + rdfs:label "free"@en ; +. + +idsc:FIXED_PRICE + a ids:PaymentModality ; + rdfs:comment "To express that the exchange of resource is with a fixed price"@en ; + rdfs:label "fixed price"@en ; +. + +idsc:NEGOTIATION_BASIS + a ids:PaymentModality ; + rdfs:comment "To express that the exchange of resource is negotiation-based."@en ; + rdfs:label "negotiation basis"@en ; +. diff --git a/codes/QualityMetrics.ttl b/codes/QualityMetrics.ttl new file mode 100644 index 00000000..ac7337ca --- /dev/null +++ b/codes/QualityMetrics.ttl @@ -0,0 +1,24 @@ +@prefix ids: . +@prefix idsc: . +@prefix dqv: . +@prefix skos: . +@prefix xsd: . +@prefix rdfs: . + +# Dimensions +# --------- + +idsc:AVAILABILITY + a dqv:Dimension ; + rdfs:label "Availability" ; + skos:definition "Availability of a dataset: Is the data present, obtainable and ready for use?"@en . + + +# Metrics +# --------- + +idsc:DOWNLOAD_URL_AVAILABILITY_METRIC + a dqv:Metric ; + skos:definition "Checks if all ResourceEndpoints for given resource are available and dereferenceable."@en ; + dqv:expectedDataType xsd:boolean ; + dqv:inDimension idsc:AVAILABILITY . diff --git a/docs/OOPSevaluation/oopsEval.html b/docs/OOPSevaluation/oopsEval.html index c9d83981..a1e05ed2 100644 --- a/docs/OOPSevaluation/oopsEval.html +++ b/docs/OOPSevaluation/oopsEval.html @@ -79,7 +79,7 @@

-

This pitfall consists in creating an ontology element and failing to provide human readable annotations attached to it. Consequently, ontology elements lack annotation properties that label them (e.g. rdfs:label, lemon:LexicalEntry, skos:prefLabel or skos:altLabel) or that define them (e.g. rdfs:comment or dc:description). This pitfall is related to the guidelines provided in [5].

This pitfall affects to the following ontology elements:

+

This pitfall consists in creating an ontology element and failing to provide human readable annotations attached to it. Consequently, ontology elements lack annotation properties that label them (e.g. rdfs:label, lemon:LexicalEntry, skos:prefLabel or skos:altLabel) or that define them (e.g. rdfs:comment or dc:description). This pitfall is related to the guidelines provided in [5].

This pitfall affects to the following ontology elements:

@@ -91,7 +91,7 @@

+

Object and/or datatype properties without domain or range (or none of them) are included in the ontology.

This pitfall affects to the following ontology elements:

diff --git a/docs/readme.md b/docs/readme.md index 0271204d..eeee0348 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -27,7 +27,7 @@ Widoco will create 3 different folders: Completing ontology metadata. =================== -Widoco uses the ontology metadata to update a configuration file. If you complete that configuration file (ended up widoco.conf), the tool will enhance your html with additional details, such as how to cite the document, previous revisions, icons with the licence, etc. +Widoco uses the ontology metadata to update a configuration file. If you complete that configuration file (ended up widoco.conf), the tool will enhance your html with additional details, such as how to cite the document, previous revisions, icons with the license, etc. Browser issues ========== diff --git a/docs/sections/crossref-en.html b/docs/sections/crossref-en.html index 0aad48ff..ee302d09 100644 --- a/docs/sections/crossref-en.html +++ b/docs/sections/crossref-en.html @@ -1408,7 +1408,7 @@

Asset Collectionc

IRI: https://w3id.org/idsa/core/AssetCollection

- An AssetCollection is a bracket object combining several ids:Assets. + An AssetCollection is a bracket object combining several odrl:Asset.
has super-classes
@@ -3877,7 +3877,7 @@

Licensec

IRI: https://w3id.org/idsa/core/License

- Class of Licences to be referred to by Resources. + Class of licenses to be referred to by Resources.
has super-classes
@@ -7340,7 +7340,7 @@

asset refinementop

IRI: https://w3id.org/idsa/core/assetRefinement

- Conditions which specify whether an arbitrary ids:Asset is a member of this AssetCollection. + Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection.
@@ -11124,7 +11124,7 @@

Contract datedp

IRI: https://w3id.org/idsa/core/contractDate

- Absolute datetime of singing the Contract. + Absolute datetime of signing the Contract.
@@ -11271,7 +11271,7 @@

createddp

IRI: https://w3id.org/idsa/core/created

- The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself. + The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself.
@@ -11334,7 +11334,7 @@

Custom Licensedp
has super-properties
- licence + license dp
has domain
@@ -12820,7 +12820,7 @@

Standard Licensedp
has super-properties
- licence + license dp
has domain
diff --git a/docs/sections/crossref-en_source.html b/docs/sections/crossref-en_source.html index 2670ff95..d70c7eb2 100644 --- a/docs/sections/crossref-en_source.html +++ b/docs/sections/crossref-en_source.html @@ -5158,7 +5158,7 @@

Licensec

IRI: https://w3id.org/idsa/core/License

- Class of Licences to be referred to by Resources. + Class of licenses to be referred to by Resources.
has super-classes
@@ -8175,7 +8175,7 @@

VocabularyData.c

IRI: https://w3id.org/idsa/core/VocabularyData

- Class for Vocabularies used to describe domain-specific ids:Resources and ids:Representations. + Class for Vocabularies used to describe domain-specific ids:Resources and dcat:Distribution.
has super-classes
@@ -9511,7 +9511,7 @@

Custom Licenseop
has super-properties
- licence + license op
has domain
@@ -11794,7 +11794,7 @@

Standard Licenseop
has super-properties
- licence + license op
has domain
@@ -12487,7 +12487,7 @@

Contract datedp

IRI: https://w3id.org/idsa/core/contractDate

- Date of singing the Contract. + Date of signing the Contract.
@@ -12986,7 +12986,7 @@

has durationdp

IRI: https://w3id.org/idsa/core/hasDuration

- Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration. + Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration.
diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 301cc9f4..200482a2 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -2430,7 +2430,7 @@ "@id" : "http://purl.org/dc/terms/language", "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ] }, { - "@id" : "http://purl.org/dc/terms/licence", + "@id" : "http://purl.org/dc/terms/license", "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ] }, { "@id" : "http://purl.org/dc/terms/modified", @@ -2817,7 +2817,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity." + "@value" : "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -3111,7 +3111,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity." + "@value" : "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -3122,7 +3122,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp." + "@value" : "Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp." } ] }, { "@id" : "https://w3id.org/idsa/code/BG", @@ -3439,7 +3439,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself." + "@value" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -3452,7 +3452,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval." + "@value" : "Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval." } ] }, { "@id" : "https://w3id.org/idsa/code/CONTINUOUS", @@ -3715,7 +3715,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity." + "@value" : "Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity." } ] }, { "@id" : "https://w3id.org/idsa/code/DURING", @@ -3733,7 +3733,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval." + "@value" : "Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval." } ] }, { "@id" : "https://w3id.org/idsa/code/DV", @@ -3941,7 +3941,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty." + "@value" : "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty." } ] }, { "@id" : "https://w3id.org/idsa/code/FINISHES", @@ -3961,7 +3961,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty." + "@value" : "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty." } ] }, { "@id" : "https://w3id.org/idsa/code/FJ", @@ -4624,7 +4624,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration." + "@value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration." } ] }, { "@id" : "https://w3id.org/idsa/code/LONGER_EQ", @@ -4639,7 +4639,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration." + "@value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration." } ] }, { "@id" : "https://w3id.org/idsa/code/LT", @@ -5162,14 +5162,14 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty." + "@value" : "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty." } ] }, { "@id" : "https://w3id.org/idsa/code/OVERLAPS", "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If an ids:Interval T1 overlapps another ids:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2." + "@value" : "If a time:Interval T1 overlapps another time:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -5180,7 +5180,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty." + "@value" : "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty." } ] }, { "@id" : "https://w3id.org/idsa/code/PA", @@ -5309,7 +5309,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/LeftOperand" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand ids:TemporalEntity." + "@value" : "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand time:TemporalEntity." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -5507,9 +5507,9 @@ "@language" : "en", "@value" : "The asks to [ids:use|ids:read|...] \r\n\t\tits [|].\r\n\t\tOptional: This only holds if is [equal|lower than|greater than] the [|].\r\n\t\tOptional: This only holds if also is [equal|lower than|greater than] the [|]." }, { - "@value" : "@prefix ids: .\r\n\t\t@prefix idsc: .\r\n\t\t@prefix rdf: .\r\n\t\t@prefix rdfs: .\r\n\t\t@prefix xsd: .\r\n\r\n\t\t[| [] ] a ids:ContractRequest ;\r\n\t\t\tids:uid ;\r\n\t\t\tids:refersTo idsc:RequestTemplate ;\r\n\t\t\tids:target [|] ;\r\n\t\t\tids:consumer ;\r\n\t\t\tids:provider \r\n\t\t\t[ids:permission [\r\n\t\t\t\tids:action ids:[use|read|...] ;\r\n\t\t\t\tids:constraint [\r\n\t\t\t\t\tids:leftOperand ;\r\n\t\t\t\t\tids:operator [ids:eq|ids:lt|ids:gt] ;\r\n\t\t\t\t\tids:rightOperand [|]\r\n\t\t\t\t]\r\n\t\t\t] ;]*\r\n\t\t." + "@value" : "@prefix ids: .\r\n\t\t@prefix idsc: .\r\n\t\t@prefix rdf: .\r\n\t\t@prefix rdfs: .\r\n\t\t@prefix xsd: .\r\n\r\n\t\t[| [] ] a ids:ContractRequest ;\r\n\t\t\tids:uid ;\r\n\t\t\tids:refersTo idsc:RequestTemplate ;\r\n\t\t\tids:target [|] ;\r\n\t\t\tids:consumer ;\r\n\t\t\tids:provider \r\n\t\t\t[ids:permission [\r\n\t\t\t\tids:action ids:[use|read|...] ;\r\n\t\t\t\todrl:constraint [\r\n\t\t\t\t\tids:leftOperand ;\r\n\t\t\t\t\tids:operator [ids:eq|ids:lt|ids:gt] ;\r\n\t\t\t\t\tids:rightOperand [|]\r\n\t\t\t\t]\r\n\t\t\t] ;]*\r\n\t\t." }, { - "@value" : "{ \r\n\t\t\"@context\": \"https://w3id.org/idsa/contexts/context.jsonld\",\r\n\t\t\"@type\": \"ContractRequest\", \r\n\t\t\"uid\": \"\", \r\n\t\t\"refersTo\": \"idsc:RequestTemplate\" ,\r\n\t\t\"target\": \"[|]\",\r\n\t\t\"ids:provider\": \"\",\r\n\t\t\"ids:consumer\": \"\", \r\n\t\t\"ids:permission\": {\r\n\t\t\t\"ids:action\": \"[ids:use|ids:read|...]\" ,\r\n\t\t\t[\"ids:constraint\" : { \r\n\t\t\t\t\t \"ids:leftOperand\" : \"\",\r\n\t\t\t\t\t \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\",\r\n\t\t\t\t\t \"ids:rightOperand\" : \"[|]\"\r\n\t\t\t } [,]]*\r\n\t\t} }" + "@value" : "{ \r\n\t\t\"@context\": \"https://w3id.org/idsa/contexts/context.jsonld\",\r\n\t\t\"@type\": \"ContractRequest\", \r\n\t\t\"uid\": \"\", \r\n\t\t\"refersTo\": \"idsc:RequestTemplate\" ,\r\n\t\t\"target\": \"[|]\",\r\n\t\t\"ids:provider\": \"\",\r\n\t\t\"ids:consumer\": \"\", \r\n\t\t\"ids:permission\": {\r\n\t\t\t\"ids:action\": \"[ids:use|ids:read|...]\" ,\r\n\t\t\t[\"odrl:constraint\" : { \r\n\t\t\t\t\t \"ids:leftOperand\" : \"\",\r\n\t\t\t\t\t \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\",\r\n\t\t\t\t\t \"ids:rightOperand\" : \"[|]\"\r\n\t\t\t } [,]]*\r\n\t\t} }" } ] }, { "@id" : "https://w3id.org/idsa/code/SA", @@ -5708,7 +5708,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration." + "@value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration." } ] }, { "@id" : "https://w3id.org/idsa/code/SHORTER_EQ", @@ -5723,7 +5723,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration." + "@value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration." } ] }, { "@id" : "https://w3id.org/idsa/code/SI", @@ -5887,7 +5887,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of ids:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2." + "@value" : "Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of time:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2." } ] }, { "@id" : "https://w3id.org/idsa/code/STARTS", @@ -5905,7 +5905,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not an ids:Interval as then the end of T1 can never be idsc:BEFORE the end of T2" + "@value" : "Compares an instance of time:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not a time:Interval as then the end of T1 can never be idsc:BEFORE the end of T2" } ] }, { "@id" : "https://w3id.org/idsa/code/STATE", @@ -6018,7 +6018,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2." + "@value" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -6029,14 +6029,14 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal." + "@value" : "Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal." } ] }, { "@id" : "https://w3id.org/idsa/code/TEMPORAL_EQUALS", "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal)." + "@value" : "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal)." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -6954,7 +6954,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#Class", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "An Asset is either an ids:Resource, an ids:Representation, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract." + "@value" : "An Asset is either an ids:Resource, an dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -6972,7 +6972,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "An AssetCollection is a bracket object combining several ids:Assets." + "@value" : "An AssetCollection is a bracket object combining several odrl:Asset." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -8071,7 +8071,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#Class", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "A relative temporal entity of a certain length. Different to ids:Interval, the starting point is not (yet) defined. Specifying a starting or ending point automatically transformes an instance of ids:DurationEntity to an ids:Interval." + "@value" : "A relative temporal entity of a certain length. Different to time:Interval, the starting point is not (yet) defined. Specifying a starting or ending point automatically transformes an instance of ids:DurationEntity to a time:Interval." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -8638,7 +8638,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "Class of Licences to be referred to by Resources." + "@value" : "Class of licenses to be referred to by Resources." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -10263,7 +10263,7 @@ "@value" : "The operation relating to the asset for which permission is being granted." }, { "@language" : "en", - "@value" : "The sequence of executed actions on the data object. Must be an element of ids:Action." + "@value" : "The sequence of executed actions on the data object. Must be an element of odrl:Action." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Rule" @@ -10389,7 +10389,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "@value" : "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/LogicalConstraint" @@ -10561,7 +10561,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "Conditions which specify whether an arbitrary ids:Asset is a member of this AssetCollection." + "@value" : "Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection." }, { "@language" : "en", "@value" : "Constraint that refines a (composite) Digital Content." @@ -11139,7 +11139,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "Absolute datetime of singing the Contract." + "@value" : "Absolute datetime of signing the Contract." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Contract" @@ -11302,7 +11302,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself." + "@value" : "The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "_:genid-nodeid-node1eg0mg14fx31" @@ -11382,7 +11382,7 @@ "@id" : "http://www.w3.org/2001/XMLSchema#anyURI" } ], "http://www.w3.org/2000/01/rdf-schema#subPropertyOf" : [ { - "@id" : "http://purl.org/dc/terms/licence" + "@id" : "http://purl.org/dc/terms/license" } ] }, { "@id" : "https://w3id.org/idsa/core/data", @@ -11835,7 +11835,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration." + "@value" : "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/TemporalEntity" @@ -12606,7 +12606,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "@value" : "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/LogicalConstraint" @@ -13316,7 +13316,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint." + "@value" : "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Constraint" @@ -13336,7 +13336,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint." + "@value" : "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Constraint" @@ -13647,7 +13647,7 @@ "@id" : "https://www.wikidata.org/wiki/Q79719" } ], "http://www.w3.org/2000/01/rdf-schema#subPropertyOf" : [ { - "@id" : "http://purl.org/dc/terms/licence" + "@id" : "http://purl.org/dc/terms/license" } ] }, { "@id" : "https://w3id.org/idsa/core/sub", @@ -13691,7 +13691,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The subject of the policy statement (ids:Rule)." + "@value" : "The subject of the policy statement (odrl:Rule)." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Rule" @@ -14010,7 +14010,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "@value" : "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/LogicalConstraint" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 301cc9f4..0845b15b 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -2430,7 +2430,7 @@ "@id" : "http://purl.org/dc/terms/language", "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ] }, { - "@id" : "http://purl.org/dc/terms/licence", + "@id" : "http://purl.org/dc/terms/license", "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ] }, { "@id" : "http://purl.org/dc/terms/modified", @@ -2817,7 +2817,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity." + "@value" : "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -3111,7 +3111,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity." + "@value" : "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -3122,7 +3122,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp." + "@value" : "Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp." } ] }, { "@id" : "https://w3id.org/idsa/code/BG", @@ -3439,7 +3439,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself." + "@value" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -3452,7 +3452,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval." + "@value" : "Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval." } ] }, { "@id" : "https://w3id.org/idsa/code/CONTINUOUS", @@ -3715,7 +3715,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity." + "@value" : "Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity." } ] }, { "@id" : "https://w3id.org/idsa/code/DURING", @@ -3733,7 +3733,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval." + "@value" : "Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval." } ] }, { "@id" : "https://w3id.org/idsa/code/DV", @@ -3941,7 +3941,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty." + "@value" : "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty." } ] }, { "@id" : "https://w3id.org/idsa/code/FINISHES", @@ -3961,7 +3961,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty." + "@value" : "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty." } ] }, { "@id" : "https://w3id.org/idsa/code/FJ", @@ -4624,7 +4624,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration." + "@value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration." } ] }, { "@id" : "https://w3id.org/idsa/code/LONGER_EQ", @@ -4639,7 +4639,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration." + "@value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration." } ] }, { "@id" : "https://w3id.org/idsa/code/LT", @@ -5162,14 +5162,14 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty." + "@value" : "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty." } ] }, { "@id" : "https://w3id.org/idsa/code/OVERLAPS", "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If an ids:Interval T1 overlapps another ids:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2." + "@value" : "If an time:Interval T1 overlapps another time:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -5180,7 +5180,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty." + "@value" : "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty." } ] }, { "@id" : "https://w3id.org/idsa/code/PA", @@ -5309,7 +5309,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/LeftOperand" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand ids:TemporalEntity." + "@value" : "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand time:TemporalEntity." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -5507,9 +5507,9 @@ "@language" : "en", "@value" : "The asks to [ids:use|ids:read|...] \r\n\t\tits [|].\r\n\t\tOptional: This only holds if is [equal|lower than|greater than] the [|].\r\n\t\tOptional: This only holds if also is [equal|lower than|greater than] the [|]." }, { - "@value" : "@prefix ids: .\r\n\t\t@prefix idsc: .\r\n\t\t@prefix rdf: .\r\n\t\t@prefix rdfs: .\r\n\t\t@prefix xsd: .\r\n\r\n\t\t[| [] ] a ids:ContractRequest ;\r\n\t\t\tids:uid ;\r\n\t\t\tids:refersTo idsc:RequestTemplate ;\r\n\t\t\tids:target [|] ;\r\n\t\t\tids:consumer ;\r\n\t\t\tids:provider \r\n\t\t\t[ids:permission [\r\n\t\t\t\tids:action ids:[use|read|...] ;\r\n\t\t\t\tids:constraint [\r\n\t\t\t\t\tids:leftOperand ;\r\n\t\t\t\t\tids:operator [ids:eq|ids:lt|ids:gt] ;\r\n\t\t\t\t\tids:rightOperand [|]\r\n\t\t\t\t]\r\n\t\t\t] ;]*\r\n\t\t." + "@value" : "@prefix ids: .\r\n\t\t@prefix idsc: .\r\n\t\t@prefix rdf: .\r\n\t\t@prefix rdfs: .\r\n\t\t@prefix xsd: .\r\n\r\n\t\t[| [] ] a ids:ContractRequest ;\r\n\t\t\tids:uid ;\r\n\t\t\tids:refersTo idsc:RequestTemplate ;\r\n\t\t\tids:target [|] ;\r\n\t\t\tids:consumer ;\r\n\t\t\tids:provider \r\n\t\t\t[ids:permission [\r\n\t\t\t\tids:action ids:[use|read|...] ;\r\n\t\t\t\todrl:Constraint [\r\n\t\t\t\t\tids:leftOperand ;\r\n\t\t\t\t\tids:operator [ids:eq|ids:lt|ids:gt] ;\r\n\t\t\t\t\tids:rightOperand [|]\r\n\t\t\t\t]\r\n\t\t\t] ;]*\r\n\t\t." }, { - "@value" : "{ \r\n\t\t\"@context\": \"https://w3id.org/idsa/contexts/context.jsonld\",\r\n\t\t\"@type\": \"ContractRequest\", \r\n\t\t\"uid\": \"\", \r\n\t\t\"refersTo\": \"idsc:RequestTemplate\" ,\r\n\t\t\"target\": \"[|]\",\r\n\t\t\"ids:provider\": \"\",\r\n\t\t\"ids:consumer\": \"\", \r\n\t\t\"ids:permission\": {\r\n\t\t\t\"ids:action\": \"[ids:use|ids:read|...]\" ,\r\n\t\t\t[\"ids:constraint\" : { \r\n\t\t\t\t\t \"ids:leftOperand\" : \"\",\r\n\t\t\t\t\t \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\",\r\n\t\t\t\t\t \"ids:rightOperand\" : \"[|]\"\r\n\t\t\t } [,]]*\r\n\t\t} }" + "@value" : "{ \r\n\t\t\"@context\": \"https://w3id.org/idsa/contexts/context.jsonld\",\r\n\t\t\"@type\": \"ContractRequest\", \r\n\t\t\"uid\": \"\", \r\n\t\t\"refersTo\": \"idsc:RequestTemplate\" ,\r\n\t\t\"target\": \"[|]\",\r\n\t\t\"ids:provider\": \"\",\r\n\t\t\"ids:consumer\": \"\", \r\n\t\t\"ids:permission\": {\r\n\t\t\t\"ids:action\": \"[ids:use|ids:read|...]\" ,\r\n\t\t\t[\"odrl:Constraint\" : { \r\n\t\t\t\t\t \"ids:leftOperand\" : \"\",\r\n\t\t\t\t\t \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\",\r\n\t\t\t\t\t \"ids:rightOperand\" : \"[|]\"\r\n\t\t\t } [,]]*\r\n\t\t} }" } ] }, { "@id" : "https://w3id.org/idsa/code/SA", @@ -5708,7 +5708,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration." + "@value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration." } ] }, { "@id" : "https://w3id.org/idsa/code/SHORTER_EQ", @@ -5723,7 +5723,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration." + "@value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration." } ] }, { "@id" : "https://w3id.org/idsa/code/SI", @@ -5887,7 +5887,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of ids:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2." + "@value" : "Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of time:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2." } ] }, { "@id" : "https://w3id.org/idsa/code/STARTS", @@ -5905,7 +5905,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not an ids:Interval as then the end of T1 can never be idsc:BEFORE the end of T2" + "@value" : "Compares an instance of time:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not a time:Interval as then the end of T1 can never be idsc:BEFORE the end of T2" } ] }, { "@id" : "https://w3id.org/idsa/code/STATE", @@ -6018,7 +6018,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2." + "@value" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -6029,14 +6029,14 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@value" : "Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal." + "@value" : "Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal." } ] }, { "@id" : "https://w3id.org/idsa/code/TEMPORAL_EQUALS", "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://w3id.org/idsa/core/BinaryOperator" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal)." + "@value" : "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal)." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -6954,7 +6954,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#Class", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "An Asset is either an ids:Resource, an ids:Representation, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract." + "@value" : "An Asset is either an ids:Resource, an dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -6972,7 +6972,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "An AssetCollection is a bracket object combining several ids:Assets." + "@value" : "An AssetCollection is a bracket object combining several odrl:Asset." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -8071,7 +8071,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#Class", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "A relative temporal entity of a certain length. Different to ids:Interval, the starting point is not (yet) defined. Specifying a starting or ending point automatically transformes an instance of ids:DurationEntity to an ids:Interval." + "@value" : "A relative temporal entity of a certain length. Different to time:Interval, the starting point is not (yet) defined. Specifying a starting or ending point automatically transformes an instance of ids:DurationEntity to a time:Interval." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -8638,7 +8638,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "Class of Licences to be referred to by Resources." + "@value" : "Class of licenses to be referred to by Resources." } ], "http://www.w3.org/2000/01/rdf-schema#label" : [ { "@language" : "en", @@ -10263,7 +10263,7 @@ "@value" : "The operation relating to the asset for which permission is being granted." }, { "@language" : "en", - "@value" : "The sequence of executed actions on the data object. Must be an element of ids:Action." + "@value" : "The sequence of executed actions on the data object. Must be an element of odrl:Action." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Rule" @@ -10389,7 +10389,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "@value" : "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/LogicalConstraint" @@ -10561,7 +10561,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "Conditions which specify whether an arbitrary ids:Asset is a member of this AssetCollection." + "@value" : "Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection." }, { "@language" : "en", "@value" : "Constraint that refines a (composite) Digital Content." @@ -11139,7 +11139,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "Absolute datetime of singing the Contract." + "@value" : "Absolute datetime of signing the Contract." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Contract" @@ -11302,7 +11302,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself." + "@value" : "The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "_:genid-nodeid-node1eg0mg14fx31" @@ -11382,7 +11382,7 @@ "@id" : "http://www.w3.org/2001/XMLSchema#anyURI" } ], "http://www.w3.org/2000/01/rdf-schema#subPropertyOf" : [ { - "@id" : "http://purl.org/dc/terms/licence" + "@id" : "http://purl.org/dc/terms/license" } ] }, { "@id" : "https://w3id.org/idsa/core/data", @@ -11835,7 +11835,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration." + "@value" : "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/TemporalEntity" @@ -12606,7 +12606,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "@value" : "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/LogicalConstraint" @@ -13316,7 +13316,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint." + "@value" : "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Constraint" @@ -13336,7 +13336,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint." + "@value" : "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Constraint" @@ -13647,7 +13647,7 @@ "@id" : "https://www.wikidata.org/wiki/Q79719" } ], "http://www.w3.org/2000/01/rdf-schema#subPropertyOf" : [ { - "@id" : "http://purl.org/dc/terms/licence" + "@id" : "http://purl.org/dc/terms/license" } ] }, { "@id" : "https://w3id.org/idsa/core/sub", @@ -13691,7 +13691,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty", "http://www.w3.org/2002/07/owl#NamedIndividual" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The subject of the policy statement (ids:Rule)." + "@value" : "The subject of the policy statement (odrl:Rule)." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Rule" @@ -14010,7 +14010,7 @@ "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty", "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#comment" : [ { "@language" : "en", - "@value" : "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "@value" : "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/LogicalConstraint" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 756004cf..fabf84c0 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -509,7 +509,7 @@ xsd:duration rdf:type rdfs:Datatype . rdfs:domain , ; rdfs:range ; - rdfs:comment "Conditions which specify whether an arbitrary ids:Asset is a member of this AssetCollection."@en , + rdfs:comment "Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection."@en , "Constraint that refines a (composite) Digital Content."@en ; rdfs:label "asset refinement"@en , "content refinement"@en . @@ -1419,8 +1419,8 @@ xsd:duration rdf:type rdfs:Datatype . rdf:type owl:DatatypeProperty . -### http://purl.org/dc/terms/licence - rdf:type owl:DatatypeProperty . +### http://purl.org/dc/terms/license + rdf:type owl:DatatypeProperty . ### http://purl.org/dc/terms/modified @@ -1550,7 +1550,7 @@ xsd:duration rdf:type rdfs:Datatype . rdf:type owl:DatatypeProperty ; rdfs:domain ; rdfs:range xsd:dateTimeStamp ; - rdfs:comment "Absolute datetime of singing the Contract."@en ; + rdfs:comment "Absolute datetime of signing the Contract."@en ; rdfs:label "Contract date"@en . @@ -1595,7 +1595,7 @@ xsd:duration rdf:type rdfs:Datatype . rdfs:subPropertyOf ; rdfs:domain _:genid-nodeid-node1eg0mg14fx31 ; rdfs:range xsd:dateTimeStamp ; - rdfs:comment "The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself."@en ; + rdfs:comment "The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself."@en ; rdfs:label "created"@en ; rdfs:seeAlso . @@ -1611,7 +1611,7 @@ xsd:duration rdf:type rdfs:Datatype . ### https://w3id.org/idsa/core/customLicense rdf:type owl:DatatypeProperty ; - rdfs:subPropertyOf ; + rdfs:subPropertyOf ; rdfs:domain ; rdfs:range xsd:anyURI ; rdfs:comment "URL reference to a custom license regulating the general usage of the Resource."@en ; @@ -2057,7 +2057,7 @@ xsd:duration rdf:type rdfs:Datatype . ### https://w3id.org/idsa/core/standardLicense rdf:type owl:DatatypeProperty ; - rdfs:subPropertyOf ; + rdfs:subPropertyOf ; rdfs:domain ; rdfs:range xsd:anyURI ; rdfs:comment """ @@ -2568,7 +2568,7 @@ owl:Class rdf:type owl:Class . rdf:type owl:Class ; rdfs:subClassOf , ; - rdfs:comment "An AssetCollection is a bracket object combining several ids:Assets."@en ; + rdfs:comment "An AssetCollection is a bracket object combining several odrl:Asset."@en ; rdfs:label "Asset Collection"@en . @@ -3238,7 +3238,7 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/core/License rdf:type owl:Class ; rdfs:subClassOf ; - rdfs:comment "Class of Licences to be referred to by Resources."@en ; + rdfs:comment "Class of licenses to be referred to by Resources."@en ; rdfs:label "License"@en . @@ -5069,7 +5069,7 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/AFTER rdf:type owl:NamedIndividual , ; - rdfs:comment "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity."@en ; + rdfs:comment "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an time:TemporalEntity."@en ; rdfs:label "after"@en ; rdfs:seeAlso . @@ -5281,10 +5281,10 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/BEFORE rdf:type owl:NamedIndividual , ; - rdfs:comment "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity."@en ; + rdfs:comment "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an time:TemporalEntity."@en ; rdfs:label "before"@en ; rdfs:seeAlso ; - "Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp."@en . + "Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp."@en . ### https://w3id.org/idsa/code/BG @@ -5499,11 +5499,11 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/CONTAINS rdf:type owl:NamedIndividual , ; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself."@en ; rdfs:label "contains"@en ; rdfs:seeAlso , ; - "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . + "Compares an instance of time:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . ### https://w3id.org/idsa/code/CONTINUOUS @@ -5660,7 +5660,7 @@ owl:Class rdf:type owl:Class . rdfs:comment "If a temporal entity T1 has the same duration as another temporal entity T2, then their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "has same duration"@en ; rdfs:seeAlso ; - "Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity."@en . + "Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity."@en . ### https://w3id.org/idsa/code/DURING @@ -5669,7 +5669,7 @@ owl:Class rdf:type owl:Class . rdfs:comment "If a TemporalEntity T1 is during another TemporalEntity T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is before the end of T2."@en ; rdfs:label "during"@en ; rdfs:seeAlso ; - "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . + "Compares an instance of time:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . ### https://w3id.org/idsa/code/DV @@ -6336,7 +6336,7 @@ owl:Class rdf:type owl:Class . ; rdfs:comment "If a temporal entity T1 is longer than another temporal entity T2, then the length or duration of T1 is bigger. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "longer"@en ; - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . ### https://w3id.org/idsa/code/LONGER_EQ @@ -6344,7 +6344,7 @@ owl:Class rdf:type owl:Class . ; rdfs:comment "If temporal entity T1 is longer or equals than another temporal entity T2, then the length or duration of T1 is bigger or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "longer or equals"@en ; - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . ### https://w3id.org/idsa/code/LT @@ -6809,7 +6809,7 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/POLICY_EVALUATION_TIME rdf:type owl:NamedIndividual , ; - rdfs:comment "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand ids:TemporalEntity."@en ; + rdfs:comment "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand time:TemporalEntity."@en ; rdfs:label "policy evaluation time"@en ; . @@ -6955,9 +6955,9 @@ owl:Class rdf:type owl:Class . ids:target [|] ; ids:consumer ; ids:provider - [ids:permission [ + [odrl:permission[ ids:action ids:[use|read|...] ; - ids:constraint [ + odrl:Constraint [ ids:leftOperand ; ids:operator [ids:eq|ids:lt|ids:gt] ; ids:rightOperand [|] @@ -6974,7 +6974,7 @@ owl:Class rdf:type owl:Class . \"ids:consumer\": \"\", \"ids:permission\": { \"ids:action\": \"[ids:use|ids:read|...]\" , - [\"ids:constraint\" : { + [\"odrl:Constraint\" : { \"ids:leftOperand\" : \"\", \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\", \"ids:rightOperand\" : \"[|]\" @@ -7109,7 +7109,7 @@ owl:Class rdf:type owl:Class . ; rdfs:comment "If a temporal entity T1 is shorter than another temporal entity T2, then the length or duration of T1 is shorter. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "shorter"@en ; - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . ### https://w3id.org/idsa/code/SHORTER_EQ @@ -7117,7 +7117,7 @@ owl:Class rdf:type owl:Class . ; rdfs:comment "If a temporal entity T1 is shorter or equals than another temporal entity T2, then the length or duration of T1 is shorter or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "shorter or equals"@en ; - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . ### https://w3id.org/idsa/code/SI @@ -7325,16 +7325,16 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/TEMPORAL_DISJOINT rdf:type owl:NamedIndividual , ; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2."@en ; rdfs:label "disjoint"@en ; rdfs:seeAlso ; - "Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal."@en . + "Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal."@en . ### https://w3id.org/idsa/code/TEMPORAL_EQUALS rdf:type owl:NamedIndividual , ; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal)."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal)."@en ; rdfs:label "interval equals"@en ; rdfs:seeAlso ; "Compares an instance of TemporalEntity or xsd:dateTimeStamp Literal to another TemporalEntity or xsd:dateTimeStamp. Evaluates to false if a DurationEntity is involved."@en . @@ -8667,7 +8667,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "Artifact Request Message"@en . - rdfs:comment "An Asset is either an ids:Resource, an ids:Representation, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract."@en ; + rdfs:comment "An Asset is either an ids:Resource, an dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract."@en ; rdfs:label "Asset"@en . @@ -8928,7 +8928,7 @@ _:AnnaKasprzik rdf:type , rdfs:comment "The operation relating to the asset for which permission is being granted."@en , - "The sequence of executed actions on the data object. Must be an element of ids:Action."@en ; + "The sequence of executed actions on the data object. Must be an element of odrl:Action."@en ; rdfs:label "action"@en , "applied actions"@en . @@ -8949,7 +8949,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "affected Resource"@en . - rdfs:comment "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en ; + rdfs:comment "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "and operand"@en . @@ -9022,7 +9022,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "has Agent"@en . - rdfs:comment "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration."@en ; + rdfs:comment "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration."@en ; rdfs:label "has duration"@en ; rdfs:seeAlso . @@ -9071,7 +9071,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "operator"@en . - rdfs:comment "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en ; + rdfs:comment "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "or operand"@en . @@ -9139,11 +9139,11 @@ _:AnnaKasprzik rdf:type , rdfs:label "requesting application"@en . - rdfs:comment "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint."@en ; + rdfs:comment "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint."@en ; rdfs:label "rightOperand"@en . - rdfs:comment "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint."@en ; + rdfs:comment "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint."@en ; rdfs:label "rightOperandReference"@en . @@ -9159,7 +9159,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "sovereign"@en . - rdfs:comment "The subject of the policy statement (ids:Rule)."@en ; + rdfs:comment "The subject of the policy statement (odrl:Rule)."@en ; rdfs:label "target"@en . @@ -9183,7 +9183,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "usage duration"@en . - rdfs:comment "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en ; + rdfs:comment "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "exclusive or"@en . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index b6e18a49..c9a11aee 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -420,7 +420,7 @@ . . . - "Conditions which specify whether an arbitrary ids:Asset is a member of this AssetCollection."@en . + "Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection."@en . "Constraint that refines a (composite) Digital Content."@en . "asset refinement"@en . "content refinement"@en . @@ -1230,8 +1230,8 @@ _:genid9 . # -# http://purl.org/dc/terms/licence - . +# http://purl.org/dc/terms/license + . # # http://purl.org/dc/terms/modified . @@ -1340,7 +1340,7 @@ _:genid9 . . . - "Absolute datetime of singing the Contract."@en . + "Absolute datetime of signing the Contract."@en . "Contract date"@en . # # https://w3id.org/idsa/core/contractEnd @@ -1381,7 +1381,7 @@ _:genid9 <_:genid-nodeid-node1eg0mg14fx31> . <_:genid-nodeid-node1eg0mg14fx31> . . - "The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself."@en . + "The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself."@en . "created"@en . . # @@ -1395,7 +1395,7 @@ _:genid9 . - . + . . . "URL reference to a custom license regulating the general usage of the Resource."@en . @@ -1788,7 +1788,7 @@ _:genid12 . - . + . . . "\r\n Reference to a well-known License regulating the general usage of the Resource.\r\n Check wikidata license documentation for an extensive list of licenses.\r\n License IRI should refer to the direct of link for a given standard license,\r\n e.g., MIT license (https://www.wikidata.org/wiki/Q334661). The label of the resolved wikidata license IRI can be used to\r\n present the license in human-readable form.\r\n "@en . @@ -2212,7 +2212,7 @@ _:genid16 . . . - "An AssetCollection is a bracket object combining several ids:Assets."@en . + "An AssetCollection is a bracket object combining several odrl:Asset."@en . "Asset Collection"@en . # # https://w3id.org/idsa/core/Audience @@ -2815,7 +2815,7 @@ _:genid33 . . - "Class of Licences to be referred to by Resources."@en . + "Class of licenses to be referred to by Resources."@en . "License"@en . # # https://w3id.org/idsa/core/LocalDataConfidentialityGuarantee @@ -4549,7 +4549,7 @@ _:genid47 . . - "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity."@en . + "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity."@en . "after"@en . . # @@ -4711,10 +4711,10 @@ _:genid47 . . - "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity."@en . + "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity."@en . "before"@en . . - "Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp."@en . + "Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp."@en . # # https://w3id.org/idsa/code/BG . @@ -4884,11 +4884,11 @@ _:genid47 . . - "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself."@en . + "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself."@en . "contains"@en . . . - "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . + "Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval."@en . # # https://w3id.org/idsa/code/CONTINUOUS . @@ -5016,7 +5016,7 @@ _:genid47 "If a temporal entity T1 has the same duration as another temporal entity T2, then their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en . "has same duration"@en . . - "Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity."@en . + "Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity."@en . # # https://w3id.org/idsa/code/DURING . @@ -5024,7 +5024,7 @@ _:genid47 "If a TemporalEntity T1 is during another TemporalEntity T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is before the end of T2."@en . "during"@en . . - "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . + "Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval."@en . # # https://w3id.org/idsa/code/DV . @@ -5137,7 +5137,7 @@ _:genid47 "If an interval T1 is finished by another interval T2, then the beginning of T1 is before the beginning of T2, and the end of T1 is coincident with the end of T2."@en . "finished by"@en . . - "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty."@en . + "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty."@en . # # https://w3id.org/idsa/code/FINISHES . @@ -5146,7 +5146,7 @@ _:genid47 "finishes"@en . . . - "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty."@en . + "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty."@en . # # https://w3id.org/idsa/code/FJ . @@ -5515,14 +5515,14 @@ _:genid47 . "If a temporal entity T1 is longer than another temporal entity T2, then the length or duration of T1 is bigger. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en . "longer"@en . - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . # # https://w3id.org/idsa/code/LONGER_EQ . . "If temporal entity T1 is longer or equals than another temporal entity T2, then the length or duration of T1 is bigger or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en . "longer or equals"@en . - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . # # https://w3id.org/idsa/code/LT . @@ -5802,15 +5802,15 @@ _:genid47 "If a interval T1 is overlapped another proper interval T2, then the beginning of T1 is before the beginning of T2, the end of T1 is after the beginning of T2, and the end of T1 is before the end of T2."@en . "overlapped by"@en . . - "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty."@en . + "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty."@en . # # https://w3id.org/idsa/code/OVERLAPS . . - "If an ids:Interval T1 overlapps another ids:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2."@en . + "If a time:Interval T1 overlapps another time:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2."@en . "overlaps"@en . . - "Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty."@en . + "Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty."@en . # # https://w3id.org/idsa/code/PA . @@ -5887,7 +5887,7 @@ _:genid47 . . - "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand ids:TemporalEntity."@en . + "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand time:TemporalEntity."@en . "policy evaluation time"@en . . # @@ -5991,8 +5991,8 @@ _:genid47 "A generic template for policy requests with one permission and several constraints" . "Policy Request Template" . "The asks to [ids:use|ids:read|...] \r\n\t\tits [|].\r\n\t\tOptional: This only holds if is [equal|lower than|greater than] the [|].\r\n\t\tOptional: This only holds if also is [equal|lower than|greater than] the [|]."@en . - "@prefix ids: .\r\n\t\t@prefix idsc: .\r\n\t\t@prefix rdf: .\r\n\t\t@prefix rdfs: .\r\n\t\t@prefix xsd: .\r\n\r\n\t\t[| [] ] a ids:ContractRequest ;\r\n\t\t\tids:uid ;\r\n\t\t\tids:refersTo idsc:RequestTemplate ;\r\n\t\t\tids:target [|] ;\r\n\t\t\tids:consumer ;\r\n\t\t\tids:provider \r\n\t\t\t[ids:permission [\r\n\t\t\t\tids:action ids:[use|read|...] ;\r\n\t\t\t\tids:constraint [\r\n\t\t\t\t\tids:leftOperand ;\r\n\t\t\t\t\tids:operator [ids:eq|ids:lt|ids:gt] ;\r\n\t\t\t\t\tids:rightOperand [|]\r\n\t\t\t\t]\r\n\t\t\t] ;]*\r\n\t\t." . - "{ \r\n\t\t\"@context\": \"https://w3id.org/idsa/contexts/context.jsonld\",\r\n\t\t\"@type\": \"ContractRequest\", \r\n\t\t\"uid\": \"\", \r\n\t\t\"refersTo\": \"idsc:RequestTemplate\" ,\r\n\t\t\"target\": \"[|]\",\r\n\t\t\"ids:provider\": \"\",\r\n\t\t\"ids:consumer\": \"\", \r\n\t\t\"ids:permission\": {\r\n\t\t\t\"ids:action\": \"[ids:use|ids:read|...]\" ,\r\n\t\t\t[\"ids:constraint\" : { \r\n\t\t\t\t\t \"ids:leftOperand\" : \"\",\r\n\t\t\t\t\t \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\",\r\n\t\t\t\t\t \"ids:rightOperand\" : \"[|]\"\r\n\t\t\t } [,]]*\r\n\t\t} }" . + "@prefix ids: .\r\n\t\t@prefix idsc: .\r\n\t\t@prefix rdf: .\r\n\t\t@prefix rdfs: .\r\n\t\t@prefix xsd: .\r\n\r\n\t\t[| [] ] a ids:ContractRequest ;\r\n\t\t\tids:uid ;\r\n\t\t\tids:refersTo idsc:RequestTemplate ;\r\n\t\t\tids:target [|] ;\r\n\t\t\tids:consumer ;\r\n\t\t\tids:provider \r\n\t\t\t[ids:permission [\r\n\t\t\t\tids:action ids:[use|read|...] ;\r\n\t\t\t\todrl:constraint [\r\n\t\t\t\t\tids:leftOperand ;\r\n\t\t\t\t\tids:operator [ids:eq|ids:lt|ids:gt] ;\r\n\t\t\t\t\tids:rightOperand [|]\r\n\t\t\t\t]\r\n\t\t\t] ;]*\r\n\t\t." . + "{ \r\n\t\t\"@context\": \"https://w3id.org/idsa/contexts/context.jsonld\",\r\n\t\t\"@type\": \"ContractRequest\", \r\n\t\t\"uid\": \"\", \r\n\t\t\"refersTo\": \"idsc:RequestTemplate\" ,\r\n\t\t\"target\": \"[|]\",\r\n\t\t\"ids:provider\": \"\",\r\n\t\t\"ids:consumer\": \"\", \r\n\t\t\"ids:permission\": {\r\n\t\t\t\"ids:action\": \"[ids:use|ids:read|...]\" ,\r\n\t\t\t[\"odrl:constraint\" : { \r\n\t\t\t\t\t \"ids:leftOperand\" : \"\",\r\n\t\t\t\t\t \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\",\r\n\t\t\t\t\t \"ids:rightOperand\" : \"[|]\"\r\n\t\t\t } [,]]*\r\n\t\t} }" . # # https://w3id.org/idsa/code/SA . @@ -6094,14 +6094,14 @@ _:genid47 . "If a temporal entity T1 is shorter than another temporal entity T2, then the length or duration of T1 is shorter. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en . "shorter"@en . - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . # # https://w3id.org/idsa/code/SHORTER_EQ . . "If a temporal entity T1 is shorter or equals than another temporal entity T2, then the length or duration of T1 is shorter or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en . "shorter or equals"@en . - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . # # https://w3id.org/idsa/code/SI . @@ -6189,7 +6189,7 @@ _:genid47 "If a TemporalEntity T1 is started by another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is after the end of T2."@en . "started by"@en . . - "Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of ids:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2."@en . + "Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of time:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2."@en . # # https://w3id.org/idsa/code/STARTS . @@ -6197,7 +6197,7 @@ _:genid47 "If an interval T1 starts with a TemporalEntity T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is before the end of T2."@en . "starts"@en . . - "Compares an instance of ids:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not an ids:Interval as then the end of T1 can never be idsc:BEFORE the end of T2"@en . + "Compares an instance of time:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not an time:Interval as then the end of T1 can never be idsc:BEFORE the end of T2"@en . # # https://w3id.org/idsa/code/STATE . @@ -6263,15 +6263,15 @@ _:genid47 . . - "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2."@en . + "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2."@en . "disjoint"@en . . - "Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal."@en . + "Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal."@en . # # https://w3id.org/idsa/code/TEMPORAL_EQUALS . . - "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal)."@en . + "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal)."@en . "interval equals"@en . . "Compares an instance of TemporalEntity or xsd:dateTimeStamp Literal to another TemporalEntity or xsd:dateTimeStamp. Evaluates to false if a DurationEntity is involved."@en . @@ -7297,7 +7297,7 @@ _:genid163 "Anna Kasprzik" . "Message asking for retrieving the specified Artifact as the payload of an ArtifactResponse message."@en . "Artifact Request Message"@en . # - "An Asset is either an ids:Resource, an ids:Representation, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract."@en . + "An Asset is either an ids:Resource, an dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract."@en . "Asset"@en . # "Holds authentication information so that connections to the Connector's data offerings can be establised."@en . @@ -7375,7 +7375,7 @@ _:genid163 "Anna Kasprzik" . . . # - "A relative temporal entity of a certain length. Different to ids:Interval, the starting point is not (yet) defined. Specifying a starting or ending point automatically transformes an instance of ids:DurationEntity to an ids:Interval."@en . + "A relative temporal entity of a certain length. Different to time:Interval, the starting point is not (yet) defined. Specifying a starting or ending point automatically transformes an instance of ids:DurationEntity to a time:Interval."@en . "Duration"@en . # "A JSON Web Token (e.g., for authorization) mediated as part of the message, formerly known as the 'DAPS Token'. The complete JWT *including* header, payload and signiture is referenced by this class and *not* only the JSON element in the payload. See ids:DatPayload for the payload definition."@en . @@ -7497,7 +7497,7 @@ _:genid163 "Anna Kasprzik" . "Accrual periodicity"@en . # "The operation relating to the asset for which permission is being granted."@en . - "The sequence of executed actions on the data object. Must be an element of ids:Action."@en . + "The sequence of executed actions on the data object. Must be an element of odrl:Action."@en . "action"@en . "applied actions"@en . # @@ -7513,7 +7513,7 @@ _:genid163 "Anna Kasprzik" . "The affected resource that is referenced in the resource-related notification messages. "@en . "affected Resource"@en . # - "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en . + "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en . "and operand"@en . # "IRI reference to the ids:Artifact, whose corresponding data is transfered as payload of the AppUploadMessage. The Artifact IRI reference must match the IRI of the instance IRI for the corresponding ids:AppRepresentation."@en . @@ -7568,7 +7568,7 @@ _:genid163 "Anna Kasprzik" . "The Agents for which this Connector may initiate and receive Messages."@en . "has Agent"@en . # - "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration."@en . + "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration."@en . "has duration"@en . . # @@ -7605,7 +7605,7 @@ _:genid163 "Anna Kasprzik" . "The operator function applied to operands of a Constraint"@en . "operator"@en . # - "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en . + "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en . "or operand"@en . # "A Permission granted by the Contract."@en . @@ -7656,10 +7656,10 @@ _:genid163 "Anna Kasprzik" . "\tThe target application requesting the usage. Should be some locally unique identifiers, preferably URIs."@en . "requesting application"@en . # - "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint."@en . + "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint."@en . "rightOperand"@en . # - "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint."@en . + "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint."@en . "rightOperandReference"@en . # "The Agent which initiated the Message."@en . @@ -7671,7 +7671,7 @@ _:genid163 "Anna Kasprzik" . "The 'owner', i.e. sovereign of the data."@en . "sovereign"@en . # - "The subject of the policy statement (ids:Rule)."@en . + "The subject of the policy statement (odrl:Rule)."@en . "target"@en . # "Minimum time between collected data points in a time series within this content."@en . @@ -7689,7 +7689,7 @@ _:genid163 "Anna Kasprzik" . "Duration, which this asset is in use by now. Might be calculated on the fly when requested by a Usage Control Engine."@en . "usage duration"@en . # - "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en . + "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en . "exclusive or"@en . # "The property a PropertyValidation targets."@en . diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 6e382242..9cb65382 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -883,7 +883,7 @@ - Conditions which specify whether an arbitrary ids:Asset is a member of this AssetCollection. + Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection. Constraint that refines a (composite) Digital Content. asset refinement content refinement @@ -2299,10 +2299,10 @@ - + - + @@ -2508,7 +2508,7 @@ - Absolute datetime of singing the Contract. + Absolute datetime of signing the Contract. Contract date @@ -2577,7 +2577,7 @@ - The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself. + The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself. created @@ -2601,7 +2601,7 @@ - + URL reference to a custom license regulating the general usage of the Resource. @@ -3284,7 +3284,7 @@ - + @@ -4120,7 +4120,7 @@ - An AssetCollection is a bracket object combining several ids:Assets. + An AssetCollection is a bracket object combining several odrl:Asset. Asset Collection @@ -5196,7 +5196,7 @@ - Class of Licences to be referred to by Resources. + Class of licenses to be referred to by Resources. License @@ -8339,7 +8339,7 @@ - If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity. + If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity. after @@ -8671,10 +8671,10 @@ - If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity. + If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity. before - Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp. + Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp. @@ -9009,11 +9009,11 @@ - If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself. + If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself. contains - Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval. + Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval. @@ -9250,7 +9250,7 @@ If a temporal entity T1 has the same duration as another temporal entity T2, then their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. has same duration - Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity. + Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity. @@ -9263,7 +9263,7 @@ If a TemporalEntity T1 is during another TemporalEntity T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is before the end of T2. during - Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval. + Compares an instance of time:Instant, time:Interval or xsd:dateTimeStamp with an instance of time:Interval. Evaluates to false if compared to a non time:Interval. @@ -9498,7 +9498,7 @@ If an interval T1 is finished by another interval T2, then the beginning of T1 is before the beginning of T2, and the end of T1 is coincident with the end of T2. finished by - Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty. + Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty. @@ -9512,7 +9512,7 @@ finishes - Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty. + Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty. @@ -10338,7 +10338,7 @@ If a temporal entity T1 is longer than another temporal entity T2, then the length or duration of T1 is bigger. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. longer - Compares an instance of ids:TemporalEntity with an instance of xsd:duration. + Compares an instance of time:TemporalEntity with an instance of xsd:duration. @@ -10350,7 +10350,7 @@ If temporal entity T1 is longer or equals than another temporal entity T2, then the length or duration of T1 is bigger or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. longer or equals - Compares an instance of ids:TemporalEntity with an instance of xsd:duration. + Compares an instance of time:TemporalEntity with an instance of xsd:duration. @@ -10920,7 +10920,7 @@ If a interval T1 is overlapped another proper interval T2, then the beginning of T1 is before the beginning of T2, the end of T1 is after the beginning of T2, and the end of T1 is before the end of T2. overlapped by - Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty. + Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty. @@ -10930,10 +10930,10 @@ - If an ids:Interval T1 overlapps another ids:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2. + If an time:Interval T1 overlapps another time:Interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2. overlaps - Compares an instance of ids:Interval to another instance of ids:Interval. Evaluates to false if compared to a non ids:Interval or one interval is empty. + Compares an instance of time:Interval to another instance of time:Interval. Evaluates to false if compared to a non time:Interval or one interval is empty. @@ -11083,7 +11083,7 @@ - The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand ids:TemporalEntity. + The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand time:TemporalEntity. policy evaluation time @@ -11301,9 +11301,9 @@ ids:target [<Representation URI>|<Artifact URI>] ; ids:consumer <Consumer Participant URI> ; ids:provider <Provider Participant URI> - [ids:permission [ + [odrl:permission[ ids:action ids:[use|read|...] ; - ids:constraint [ + odrl:constraint [ ids:leftOperand <Attribute URI> ; ids:operator [ids:eq|ids:lt|ids:gt] ; ids:rightOperand [<Value URI>|<Value Literal>] @@ -11318,9 +11318,9 @@ "target": "[<Representation URI>|<Artifact URI>]", "ids:provider": "<Provider Participant URI>", "ids:consumer": "<Consumer Participant URI>", - "ids:permission": { + "odrl:permission": { "ids:action": "[ids:use|ids:read|...]" , - ["ids:constraint" : { + ["odrl:constraint" : { "ids:leftOperand" : "<Attribute URI>", "ids:operator" : "[ids:eq|ids:lt|ids:gt]", "ids:rightOperand" : "[<Value URI>|<Value Literal>]" @@ -11523,7 +11523,7 @@ If a temporal entity T1 is shorter than another temporal entity T2, then the length or duration of T1 is shorter. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. shorter - Compares an instance of ids:TemporalEntity with an instance of xsd:duration. + Compares an instance of time:TemporalEntity with an instance of xsd:duration. @@ -11535,7 +11535,7 @@ If a temporal entity T1 is shorter or equals than another temporal entity T2, then the length or duration of T1 is shorter or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. shorter or equals - Compares an instance of ids:TemporalEntity with an instance of xsd:duration. + Compares an instance of time:TemporalEntity with an instance of xsd:duration. @@ -11718,7 +11718,7 @@ If a TemporalEntity T1 is started by another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is after the end of T2. started by - Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of ids:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2. + Compares an instance of TemporalEntity (or xsd:dateTimeStamp Literal) to instance of time:Interval. Evaluates to false if T1 is an Instant (or xsd:dateTimeStamp Literal) as the end of T1 can then not be idsc:AFTER the end of T2. @@ -11731,7 +11731,7 @@ If an interval T1 starts with a TemporalEntity T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is before the end of T2. starts - Compares an instance of ids:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not an ids:Interval as then the end of T1 can never be idsc:BEFORE the end of T2 + Compares an instance of time:Interval to another instance of TemporalEntity (or xsd:dateTimeStamp Literal). Evaluates to false if T2 is not an time:Interval as then the end of T1 can never be idsc:BEFORE the end of T2 @@ -11867,10 +11867,10 @@ - If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2. + If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2. disjoint - Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal. + Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal. @@ -11880,7 +11880,7 @@ - If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal). + If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal). interval equals Compares an instance of TemporalEntity or xsd:dateTimeStamp Literal to another TemporalEntity or xsd:dateTimeStamp. Evaluates to false if a DurationEntity is involved. @@ -14035,7 +14035,7 @@ Artifact Request Message - An Asset is either an ids:Resource, an ids:Representation, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract. + An Asset is either an ids:Resource, an dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract. Asset @@ -14136,7 +14136,7 @@ - A relative temporal entity of a certain length. Different to ids:Interval, the starting point is not (yet) defined. Specifying a starting or ending point automatically transformes an instance of ids:DurationEntity to an ids:Interval. + A relative temporal entity of a certain length. Different to time:Interval, the starting point is not (yet) defined. Specifying a starting or ending point automatically transformes an instance of ids:DurationEntity to an time:Interval. Duration @@ -14296,7 +14296,7 @@ The operation relating to the asset for which permission is being granted. - The sequence of executed actions on the data object. Must be an element of ids:Action. + The sequence of executed actions on the data object. Must be an element of odrl:Action. action applied actions @@ -14317,7 +14317,7 @@ affected Resource - The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint! + The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint! and operand @@ -14390,7 +14390,7 @@ has Agent - Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration. + Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration. has duration @@ -14439,7 +14439,7 @@ operator - The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint! + The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint! or operand @@ -14507,11 +14507,11 @@ requesting application - The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint. + The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint. rightOperand - The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint. + The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint. rightOperandReference @@ -14527,7 +14527,7 @@ sovereign - The subject of the policy statement (ids:Rule). + The subject of the policy statement (odrl:Rule). target @@ -14551,7 +14551,7 @@ usage duration - The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint! + The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint! exclusive or diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 756004cf..abceb058 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -4,6 +4,8 @@ @prefix xml: . @prefix xsd: . @prefix rdfs: . +@prefix odrl: . + @base . rdf:type owl:Ontology ; @@ -509,7 +511,7 @@ xsd:duration rdf:type rdfs:Datatype . rdfs:domain , ; rdfs:range ; - rdfs:comment "Conditions which specify whether an arbitrary ids:Asset is a member of this AssetCollection."@en , + rdfs:comment "Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection."@en , "Constraint that refines a (composite) Digital Content."@en ; rdfs:label "asset refinement"@en , "content refinement"@en . @@ -1419,8 +1421,8 @@ xsd:duration rdf:type rdfs:Datatype . rdf:type owl:DatatypeProperty . -### http://purl.org/dc/terms/licence - rdf:type owl:DatatypeProperty . +### http://purl.org/dc/terms/license + rdf:type owl:DatatypeProperty . ### http://purl.org/dc/terms/modified @@ -1550,7 +1552,7 @@ xsd:duration rdf:type rdfs:Datatype . rdf:type owl:DatatypeProperty ; rdfs:domain ; rdfs:range xsd:dateTimeStamp ; - rdfs:comment "Absolute datetime of singing the Contract."@en ; + rdfs:comment "Absolute datetime of signing the Contract."@en ; rdfs:label "Contract date"@en . @@ -1595,7 +1597,7 @@ xsd:duration rdf:type rdfs:Datatype . rdfs:subPropertyOf ; rdfs:domain _:genid-nodeid-node1eg0mg14fx31 ; rdfs:range xsd:dateTimeStamp ; - rdfs:comment "The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself."@en ; + rdfs:comment "The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself."@en ; rdfs:label "created"@en ; rdfs:seeAlso . @@ -1611,7 +1613,7 @@ xsd:duration rdf:type rdfs:Datatype . ### https://w3id.org/idsa/core/customLicense rdf:type owl:DatatypeProperty ; - rdfs:subPropertyOf ; + rdfs:subPropertyOf ; rdfs:domain ; rdfs:range xsd:anyURI ; rdfs:comment "URL reference to a custom license regulating the general usage of the Resource."@en ; @@ -2057,7 +2059,7 @@ xsd:duration rdf:type rdfs:Datatype . ### https://w3id.org/idsa/core/standardLicense rdf:type owl:DatatypeProperty ; - rdfs:subPropertyOf ; + rdfs:subPropertyOf ; rdfs:domain ; rdfs:range xsd:anyURI ; rdfs:comment """ @@ -2568,7 +2570,7 @@ owl:Class rdf:type owl:Class . rdf:type owl:Class ; rdfs:subClassOf , ; - rdfs:comment "An AssetCollection is a bracket object combining several ids:Assets."@en ; + rdfs:comment "An AssetCollection is a bracket object combining several odrl:Asset."@en ; rdfs:label "Asset Collection"@en . @@ -3238,7 +3240,7 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/core/License rdf:type owl:Class ; rdfs:subClassOf ; - rdfs:comment "Class of Licences to be referred to by Resources."@en ; + rdfs:comment "Class of licenses to be referred to by Resources."@en ; rdfs:label "License"@en . @@ -5069,7 +5071,7 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/AFTER rdf:type owl:NamedIndividual , ; - rdfs:comment "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity."@en ; + rdfs:comment "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an time:TemporalEntity."@en ; rdfs:label "after"@en ; rdfs:seeAlso . @@ -5281,10 +5283,10 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/BEFORE rdf:type owl:NamedIndividual , ; - rdfs:comment "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity."@en ; + rdfs:comment "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an time:TemporalEntity."@en ; rdfs:label "before"@en ; rdfs:seeAlso ; - "Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp."@en . + "Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp."@en . ### https://w3id.org/idsa/code/BG @@ -5499,11 +5501,11 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/CONTAINS rdf:type owl:NamedIndividual , ; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself."@en ; rdfs:label "contains"@en ; rdfs:seeAlso , ; - "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . + "Compares an instance of time:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . ### https://w3id.org/idsa/code/CONTINUOUS @@ -5660,7 +5662,7 @@ owl:Class rdf:type owl:Class . rdfs:comment "If a temporal entity T1 has the same duration as another temporal entity T2, then their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "has same duration"@en ; rdfs:seeAlso ; - "Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity."@en . + "Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity."@en . ### https://w3id.org/idsa/code/DURING @@ -5669,7 +5671,7 @@ owl:Class rdf:type owl:Class . rdfs:comment "If a TemporalEntity T1 is during another TemporalEntity T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is before the end of T2."@en ; rdfs:label "during"@en ; rdfs:seeAlso ; - "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . + "Compares an instance of time:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval."@en . ### https://w3id.org/idsa/code/DV @@ -6336,7 +6338,7 @@ owl:Class rdf:type owl:Class . ; rdfs:comment "If a temporal entity T1 is longer than another temporal entity T2, then the length or duration of T1 is bigger. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "longer"@en ; - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . ### https://w3id.org/idsa/code/LONGER_EQ @@ -6344,7 +6346,7 @@ owl:Class rdf:type owl:Class . ; rdfs:comment "If temporal entity T1 is longer or equals than another temporal entity T2, then the length or duration of T1 is bigger or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "longer or equals"@en ; - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . ### https://w3id.org/idsa/code/LT @@ -6809,7 +6811,7 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/POLICY_EVALUATION_TIME rdf:type owl:NamedIndividual , ; - rdfs:comment "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand ids:TemporalEntity."@en ; + rdfs:comment "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand time:TemporalEntity."@en ; rdfs:label "policy evaluation time"@en ; . @@ -6955,9 +6957,9 @@ owl:Class rdf:type owl:Class . ids:target [|] ; ids:consumer ; ids:provider - [ids:permission [ + [odrl:permission[ ids:action ids:[use|read|...] ; - ids:constraint [ + odrl:constraint [ ids:leftOperand ; ids:operator [ids:eq|ids:lt|ids:gt] ; ids:rightOperand [|] @@ -6972,9 +6974,9 @@ owl:Class rdf:type owl:Class . \"target\": \"[|]\", \"ids:provider\": \"\", \"ids:consumer\": \"\", - \"ids:permission\": { + \"odrl:permission\": { \"ids:action\": \"[ids:use|ids:read|...]\" , - [\"ids:constraint\" : { + [\"odrl:constraint\" : { \"ids:leftOperand\" : \"\", \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\", \"ids:rightOperand\" : \"[|]\" @@ -7109,7 +7111,7 @@ owl:Class rdf:type owl:Class . ; rdfs:comment "If a temporal entity T1 is shorter than another temporal entity T2, then the length or duration of T1 is shorter. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "shorter"@en ; - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . ### https://w3id.org/idsa/code/SHORTER_EQ @@ -7117,7 +7119,7 @@ owl:Class rdf:type owl:Class . ; rdfs:comment "If a temporal entity T1 is shorter or equals than another temporal entity T2, then the length or duration of T1 is shorter or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration."@en ; rdfs:label "shorter or equals"@en ; - "Compares an instance of ids:TemporalEntity with an instance of xsd:duration."@en . + "Compares an instance of time:TemporalEntity with an instance of xsd:duration."@en . ### https://w3id.org/idsa/code/SI @@ -7325,16 +7327,16 @@ owl:Class rdf:type owl:Class . ### https://w3id.org/idsa/code/TEMPORAL_DISJOINT rdf:type owl:NamedIndividual , ; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2."@en ; rdfs:label "disjoint"@en ; rdfs:seeAlso ; - "Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal."@en . + "Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal."@en . ### https://w3id.org/idsa/code/TEMPORAL_EQUALS rdf:type owl:NamedIndividual , ; - rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal)."@en ; + rdfs:comment "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal)."@en ; rdfs:label "interval equals"@en ; rdfs:seeAlso ; "Compares an instance of TemporalEntity or xsd:dateTimeStamp Literal to another TemporalEntity or xsd:dateTimeStamp. Evaluates to false if a DurationEntity is involved."@en . @@ -8667,7 +8669,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "Artifact Request Message"@en . - rdfs:comment "An Asset is either an ids:Resource, an ids:Representation, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract."@en ; + rdfs:comment "An Asset is either an ids:Resource, an dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract."@en ; rdfs:label "Asset"@en . @@ -8928,7 +8930,7 @@ _:AnnaKasprzik rdf:type , rdfs:comment "The operation relating to the asset for which permission is being granted."@en , - "The sequence of executed actions on the data object. Must be an element of ids:Action."@en ; + "The sequence of executed actions on the data object. Must be an element of odrl:Action."@en ; rdfs:label "action"@en , "applied actions"@en . @@ -8949,7 +8951,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "affected Resource"@en . - rdfs:comment "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en ; + rdfs:comment "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "and operand"@en . @@ -9022,7 +9024,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "has Agent"@en . - rdfs:comment "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration."@en ; + rdfs:comment "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration."@en ; rdfs:label "has duration"@en ; rdfs:seeAlso . @@ -9071,7 +9073,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "operator"@en . - rdfs:comment "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en ; + rdfs:comment "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "or operand"@en . @@ -9139,11 +9141,11 @@ _:AnnaKasprzik rdf:type , rdfs:label "requesting application"@en . - rdfs:comment "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint."@en ; + rdfs:comment "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint."@en ; rdfs:label "rightOperand"@en . - rdfs:comment "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint."@en ; + rdfs:comment "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint."@en ; rdfs:label "rightOperandReference"@en . @@ -9159,7 +9161,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "sovereign"@en . - rdfs:comment "The subject of the policy statement (ids:Rule)."@en ; + rdfs:comment "The subject of the policy statement (odrl:Rule)."@en ; rdfs:label "target"@en . @@ -9183,7 +9185,7 @@ _:AnnaKasprzik rdf:type , rdfs:label "usage duration"@en . - rdfs:comment "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en ; + rdfs:comment "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "exclusive or"@en . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index 6e382242..c6c437bc 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -883,7 +883,7 @@ - Conditions which specify whether an arbitrary ids:Asset is a member of this AssetCollection. + Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection. Constraint that refines a (composite) Digital Content. asset refinement content refinement @@ -2299,10 +2299,10 @@ - + - + @@ -2508,7 +2508,7 @@ - Absolute datetime of singing the Contract. + Absolute datetime of signing the Contract. Contract date @@ -2577,7 +2577,7 @@ - The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself. + The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself. created @@ -2601,7 +2601,7 @@ - + URL reference to a custom license regulating the general usage of the Resource. @@ -3284,7 +3284,7 @@ - + @@ -4120,7 +4120,7 @@ - An AssetCollection is a bracket object combining several ids:Assets. + An AssetCollection is a bracket object combining several odrl:Asset. Asset Collection @@ -5196,7 +5196,7 @@ - Class of Licences to be referred to by Resources. + Class of licenses to be referred to by Resources. License @@ -8339,7 +8339,7 @@ - If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity. + If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an time:TemporalEntity. after @@ -8671,10 +8671,10 @@ - If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity. + If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an time:TemporalEntity. before - Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp. + Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp. @@ -9009,11 +9009,11 @@ - If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself. + If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself. contains - Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval. + Compares an instance of time:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval. @@ -9250,7 +9250,7 @@ If a temporal entity T1 has the same duration as another temporal entity T2, then their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. has same duration - Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity. + Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity. @@ -9263,7 +9263,7 @@ If a TemporalEntity T1 is during another TemporalEntity T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is before the end of T2. during - Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval. + Compares an instance of time:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval. @@ -10338,7 +10338,7 @@ If a temporal entity T1 is longer than another temporal entity T2, then the length or duration of T1 is bigger. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. longer - Compares an instance of ids:TemporalEntity with an instance of xsd:duration. + Compares an instance of time:TemporalEntity with an instance of xsd:duration. @@ -10350,7 +10350,7 @@ If temporal entity T1 is longer or equals than another temporal entity T2, then the length or duration of T1 is bigger or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. longer or equals - Compares an instance of ids:TemporalEntity with an instance of xsd:duration. + Compares an instance of time:TemporalEntity with an instance of xsd:duration. @@ -11083,7 +11083,7 @@ - The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand ids:TemporalEntity. + The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand time:TemporalEntity. policy evaluation time @@ -11301,9 +11301,9 @@ ids:target [<Representation URI>|<Artifact URI>] ; ids:consumer <Consumer Participant URI> ; ids:provider <Provider Participant URI> - [ids:permission [ + [odrl:permission[ ids:action ids:[use|read|...] ; - ids:constraint [ + odrl:constraint [ ids:leftOperand <Attribute URI> ; ids:operator [ids:eq|ids:lt|ids:gt] ; ids:rightOperand [<Value URI>|<Value Literal>] @@ -11318,9 +11318,9 @@ "target": "[<Representation URI>|<Artifact URI>]", "ids:provider": "<Provider Participant URI>", "ids:consumer": "<Consumer Participant URI>", - "ids:permission": { + "odrl:permission": { "ids:action": "[ids:use|ids:read|...]" , - ["ids:constraint" : { + ["odrl:constraint" : { "ids:leftOperand" : "<Attribute URI>", "ids:operator" : "[ids:eq|ids:lt|ids:gt]", "ids:rightOperand" : "[<Value URI>|<Value Literal>]" @@ -11523,7 +11523,7 @@ If a temporal entity T1 is shorter than another temporal entity T2, then the length or duration of T1 is shorter. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. shorter - Compares an instance of ids:TemporalEntity with an instance of xsd:duration. + Compares an instance of time:TemporalEntity with an instance of xsd:duration. @@ -11535,7 +11535,7 @@ If a temporal entity T1 is shorter or equals than another temporal entity T2, then the length or duration of T1 is shorter or their length or their duration is equal. Instants and xsd:dateTimeStamp Literals have always the duration 'P0Y0M0DT0H0M0S'^^xsd:duration and therefore have always the same duration. shorter or equals - Compares an instance of ids:TemporalEntity with an instance of xsd:duration. + Compares an instance of time:TemporalEntity with an instance of xsd:duration. @@ -11867,10 +11867,10 @@ - If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2. + If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2. disjoint - Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal. + Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal. @@ -11880,7 +11880,7 @@ - If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal). + If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal). interval equals Compares an instance of TemporalEntity or xsd:dateTimeStamp Literal to another TemporalEntity or xsd:dateTimeStamp. Evaluates to false if a DurationEntity is involved. @@ -14035,7 +14035,7 @@ Artifact Request Message - An Asset is either an ids:Resource, an ids:Representation, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract. + An Asset is either an ids:Resource, an dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract. Asset @@ -14296,7 +14296,7 @@ The operation relating to the asset for which permission is being granted. - The sequence of executed actions on the data object. Must be an element of ids:Action. + The sequence of executed actions on the data object. Must be an element of odrl:Action. action applied actions @@ -14317,7 +14317,7 @@ affected Resource - The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint! + The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint! and operand @@ -14390,7 +14390,7 @@ has Agent - Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration. + Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration. has duration @@ -14439,7 +14439,7 @@ operator - The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint! + The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint! or operand @@ -14507,11 +14507,11 @@ requesting application - The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint. + The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint. rightOperand - The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint. + The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint. rightOperandReference @@ -14527,7 +14527,7 @@ sovereign - The subject of the policy statement (ids:Rule). + The subject of the policy statement (odrl:Rule). target @@ -14551,7 +14551,7 @@ usage duration - The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint! + The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint! exclusive or diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 363b7e48..bb28bba2 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -5112,12 +5112,12 @@ }, { "identifier" : "note", "language" : "undefined", - "value" : "{ \r\n\t\t\"@context\": \"https://w3id.org/idsa/contexts/context.jsonld\",\r\n\t\t\"@type\": \"ContractRequest\", \r\n\t\t\"uid\": \"\", \r\n\t\t\"refersTo\": \"idsc:RequestTemplate\" ,\r\n\t\t\"target\": \"[|]\",\r\n\t\t\"ids:provider\": \"\",\r\n\t\t\"ids:consumer\": \"\", \r\n\t\t\"ids:permission\": {\r\n\t\t\t\"ids:action\": \"[ids:use|ids:read|...]\" ,\r\n\t\t\t[\"ids:constraint\" : { \r\n\t\t\t\t\t \"ids:leftOperand\" : \"\",\r\n\t\t\t\t\t \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\",\r\n\t\t\t\t\t \"ids:rightOperand\" : \"[|]\"\r\n\t\t\t } [,]]*\r\n\t\t} }", + "value" : "{ \r\n\t\t\"@context\": \"https://w3id.org/idsa/contexts/context.jsonld\",\r\n\t\t\"@type\": \"ContractRequest\", \r\n\t\t\"uid\": \"\", \r\n\t\t\"refersTo\": \"idsc:RequestTemplate\" ,\r\n\t\t\"target\": \"[|]\",\r\n\t\t\"ids:provider\": \"\",\r\n\t\t\"ids:consumer\": \"\", \r\n\t\t\"ids:permission\": {\r\n\t\t\t\"ids:action\": \"[ids:use|ids:read|...]\" ,\r\n\t\t\t[\"odrl:constraint\" : { \r\n\t\t\t\t\t \"ids:leftOperand\" : \"\",\r\n\t\t\t\t\t \"ids:operator\" : \"[ids:eq|ids:lt|ids:gt]\",\r\n\t\t\t\t\t \"ids:rightOperand\" : \"[|]\"\r\n\t\t\t } [,]]*\r\n\t\t} }", "type" : "label" }, { "identifier" : "note", "language" : "undefined", - "value" : "@prefix ids: .\r\n\t\t@prefix idsc: .\r\n\t\t@prefix rdf: .\r\n\t\t@prefix rdfs: .\r\n\t\t@prefix xsd: .\r\n\r\n\t\t[| [] ] a ids:ContractRequest ;\r\n\t\t\tids:uid ;\r\n\t\t\tids:refersTo idsc:RequestTemplate ;\r\n\t\t\tids:target [|] ;\r\n\t\t\tids:consumer ;\r\n\t\t\tids:provider \r\n\t\t\t[ids:permission [\r\n\t\t\t\tids:action ids:[use|read|...] ;\r\n\t\t\t\tids:constraint [\r\n\t\t\t\t\tids:leftOperand ;\r\n\t\t\t\t\tids:operator [ids:eq|ids:lt|ids:gt] ;\r\n\t\t\t\t\tids:rightOperand [|]\r\n\t\t\t\t]\r\n\t\t\t] ;]*\r\n\t\t.", + "value" : "@prefix ids: .\r\n\t\t@prefix idsc: .\r\n\t\t@prefix rdf: .\r\n\t\t@prefix rdfs: .\r\n\t\t@prefix xsd: .\r\n\r\n\t\t[| [] ] a ids:ContractRequest ;\r\n\t\t\tids:uid ;\r\n\t\t\tids:refersTo idsc:RequestTemplate ;\r\n\t\t\tids:target [|] ;\r\n\t\t\tids:consumer ;\r\n\t\t\tids:provider \r\n\t\t\t[ids:permission [\r\n\t\t\t\tids:action ids:[use|read|...] ;\r\n\t\t\t\todrl:constraint [\r\n\t\t\t\t\tids:leftOperand ;\r\n\t\t\t\t\tids:operator [ids:eq|ids:lt|ids:gt] ;\r\n\t\t\t\t\tids:rightOperand [|]\r\n\t\t\t\t]\r\n\t\t\t] ;]*\r\n\t\t.", "type" : "label" } ] }, @@ -8302,7 +8302,7 @@ "en" : "License" }, "comment" : { - "en" : "Class of Licences to be referred to by Resources." + "en" : "Class of licenses to be referred to by Resources." }, "attributes" : [ "external" ], "id" : "600", @@ -9515,7 +9515,7 @@ } ] }, "comment" : { - "en" : "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand ids:TemporalEntity." + "en" : "The current system time (as UTC xsd:dateTimeStamp) for evaluating a time-related constraint. Allowed operators are idsc:AFTER, idsc:BEFORE, idsc:CONTAINS, idsc:TEMPORAL_DISJOINT, idsc:DURING, idsc:TEMPORAL_EQUALS, idsc:FINISHED_BY, idsc:FINISHES, idsc:MEETS, idsc:MET_BY, idsc:OVERLAPS, idsc:OVERLAPPED_BY, idsc:STARTS, idsc:STARTED_BY and idsc:DURATION_EQ with RightOperand time:TemporalEntity." }, "labels" : { "IRI-based" : "POLICY_EVALUATION_TIME", @@ -10285,7 +10285,7 @@ "en" : "Asset Collection" }, "comment" : { - "en" : "An AssetCollection is a bracket object combining several ids:Assets." + "en" : "An AssetCollection is a bracket object combining several odrl:Asset." }, "attributes" : [ "external" ], "id" : "98", @@ -11551,7 +11551,7 @@ }, "subClasses" : [ "14", "98" ], "comment" : { - "en" : "An Asset is either an ids:Resource, an ids:Representation, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract." + "en" : "An Asset is either an ids:Resource, a dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract." }, "attributes" : [ "external" ], "id" : "94", @@ -11653,7 +11653,7 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration.", + "value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration.", "type" : "label" } ] }, @@ -11755,7 +11755,7 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval.", + "value" : "Compares an instance of time:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval.", "type" : "label" } ], "seeAlso" : [ { @@ -11826,7 +11826,7 @@ } ] }, "comment" : { - "en" : "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity." + "en" : "If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2 and the beginning of T1 is different to the ending of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity." }, "labels" : { "IRI-based" : "AFTER", @@ -11932,7 +11932,7 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval.", + "value" : "Compares an instance of time:Instant, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval.", "type" : "label" } ], "seeAlso" : [ { @@ -11948,7 +11948,7 @@ } ] }, "comment" : { - "en" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another ids:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself." + "en" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 contains another time:TemporalEntity T2, then the beginning of T1 is idsc:AFTER the beginning of T2 and the ending of T1 is idsc:BEFORE the ending of T2. An Instant (or xsd:dateTimeStamp) cannot contain another Instant (or xsd:dateTimeStamp), neihter contains itself." }, "labels" : { "IRI-based" : "CONTAINS", @@ -12017,7 +12017,7 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal to an instance of ids:TemporalEntity or xsd:dateTimeStamp Literal.", + "value" : "Compares an instance of time:TemporalEntity or xsd:dateTimeStamp Literal to an instance of time:TemporalEntity or xsd:dateTimeStamp Literal.", "type" : "label" } ], "seeAlso" : [ { @@ -12028,7 +12028,7 @@ } ] }, "comment" : { - "en" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another ids:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2." + "en" : "If a TemporalEntity (or xsd:dateTimeStamp) T1 is disjoint with another time:TemporalEntity (or xsd:dateTimeStamp) T2, then T1 is idsc:BEFORE or idsc:AFTER to T2." }, "labels" : { "IRI-based" : "TEMPORAL_DISJOINT", @@ -12041,7 +12041,7 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration.", + "value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration.", "type" : "label" } ] }, @@ -12125,7 +12125,7 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration.", + "value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration.", "type" : "label" } ] }, @@ -12394,7 +12394,7 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:TemporalEntity with an instance of xsd:duration.", + "value" : "Compares an instance of time:TemporalEntity with an instance of xsd:duration.", "type" : "label" } ] }, @@ -12412,7 +12412,8 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:TemporalEntity with an instance of ids:TemporalEntity.", + "value" : "Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity.", + "value" : "Compares an instance of time:TemporalEntity with an instance of time:TemporalEntity.", "type" : "label" } ], "seeAlso" : [ { @@ -12436,7 +12437,7 @@ "note" : [ { "identifier" : "note", "language" : "en", - "value" : "Compares an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of ids:TemporalEntity or a Literal of xsd:dateTimeStamp.", + "value" : "Compares an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp to an instance of time:TemporalEntity or a Literal of xsd:dateTimeStamp.", "type" : "label" } ], "seeAlso" : [ { @@ -12447,7 +12448,7 @@ } ] }, "comment" : { - "en" : "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or an ids:TemporalEntity." + "en" : "If a temporal entity T1 is before another temporal entity T2, then the ending of T1 is before the end of T2 and the ending of T1 is different to the beginning of T2. Temporal entities can either be a xsd:dateTimeStamp or a time:TemporalEntity." }, "labels" : { "IRI-based" : "BEFORE", @@ -12471,7 +12472,7 @@ } ] }, "comment" : { - "en" : "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of ids:Instant (or xsd:dateTimeStamp Literal)." + "en" : "If a TemporalEntity (or xsd:dateTimeStamp Literal) T1 is equals another TemporalEntity (or xsd:dateTimeStamp Literal) T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. The beginning and ending is the same for instances of time:Instant (or xsd:dateTimeStamp Literal)." }, "labels" : { "IRI-based" : "TEMPORAL_EQUALS", @@ -14872,7 +14873,7 @@ }, "domain" : "230", "comment" : { - "en" : "The sequence of executed actions on the data object. Must be an element of ids:Action." + "en" : "The sequence of executed actions on the data object. Must be an element of odrl:Action." }, "attributes" : [ "object", "external" ], "id" : "293" @@ -15512,7 +15513,7 @@ }, "domain" : "76", "comment" : { - "en" : "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "en" : "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "476" @@ -15760,11 +15761,11 @@ "attributes" : [ "object", "external" ], "id" : "505" }, { - "iri" : "http://purl.org/dc/terms/licence", + "iri" : "http://purl.org/dc/terms/license", "baseIri" : "http://purl.org/dc/terms", "range" : "10", "label" : { - "IRI-based" : "licence" + "IRI-based" : "license" }, "domain" : "21", "attributes" : [ "datatype", "external" ], @@ -16124,7 +16125,7 @@ }, "domain" : "76", "comment" : { - "en" : "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "en" : "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "560" @@ -17455,7 +17456,7 @@ }, "domain" : "117", "comment" : { - "en" : "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint." + "en" : "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint." }, "attributes" : [ "object", "external" ], "id" : "754" @@ -17569,7 +17570,7 @@ }, "domain" : "117", "comment" : { - "en" : "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint." + "en" : "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint." }, "attributes" : [ "object", "external" ], "id" : "761" @@ -17591,7 +17592,7 @@ }, "domain" : "21", "comment" : { - "en" : "The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, creation dates of ids:Representation, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself." + "en" : "The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself." }, "attributes" : [ "datatype", "external" ], "id" : "762" @@ -17605,7 +17606,7 @@ }, "domain" : "54", "comment" : { - "en" : "Absolute datetime of singing the Contract." + "en" : "Absolute datetime of signing the Contract." }, "attributes" : [ "datatype", "external" ], "id" : "763" @@ -17998,7 +17999,7 @@ }, "domain" : "156", "comment" : { - "en" : "The subject of the policy statement (ids:Rule)." + "en" : "The subject of the policy statement (odrl:Rule)." }, "attributes" : [ "object", "external" ], "id" : "790" @@ -18173,7 +18174,7 @@ }, "domain" : "76", "comment" : { - "en" : "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!" + "en" : "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, odrl:or, or odrl:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "801" @@ -18666,7 +18667,7 @@ }, "domain" : "42", "comment" : { - "en" : "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of ids:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration." + "en" : "Duration (relative time interval) of a temporal specification. Different to the TIME Ontology, durations are expressed using the xsd:duration datatype. In case it is used with a instance of time:Instant, the value must be 'P0Y0M0DT0H0M0S'^^xsd:duration." }, "attributes" : [ "datatype", "external" ], "id" : "858" diff --git a/evaluation_external/Detailed information of updates - ExtendSHACLshapes.pdf b/evaluation_external/Detailed information of updates - ExtendSHACLshapes.pdf new file mode 100644 index 00000000..2b2dd0cb Binary files /dev/null and b/evaluation_external/Detailed information of updates - ExtendSHACLshapes.pdf differ diff --git a/evaluation_external/List and evaluation of every usage of external classes and properties.pdf b/evaluation_external/List and evaluation of every usage of external classes and properties.pdf new file mode 100644 index 00000000..d8311cc3 Binary files /dev/null and b/evaluation_external/List and evaluation of every usage of external classes and properties.pdf differ diff --git a/evaluation_external/README.md b/evaluation_external/README.md new file mode 100644 index 00000000..e867c0c2 --- /dev/null +++ b/evaluation_external/README.md @@ -0,0 +1,374 @@ +# Reusability and Domain-specific Extensions Through Application Profiles + +This work has been carried out in the scope of the [Fraunhofer Cluster of Excellence Cognitive Internet Technologies](https://www.cit.fraunhofer.de/), [Research Center Data Spaces](https://www.dataspaces.fraunhofer.de/), project T60. + +## Introduction + +In the IDS Information Model we reused many classes and properties initially defined in other external ontologies. However, we identified possible redundant local definitions of classes and properties. Therefore, we decided to analyze those definitions and determine suitability of their local definition. After the performed analysis, we decided to remove those redundant definitions and directly use the external properties in our SHACL shapes instead. + +Software engineers and other users might directly jump to the **hands-on manual** presented below. + +## Goal + +Our goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use external definitions from existent ontologies. + +
Methodology +

+ +First, we created a new branch from the *"develop"* branch. After that, we created a list of every external class and property used in the IDS Information Model and evaluated if the use of the property or class was redundant. For that, we considered the following definitions: + +- **Redundant (r)** The internal definition of a class or property does not add any additional information to the already external definition. +- **Partially Redundant (pr)** The internal definition of a class or property adds some level of specificity. +- **Non-redundant (nr)**: The internal definition of a class or property adds new information or more specificity, such as domain and range or further constraints. + +Our approach for identifying possible redundant definitions was to search in files by using regular expressions: `subClassOf(?!ids)`, and `subPropertyOf(?!ids)`. We traversed all the results and ignored copies of ontologies. Moreover, we focused on the *.ttl* files included in the different model definitions, for example **communication**, or **content**. + +Once we found these results, we listed each class and property by file, the relation (`subClassOf` or `subPropertyOf`), and the external class or property it refers to. For the aforementioned evaluation (**r**, **pr**, **nr**), we analyzed the internal definition, for example, which other additional information was introduced by it. We then determined the use of that internal definition in the related files in the models, validations, and testing files. Based on the performed evaluation, we made the decisions to keep the class or property, or remove it and proceeded to the concrete implementation of changes as described in the next section. + +We describe some examples here: + +- The `ids:Agent` is defined as an extension of the `odrl:Party`, indeed `ids:Agent` is defined as a `subClassOf odrl:Party`. We took the following notes: "It is not clear why ids:Agent needs to be defined as a subclass of two external classes. Based on the information on the **ODRL vocabulary**, `foaf:Agent` needs to be used to describe further details of the party. Additionally to `odrl:Party` and `foaf:Agent`, it is defined as a subclass of `ids:Described` and adds only `rdfs:label` and `rdfs:comment`. It is used in *Participant.ttl* to define `ids:Participant`, and to define range for `ids:publisher`, and `ids:sovereign` in *Resource.ttl*, `ids:senderAgent` and `ids:recipientAgent` in *Message.ttl*, and `ids:hasAgent` in *Connector.ttl"*. Based on those evaluation notes, we decided the definition in the IDS Information Model was **Redundant (r)**, removed the `ids:Agent` and replaced it by `foaf:Agent`. + + +- The `ids:contentType` is defined as a `subPropertyOf` `dct:type`, and it adds `rdfs:domain` (ids:DigitalContent), and `rdfs:range` (ids:ContentType). We decided that this definition was **Partially Redundant (pr)**, but we decided to keep it, as it is more specific than `dct:type`. + + +- The `ids:includedCertificationLevel` is defined as a `subPropertyOf` `dct:isPartOf`. It adds `rdfs:label`, `rdfs:comment`, `rdfs:seeAlso`, `rdfs:domain` (ids:CertificationLevel), and `rdfs:range` (ids:CertificationLevel). We noticed that it is only used in codes and in validations. In codes, it is used to define `idsc:PARTICIPANT_ENTRY_LEVEL_MANAGEMENT_SYSTEM`, `idsc:PARTICIPANT_MEMBER_LEVEL_MANAGEMENT_SYSTEM`, and others. And it is used to define validations in *CertificationShape.ttl*. + +

+
+ +
Implementation +

+ +- For the implementation of the first given example, we modified the following files in the model: *Message.ttl*, *Resource.ttl*, *Connector.ttl*, *Participant.ttl*. We added `@prefix foaf: ` to each of those files, and replaced `ids:Agent` by `foaf:Agent`. Moreover, we removed the definition of `ids:Agent` in *Participant.ttl*. In the testing files, only `sh:message` was modified and the commented code referencing `ids:Agent` was removed in *MessageShape.ttl*, *ResourceShape.ttl*, and *ConnectorShape.ttl*. +- For the second example, as the internal definition was more specific, no changes were implemented. +- Lastly, for the third example, We decided to keep it, and therefore no changes were implemented. + +

+
+ +
Documented GitHub Issues +

+ +Here we list the issues related to the evaluation and implementation of changes. + +- The initial requirement was the following: + [Issue #413 - Remove redundant class/property definitions whenever external concepts can be used directly](https://github.com/International-Data-Spaces-Association/InformationModel/issues/413) + +- For that, first we evaluated the **Redundant (r)**, **Partially Redundant (pr)**, and **Non-Redundant (nr)** classes and properties, based on the following issue: + [Issue #461 - List and evaluate every usage of external classes or properties](https://github.com/International-Data-Spaces-Association/InformationModel/issues/461) + +- For the implementation of changes, we refactor the IDS Information Model, and included all the changes under the following issue: + [Issue #504 - Refactor ids model enhancement (directly reuse external concepts instead of copying)](https://github.com/International-Data-Spaces-Association/InformationModel/pull/504) + +- Moreover, we included a helper file to support the CodeGen tool. It can be found under the issue: + [Issue #490 - Refactor identified refactoring options for the IDS information model](https://github.com/International-Data-Spaces-Association/InformationModel/issues/490) + +

+
+ +
Impact +

+ +After making the aforementioned evaluation and changes, the results are the following: + +- SHACL shapes were revised, in which obsolete IDS classes and properties have been replaced by directly using those from external ontologies. Link: [Revised SHACL shapes](https://github.com/International-Data-Spaces-Association/InformationModel/pull/504/files?authenticity_token=XVFNq4XvnDG%2B7RiaW4dajYrPiYhNvJduQR6iBOrESAomY91dmV4lzg2WjUWMB3c3cGYFzHUesT95PDoMD2eqkg%3D%3D&file-filters%5B%5D=.ttl&hide-deleted-files=true&w=1) +- The IDS Information Model has been improved. Link: [Revised Information Model](https://github.com/International-Data-Spaces-Association/InformationModel/pull/504/commits) +- A dedicated helper file, which compensates for the copies deleted from the infomodel and thus makes them available to the CodeGen environment, has been developed. This contains a minimal set of all the resources needed to keep code generation stable and reliable. Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Association/InformationModel/blob/documentationIDSModel-enhacement/utils/refactor_helper.ttl) + +- 103 definitions were evaluated, from which 36 were classes and 67 were properties. +- We detected 57 **Probably Redundant (pr)** cases, 40 **Redundant (r)** cases, and 6 **Non Redundant (nr)** cases. +- In 30 cases we made no changes, from which 6 correspond to **Non Redundant (nr)** cases and 24 correspond to **Partially Redundant (pr)** cases. +- In 72 cases we made changes by removing the local definitions and replacing them by their external definitions, they all correspond to **Redundant (r)** and **Partially Redundant (pr)** cases. +- 1 case is pending, and corresponds to the property **"ids:rightOperand"** + +We summarize the results of our evaluations as follows: + + + +

+
+ +
Hands-on Manual +

+ +To use the IDS Information Model, the steps to consider are the following: + +1. Decide what to model. +2. Use the IDS Information Model as a basis for describing the different components. +3. Extend the IDS Model with the local definitions and restrictions. + + + +To illustrate the above-mentioned steps we consider an example as follows: + +1. Consider you want to model a general **Resource** which can be later defined more specifically. + +2. The first step would be to consider the class definition and properties already defined in the **IDS Information Model** (available in *../model/content/Resource.ttl*). +See also the following snippet: + +``` +# Class Definition +ids:Resource + a owl:Class; + rdfs:subClassOf ids:DescribedSemantically, ids:DigitalContent, # e.g., Collection Resource contains sub-resources but also has an own Representation + ids:ManagedEntity, odrl:Asset ; + rdfs:label "Resource"@en ; + rdfs:comment "Resource is a single digital content or a coherent set of digital contents. Resource content is formalized in Representations and optionally materialized as Artifacts. The Resource's content is exposed via defined Interfaces at various protocol Endpoints."@en; + rdfs:seeAlso ; + +``` + +``` +# Properties definition + +ids:resourcePart a owl:ObjectProperty; + rdfs:subPropertyOf ids:contentPart; + rdfs:label "resource part"@en; + rdfs:domain ids:Resource; + rdfs:range ids:Resource; + rdfs:comment "Reference to a Resource (physically or logically) included, definition of part-whole hierarchies."@en . + +ids:resourceEndpoint + a owl:ObjectProperty; + rdfs:label "resource endpoint"@en; + rdfs:domain ids:Resource ; + rdfs:range ids:ConnectorEndpoint; + rdfs:comment "Reference to the Endpoints that serve the resource's content or let you exchange messages with an IDS Connector."@en. + +ids:contractOffer + a owl:ObjectProperty; + rdfs:domain ids:Resource; + rdfs:range ids:ContractOffer; + rdfs:label "contract offer"@en; + rdfs:comment "Reference to a Contract Offer defining the authorized use of the Resource."@en. + +ids:sovereign + a owl:ObjectProperty ; + rdfs:domain ids:Resource ; + rdfs:range foaf:Agent ; + rdfs:label "sovereign"@en; + rdfs:comment "The 'owner', i.e. sovereign of the data."@en. +. +. +. + +``` + +The prefix `ids` is defined locally in the **IDS Information model** by `@prefix ids: .` + +We can observe that an `ids:Resource` has a label (`rdfs:label`) and a comment (`rdfs:comment`). From the properties we know that an `ids:resourcePart` is in the domain of an `ids:Resource`, meaning that any resource with this property is an instance of a Resource. The same reasoning can be applied to the properties `ids:resourceEndpoint` and `ids:contractOffer`. Further properties are defined in the domain of a Resource, but will be omitted in this example. + +Now we consider the validations already included in the **IDS Information model** (available in *../testing/content/ResourceShape.ttl*). +See also the following snippet: + +``` +shapes:ResourceShape + a sh:NodeShape ; + sh:targetClass ids:Resource ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:resourcePart ; + sh:class ids:Resource ; + sh:severity sh:Violation ; + sh:message " (ResourceShape): An ids:resourcePart property must point from an ids:Resource to an ids:Resource."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:resourceEndpoint ; + sh:class ids:ConnectorEndpoint ; + sh:severity sh:Violation ; + sh:message " (ResourceShape): An ids:resourceEndpoint property must point from an ids:Resource to an ids:ConnectorEndpoint."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:contractOffer ; + sh:class ids:ContractOffer ; + sh:severity sh:Violation ; + sh:message " (ResourceShape): An ids:Resource must have at least one ids:ContractOffer linked through the ids:contractOffer property"@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path dct:publisher ; + sh:nodeKind sh:IRI ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (ResourceShape): A dct:publisher property must not have more than one point from an ids:Resource to an foaf:Agent."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:sovereign ; + sh:nodeKind sh:IRI ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (ResourceShape): An ids:sovereign property must not have more than one point from an ids:Resource to an foaf:Agent."@en ; + ] ; + +``` + +In the validations, more specifically in `ids:resourcePart` we observe that the resource part must belong to the class `ids:Resource`, the same applies for `ids:contractOffer`. However, both of them are not mandatory. + +Additionally, we see that the property `dct:publisher` is not mandatory but if that information is included, the `ids:Resource` can have at most 1 `dct:publisher`, and the same applies for `ids:sovereign`. + +Now, let's say we want to model resource, with a new prefix ap15 (`@prefix ap15: .`) as follows: + +``` +ap15:Ressource1 + a ids:Resource ; + dct:title "Überpunkt/Hauptbeschreibung"@de ; + dct:description "Ein Satz in natürlicher Sprache, der die Ressource beschreibt."@de ; + ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:accessURL ; ] ; + dcat:keyword "AAS", "keyword2", "keyword3" ; + ids:resourcePart ap15:Instandhaltungskennzahlen1, ap15:UeberwachungerelevanteKennzahlen1, ap15:Lebenserwartung1 ; + dct:publisher ; + ids:sovereign ; + dct:issued "2021-04-06T17:30:00.000+02:00"^^xsd:dateTimeStamp ; + dct:modified "2021-04-06T17:30:00.000+02:00"^^xsd:dateTimeStamp ; + ap15:serialNumber "abc12345" ; + ap15:operator "Unternehmen1 GmbH" ; + ids:contractOffer [ a ids:ContractOffer ; + ids:contractStart "2021-12-01T12:00:00Z"^^xsd:dateTimeStamp ; + ids:contractEnd "2022-06-01T12:00:00Z"^^xsd:dateTimeStamp ; + ids:provider ; + ids:contractDocument ; + odrl:permission [ ids:action idsc:READ ; + odrl:constraint [ odrl:leftOperand idsc:DELAY ; + odrl:operator idsc:LONGER ; + ids:rightOperand "PT20M"^^xsd:duration ] ] ] . + +``` + +Here we included the additional properties `dct:title`, `dct:description`, `dcat:keyword`, `dct:issued`, which all refer to external definitions belongin to DCAT and Dublin Core Terms (`@prefix dcat: .` and `@prefix dct: .` respectively). + +Moreover, we included the properties `ap15:serialNumber` and `ap15:operator`, which are local definitions corresponding to the above mentioned prefix `@prefix ap15: .`. + +Now, let's say we want to include further validations for those additional properties, +We create a new file containing the validations as SHACL shapes, as follows: + +``` +shapes:ResourceShape a sh:NodeShape; + sh:targetClass ids:Resource; + sh:property [ + sh:maxCount 1; + sh:minCount 1; + sh:path dct:title; + ], [ + sh:minCount 1; + sh:path dct:description; + ], [ + sh:path dcat:keyword; + sh:minCount 0; + sh:maxCount 10; + ], [ + sh:path dct:issued; + sh:datatype xsd:dateTimeStamp; + sh:minCount 1; + sh:maxCount 1; + ], [ + sh:path ap15:serialNumber; + sh:minCount 1; + sh:maxCount 1; + ], [ + sh:path ap15:operator; + sh:minCount 0; + sh:maxCount 1; + ] . + +``` + +Now, we see that the properties `dct:title`, `dct:description`, `dct:issued`, and `ap15@serialNumber` are mandatory, as indicated by the `sh:minCount` shape constraints which are set to 1. + +Another possibility is to take existing definitions from the **IDS Information model** and tighten their restrictions, for example for the properties `dcat:mediaType`, `ids:representationStandard `, and `ids:instsance`. + +Here the snippet of the definition in the **IDS Information model** (available in *../model/content/Representation.ttl*): + +``` +ids:instance + a owl:ObjectProperty ; + rdfs:domain dcat:Distribution ; + rdfs:range ids:RepresentationInstance; + rdfs:label "instance"@en ; + rdfs:comment "Reference to an instance of given representation, i.e. inline value or file placeholder."@en. + +ids:representationStandard + a owl:DatatypeProperty ; + rdfs:subPropertyOf dct:conformsTo ; + rdfs:domain dcat:Distribution; + rdfs:range xsd:anyURI; + rdfs:label "representation standard"@en; + rdfs:comment "Standards document defining the given Representation (in contrast to general Resource content). The Representation is assumed to conform to that Standard."@en. + +``` + +and the following restrictions defined in the **IDS Information model**: + +``` +shapes:RepresentationShape + a sh:NodeShape ; + sh:targetClass dcat:Distribution ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:instance ; + sh:class ids:RepresentationInstance ; + sh:severity sh:Violation ; + sh:message " (RepresentationShape): An ids:instance property must point from a dcat:Distribution to an ids:RepresentationInstance."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path dcat:mediaType ; + sh:class dct:MediaType ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (RepresentationShape): A dcat:Distribution must not have more than one dct:MediaType linked through the dcat:mediaType property"@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:representationStandard ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:severity sh:Violation ; + sh:message " (RepresentationShape): An ids:representationStandard property must not have more than one point from a dcat:Distribution to a IRI containing the standard."@en ; + ] ; +``` + +Additionally, we add the following restrictions in our local file containing the SHACL shapes, as follows: + +``` +shapes:RepresentationShape a sh:NodeShape; + sh:targetClass ids:TextRepresentation; + sh:property [ + sh:maxCount 1; + sh:minCount 1; + sh:path dcat:mediaType; + ], [ + sh:minCount 1; + sh:path ids:instance; + ],[ + sh:minCount 1; + sh:path ids:representationStandard; + ],[ + sh:minCount 1; + sh:path dct:issued; + ]. +``` + +As a result we change the three mentioned properties to mandatory, because we restricted their `sh:minCount` to 1. Moreover, we indicated in our local extension of the model, that the Resource can have at most 1 `dcat:mediaType` as part of its representation. + +

+
+ +## Appendix + +[List and evaluation of every usage of external classes and properties](https://github.com/International-Data-Spaces-Association/InformationModel/blob/documentationIDSModel-enhacement/evaluation_external/List%20and%20evaluation%20of%20every%20usage%20of%20external%20classes%20and%20properties.pdf) + +[Detailed information of updates made to SHACL shapes](https://github.com/International-Data-Spaces-Association/InformationModel/blob/documentationIDSModel-enhacement/evaluation_external/Detailed%20information%20of%20updates%20-%20ExtendSHACLshapes.pdf) diff --git a/evaluation_external/extension-concept.png b/evaluation_external/extension-concept.png new file mode 100644 index 00000000..cf777ef1 Binary files /dev/null and b/evaluation_external/extension-concept.png differ diff --git a/evaluation_external/statistics.png b/evaluation_external/statistics.png new file mode 100644 index 00000000..12433aab Binary files /dev/null and b/evaluation_external/statistics.png differ diff --git a/examples/APPSTORE.jsonld b/examples/APPSTORE.jsonld index 7be73445..70ca32da 100644 --- a/examples/APPSTORE.jsonld +++ b/examples/APPSTORE.jsonld @@ -4,25 +4,27 @@ "idsc": "https://w3id.org/idsa/code/", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "dct": "http://purl.org/dc/terms/", + "dcat": "http://www.w3.org/ns/dcat#", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ { "@id": "http://foo.bar", "@type": "ids:AppResource", - "ids:customLicense": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, - "ids:description": { + "dct:description": { "@language": "en", "@value": "AppResource 2." }, - "ids:keyword": [ + "dcat:keyword": [ "bla", "Data", "processing" ], - "ids:title": "App Title" + "dct:title": "App Title" }, { "@id": "_:ub61bL21C25", @@ -42,7 +44,7 @@ "ids:curator": { "@id": "http://fit.fraunhofer.de/participant/bar" }, - "ids:description": "IDS AppStore self-description", + "dct:description": "IDS AppStore self-description", "ids:hasDefaultEndpoint": { "@id": "_:ub61bL13C28" }, @@ -57,27 +59,27 @@ "ids:securityProfile": { "@id": "idsc:BASE_SECURITY_PROFILE" }, - "ids:title": "AppStore" + "dct:title": "AppStore" }, { "@id": "http://appIdentifier_2", "@type": "ids:AppResource", - "ids:customLicense": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, - "ids:description": { + "dct:description": { "@language": "en", "@value": "AppResource 1" }, "ids:securityProfile": { "@id": "idsc:BASE_SECURITY_PROFILE" }, - "ids:keyword": [ + "dcat:keyword": [ "bla", "Data", "processing" ], - "ids:title": "App 1 Title" + "dct:title": "App 1 Title" }, { "@id": "_:ub61bL13C28", diff --git a/examples/APPSTORE.ttl b/examples/APPSTORE.ttl index 94e93177..23927672 100644 --- a/examples/APPSTORE.ttl +++ b/examples/APPSTORE.ttl @@ -2,11 +2,13 @@ @prefix rdf: . @prefix xsd: . @prefix idsc: . +@prefix dct: . +@prefix dcat: . a ids:AppStore ; - ids:title "AppStore" ; - ids:description "IDS AppStore self-description" ; + dct:title "AppStore" ; + dct:description "IDS AppStore self-description" ; ids:maintainer ; ids:curator ; ids:outboundModelVersion "4.1.0" ; @@ -29,15 +31,15 @@ . a ids:AppResource; - ids:title "App Title" ; - ids:description "AppResource 2."@en; - ids:keyword "Data", "processing", "bla" ; - ids:customLicense ; + dct:title "App Title" ; + dct:description "AppResource 2."@en; + dcat:keyword "Data", "processing", "bla" ; + dct:license ; . a ids:AppResource; - ids:title "App 1 Title" ; - ids:description "AppResource 1"@en; - ids:keyword "Data", "processing", "bla" ; - ids:customLicense ; + dct:title "App 1 Title" ; + dct:description "AppResource 1"@en; + dcat:keyword "Data", "processing", "bla" ; + dct:license ; . diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index 22b3b84b..acdc39c8 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -2,13 +2,16 @@ @prefix rdf: . @prefix xsd: . @prefix idsc: . +@prefix dct: . +@prefix dcat: . + a ids:AppResource; - ids:title "App Title" ; - ids:description "Data App for something with data."@en; - ids:keyword "Data", "processing", "bla" ; - ids:customLicense ; + dct:title "App Title" ; + dct:description "Data App for something with data."@en; + dcat:keyword "Data", "processing", "bla" ; + dct:license ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; ids:endpointInformation "This is the default endpoint of the FIT Connector. Used for communication and data exchange."; @@ -20,7 +23,7 @@ ids:representation [ a ids:AppRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:dataAppDistributionService ; ids:dataAppRuntimeEnvironment "Docker" ; ids:dataAppInformation [ diff --git a/examples/APP_RESOURCE_old.jsonld b/examples/APP_RESOURCE_old.jsonld index b4ed9419..9a4670b9 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.jsonld @@ -4,6 +4,8 @@ "idsc": "https://w3id.org/idsa/code/", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "dct": "http://purl.org/dc/terms/", + "dcat": "http://www.w3.org/ns/dcat#", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [{ @@ -28,14 +30,14 @@ "ids:instance": { "@id": "https://connector.fit.fraunhofer.de/apps/instance/42" }, - "ids:mediaType": { + "dcat:mediaType": { "@id": "https://www.iana.org/assignments/media-types/application/zip" } }, { "@id": "https://connector.fit.fraunhofer.de/apps/instance/42", "@type": "ids:Artifact", "ids:byteSize": 9759, - "ids:creationDate": { + "dct:created": { "@type": "xsd:dateTimeStamp", "@value": "2020-03-19T12:00:00+02:00" }, @@ -57,14 +59,14 @@ }, { "@id": "https://connector.fit.fraunhofer.de/apps/ImageAnonymizationApp/1337", "@type": "ids:AppResource", - "ids:customLicense": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, - "ids:description": { + "dct:description": { "@language": "en", "@value": "Data App for something with data." }, - "ids:keyword": [ + "dcat:keyword": [ "processing", "Data", "bla" @@ -75,7 +77,7 @@ "ids:resourceEndpoint": { "@id": "_:ub45bL11C26" }, - "ids:title": "App Title" + "dct:title": "App Title" }, { "@id": "_:ub45bL27C29", "@type": "ids:AppEndpoint", diff --git a/examples/BROKER.jsonld b/examples/BROKER.jsonld index 568364d9..3378b055 100644 --- a/examples/BROKER.jsonld +++ b/examples/BROKER.jsonld @@ -7,6 +7,7 @@ "part1": "https://im.internationaldataspaces.org/participant/part1", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "dct": "http://purl.org/dc/terms/", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ @@ -23,7 +24,7 @@ { "@id": "conn2:data1", "@type": "ids:Resource", - "ids:title": "some Resource" + "dct:title": "some Resource" }, { "@id": "broker1:", @@ -37,7 +38,7 @@ "ids:curator": { "@id": "https://im.internationaldataspaces.org/participant/part1" }, - "ids:description": "Description of an example Trusted Connector maintained by PART1", + "dct:description": "Description of an example Trusted Connector maintained by PART1", "ids:hasDefaultEndpoint": { "@id": "_:ub91bL19C28" }, @@ -55,12 +56,12 @@ "ids:securityProfile": { "@id": "idsc:BASE_SECURITY_PROFILE" }, - "ids:title": "Logistics registry" + "dct:title": "Logistics registry" }, { "@id": "conn2:data2", "@type": "ids:Resource", - "ids:title": "another Resource" + "dct:title": "another Resource" }, { "@id": "_:ub91bL19C28", @@ -78,7 +79,7 @@ { "@id": "conn2:data3", "@type": "ids:Resource", - "ids:title": "yet another Resource" + "dct:title": "yet another Resource" }, { "@id": "_:ub91bL33C25", diff --git a/examples/BROKER.ttl b/examples/BROKER.ttl index df1beeae..6f299b38 100644 --- a/examples/BROKER.ttl +++ b/examples/BROKER.ttl @@ -1,17 +1,16 @@ @prefix ids: . @prefix idsc: . @prefix xsd: . -@prefix idsc: . @prefix part1: . @prefix conn2: . @prefix broker1: . - +@prefix dct: . broker1: a ids:Broker; # General properties - ids:title "Logistics registry" ; - ids:description "Description of an example Trusted Connector maintained by PART1" ; + dct:title "Logistics registry" ; + dct:description "Description of an example Trusted Connector maintained by PART1" ; ids:maintainer part1: ; # Participant ~ service provider PART1 ids:curator part1: ; # Content manager ids:physicalLocation ; #Datacenter located in Bonn @@ -52,13 +51,13 @@ conn2:certification . conn2:data1 a ids:Resource; - ids:title "some Resource"; + dct:title "some Resource"; . conn2:data2 a ids:Resource; - ids:title "another Resource"; + dct:title "another Resource"; . conn2:data3 a ids:Resource; - ids:title "yet another Resource"; + dct:title "yet another Resource"; . \ No newline at end of file diff --git a/examples/CONNECTOR_1.jsonld b/examples/CONNECTOR_1.jsonld index 0f4c02c4..f90ec865 100644 --- a/examples/CONNECTOR_1.jsonld +++ b/examples/CONNECTOR_1.jsonld @@ -6,6 +6,7 @@ "part1": "https://im.internationaldataspaces.org/participant/part1", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "dct": "http://purl.org/dc/terms/", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ @@ -21,7 +22,7 @@ "ids:curator": { "@id": "https://im.internationaldataspaces.org/participant/part1" }, - "ids:description": "Mobile base connector operated by PART1", + "dct:description": "Mobile base connector operated by PART1", "ids:hasDefaultEndpoint": { "@id": "conn1:http_host" }, @@ -39,7 +40,7 @@ "ids:securityProfile": { "@id": "idsc:BASE_SECURITY_PROFILE" }, - "ids:title": "Mobile base connector" + "dct:title": "Mobile base connector" }, { "@id": "conn1:http_host", diff --git a/examples/CONNECTOR_1.ttl b/examples/CONNECTOR_1.ttl index 60cfbf19..6f39e32d 100644 --- a/examples/CONNECTOR_1.ttl +++ b/examples/CONNECTOR_1.ttl @@ -4,6 +4,7 @@ @prefix idsc: . # Participant URI is resolved by Identity Manager @prefix part1: . +@prefix dct: . # Connector-related description nodes reside in its own namespace @prefix conn1: . @@ -11,8 +12,8 @@ conn1: a ids:BaseConnector ; # General properties - ids:title "Mobile base connector" ; - ids:description "Mobile base connector operated by PART1" ; + dct:title "Mobile base connector" ; + dct:description "Mobile base connector operated by PART1" ; ids:maintainer part1: ; ids:curator part1: ; ids:physicalLocation ; # Bonn diff --git a/examples/CONNECTOR_2.ttl b/examples/CONNECTOR_2.ttl index dbe0c138..d0f8dd6d 100644 --- a/examples/CONNECTOR_2.ttl +++ b/examples/CONNECTOR_2.ttl @@ -2,6 +2,8 @@ @prefix idsc: . @prefix xsd: . @prefix idsc: . +@prefix dct: . + # Participant URI is resolved by Identity Manager @prefix part1: . @@ -12,8 +14,8 @@ conn2: a ids:TrustedConnector ; # General properties - ids:title "EU Traffic statistics hub" ; - ids:description "Example Trusted Connector maintained by PART1" ; + dct:title "EU Traffic statistics hub" ; + dct:description "Example Trusted Connector maintained by PART1" ; ids:maintainer part1: ; # Participant ~ service provider PART1 ids:curator part1: ; # Content manager ids:physicalLocation ; #Datacenter located in Bonn @@ -52,13 +54,13 @@ conn2:certification . conn2:data1 a ids:Resource; - ids:title "some Resource"; + dct:title "some Resource"; . conn2:data2 a ids:Resource; - ids:title "another Resource"; + dct:title "another Resource"; . conn2:data3 a ids:Resource; - ids:title "yet another Resource"; + dct:title "yet another Resource"; . \ No newline at end of file diff --git a/examples/CONNECTOR_UPDATE_MESSAGE.jsonld b/examples/CONNECTOR_UPDATE_MESSAGE.jsonld index 657269b3..c6158e32 100644 --- a/examples/CONNECTOR_UPDATE_MESSAGE.jsonld +++ b/examples/CONNECTOR_UPDATE_MESSAGE.jsonld @@ -4,6 +4,7 @@ "idsc": "https://w3id.org/idsa/code/", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "dct": "http://purl.org/dc/terms/", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ diff --git a/examples/CONNECTOR_UPDATE_MESSAGE.ttl b/examples/CONNECTOR_UPDATE_MESSAGE.ttl index 2cf48810..d60af813 100644 --- a/examples/CONNECTOR_UPDATE_MESSAGE.ttl +++ b/examples/CONNECTOR_UPDATE_MESSAGE.ttl @@ -1,6 +1,7 @@ @prefix ids: . @prefix idsc: . @prefix xsd: . +@prefix dct: . @prefix : . @@ -8,7 +9,7 @@ a ids:ConnectorUpdateMessage ; ids:issuerConnector ; ids:recipientConnector ; - ids:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; + dct:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; ids:modelVersion "4.1.0" ; ids:affectedConnector ; ids:senderAgent ; diff --git a/examples/CONTRACT_MESSAGES.ttl b/examples/CONTRACT_MESSAGES.ttl index fe2f5ccb..f058a842 100644 --- a/examples/CONTRACT_MESSAGES.ttl +++ b/examples/CONTRACT_MESSAGES.ttl @@ -3,6 +3,7 @@ @prefix rdfs: . @prefix xsd: . @prefix idsc: . +@prefix dct: . @prefix data1: . @prefix conn3: . @@ -12,7 +13,7 @@ conn3:inter3_r a ids:ContractRequestMessage; ids:issuerConnector conn3: ; ids:recipientConnector conn2: ; - ids:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; + dct:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; ids:modelVersion "4.1.0"; ids:securityToken [ a ids:DynamicAttributeToken ; @@ -26,7 +27,7 @@ conn3:inter3_r a ids:ContractRequestMessage; conn2:inter3_o a ids:ContractOfferMessage; ids:issuerConnector conn2: ; ids:recipientConnector conn3: ; - ids:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; + dct:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; ids:modelVersion "4.1.0"; ids:securityToken [ a ids:DynamicAttributeToken ; @@ -41,7 +42,7 @@ conn2:inter3_o a ids:ContractOfferMessage; conn3:inter3_a a ids:ContractAgreementMessage; ids:issuerConnector conn3: ; ids:recipientConnector conn2: ; - ids:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; + dct:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; ids:modelVersion "4.1.0"; ids:securityToken [ a ids:DynamicAttributeToken ; @@ -56,7 +57,7 @@ conn3:inter3_a a ids:ContractAgreementMessage; conn2:inter3_a a ids:ContractAgreementMessage; ids:issuerConnector conn2: ; ids:recipientConnector conn3: ; - ids:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; + dct:issued "2020-06-08T12:10:13Z"^^xsd:dateTimeStamp ; ids:modelVersion "4.1.0"; ids:securityToken [ a ids:DynamicAttributeToken ; diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 98e45f0e..62db9989 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -2,6 +2,10 @@ @prefix idsc: . @prefix rdf: . @prefix xsd: . +@prefix time: . +@prefix odrl: . +@prefix dct: . +@prefix dcat: . @prefix conn2: . @prefix data1: . @@ -9,39 +13,41 @@ data1: a ids:TextResource ; - ids:title "European highway statistics - accident report"@en ; - ids:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; - ids:keyword "report", "highway", "statistics", "Europe" ; - ids:temporalCoverage [ + dct:title "European highway statistics - accident report"@en ; + dct:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; + dcat:keyword "report", "highway", "statistics", "Europe" ; + dct:temporal [ a ids:Interval ; - ids:begin [ - a ids:Instant ; - ids:dateTime "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + time:hasBeginning [ + a time:Instant ; + time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; - ids:end [ - a ids:Instant ; - ids:dateTime "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + time:hasEnd [ + a time:Instant; + time:inXSDDateTimeStamp "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; ] ; - ids:language idsc:EN ; + dct:language idsc:EN ; ids:representation [ a ids:TextRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance data1:report_pdf ; ] ; ids:representation [ a ids:TextRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance data1:report_doc ; ] ; # Communication ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:endpointArtifact data1:report_pdf ; ids:accessURL ; ] ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:endpointArtifact data1:report_doc ; ids:accessURL ; ] ; @@ -53,45 +59,36 @@ data1:report_pdf a ids:Artifact ; ids:byteSize "1923497"^^xsd:integer ; ids:fileName "Highway_accident_statistics.pdf" ; - ids:creationDate "2018-06-18T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + dct:created "2018-06-18T12:00:00.000+02:00"^^xsd:dateTimeStamp ; . data1:report_doc a ids:Artifact ; ids:byteSize "28923491"^^xsd:integer ; ids:fileName "Highway_accident_statistics.doc" ; - ids:creationDate "2018-06-18T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + dct:created "2018-06-18T12:00:00.000+02:00"^^xsd:dateTimeStamp ; . data1:offer a ids:ContractOffer ; - ids:permission [ - a ids:Permission ; - ids:assigner part1: ; + odrl:permission[ + a odrl:Permission ; + odrl:assigner part1: ; # individual target(s) ids:target data1: ; - ids:action idsc:USE ; + odrl:action idsc:USE ; # Obligation ids:preDuty [ - a ids:Duty ; - ids:action idsc:COMPENSATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQUALS ; - ids:rightOperand 25 ; - ids:unit + a odrl:Duty ; + odrl:action idsc:COMPENSATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:PAY_AMOUNT ; + odrl:operator idsc:EQUALS ; + odrl:rightOperand 25 ; + odrl:unit ] - # original ODRL construct does not fit model transformation because of indirect action-reference via rdf:value - #ids:action [ - # rdf:value idsc_action:COMPENSATE ; - # ids:refinement [ - # ids:leftOperand ids:payAmount ; - # ids:operator ids:eq ; - # ids:rightOperand 25 ; - # ids:unit - # ] - #] + ] ] . diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 895b4bbc..ba54fa1d 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -2,6 +2,10 @@ @prefix idsc: . @prefix rdf: . @prefix xsd: . +@prefix dcat: . +@prefix time: . +@prefix odrl: . +@prefix dct: . @prefix conn2: . @prefix data2: . @@ -16,22 +20,20 @@ data2: a ids:Resource ; # - download, i.e. non-interactive access - no interface definition needed # - plain, historical data, free of charge # - ids:title "European highway statistics"@en ; - ids:description "Data collection about usage statistics of European highways"@en; - ids:keyword "highway", "statistics", "Europe"; - - # the collection is extended once per month - # ids:accrualPeriodicity "P1M"^^xsd:duration ; + dct:title "European highway statistics"@en ; + dct:description "Data collection about usage statistics of European highways"@en; + dcat:keyword "highway", "statistics", "Europe"; # Compressed representation of an overall resource snapshot # ids:representation [ - a ids:Representation ; - ids:mediaType ; + a dcat:Distribution ; + dcat:mediaType ; ids:instance data2:tar_gzip_archive ; ] ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:endpointArtifact data2:tar_gzip_archive ; ids:accessURL ; ] ; . @@ -40,7 +42,7 @@ data2:tar_gzip_archive # Overall resource archive a ids:Artifact ; ids:byteSize "2123178072"^^xsd:integer ; ids:fileName "EuropeanHighwayStatistics_2000_2017.tar.gz" ; - ids:creationDate "2018-10-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + dct:created "2018-10-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; . @@ -50,21 +52,21 @@ data2:generic_content a ids:DataResource ; # general coverage of the entire dataset - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; - ids:begin [ - a ids:Instant ; - ids:dateTime "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + time:hasBeginning [ + a time:Instant ; + time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; - ids:end [ - a ids:Instant ; - ids:dateTime "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + time:hasEnd [ + a time:Instant ; + time:inXSDDateTimeStamp "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; ] ; ids:representation [ a ids:DataRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance data2:E1_20000101, # imagine plenty of artifacts here ... @@ -90,16 +92,17 @@ data2:E421_20171231 data2: ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:endpointArtifact data2:E1_20000101 ; ids:accessURL ; ] ; ids:contractOffer [ a ids:ContractOffer ; ids:provider part1: ; - ids:permission [ - a ids:Permission ; - ids:assigner part1: ; + odrl:permission[ + a odrl:Permission ; + odrl:assigner part1: ; ids:target data2:generic_content ; # i.e. applies to any artifact / instance of given content - ids:action idsc:USE ; + odrl:action idsc:USE ; ] ] . diff --git a/examples/DATA3.ttl b/examples/DATA3.ttl new file mode 100644 index 00000000..7dbe4051 --- /dev/null +++ b/examples/DATA3.ttl @@ -0,0 +1,96 @@ +@prefix ids: . +@prefix idsc: . +@prefix rdf: . +@prefix odrl: . +@prefix xsd: . +@prefix dqv: . +@prefix dct: . +@prefix time: . + +@prefix conn3: . +@prefix data3: . +@prefix part1: . + +data3: + a ids:TextResource ; + ids:title "European highway statistics - traffic report"@en ; + ids:description "Detailed traffic analysis report based on European highway statistics data 2000 - 2017."@en; + ids:keyword "report", "highway", "statistics", "Europe" ; + dct:temporal [ + a ids:Interval ; + time:hasBeginning [ + a time:Instant ; + time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + ]; + time:hasEnd [ + a time:Instant ; + time:inXSDDateTimeStamp "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + ] + ] ; + ids:language idsc:EN ; + ids:representation [ + a ids:TextRepresentation ; + ids:mediaType ; + ids:instance data3:report_pdf ; + ] ; + ids:representation [ + a ids:TextRepresentation ; + ids:mediaType ; + ids:instance data3:report_doc ; + ] ; + + # Communication + ids:resourceEndpoint [ + a ids:ConnectorEndpoint ; + ids:endpointArtifact data3:report_pdf ; + ids:accessURL ; + ] ; + ids:resourceEndpoint [ + a ids:ConnectorEndpoint ; + ids:endpointArtifact data3:report_doc ; + ids:accessURL ; + ] ; + + # Data Quality + dqv:hasQualityMeasurement [ + a dqv:QualityMeasurement ; + dqv:isMeasurementOf idsc:downloadURLAvailabilityMetric ; + dqv:value "true"^^xsd:boolean ; + ] ; + + # Commodization + ids:contractOffer data3:offer . + + # Identifiable materialization(s) - no blank nodes +data3:report_pdf + a ids:Artifact ; + ids:byteSize "1923497"^^xsd:integer ; + ids:fileName "Highway_traffic_statistics.pdf" ; + ids:creationDate "2018-06-18T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + . + +data3:report_doc + a ids:Artifact ; + ids:byteSize "28923491"^^xsd:integer ; + ids:fileName "Highway_traffic_statistics.doc" ; + ids:creationDate "2018-06-18T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + . + +data3:offer + a ids:ContractOffer ; + ids:permission [ + a ids:Permission ; + ids:assigner part1: ; + # individual target(s) + ids:target data3: ; + odrl:action idsc:USE ; + ids:constraint [ + a ids:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:GTEQ ; + odrl:rightOperand idsc:TRUST_SECURITY_PROFILE + ] + ] . + + a ids:IANAMediaType . + a ids:IANAMediaType . diff --git a/examples/DAT_PAYLOAD.jsonld b/examples/DAT_PAYLOAD.jsonld deleted file mode 100644 index c0509357..00000000 --- a/examples/DAT_PAYLOAD.jsonld +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@context":"https://w3id.org/idsa/contexts/context.jsonld", - "@type":"ids:DatPayload", - "iss":"DD:CB:FD:0B:93:84:33:01:11:EB:5D:94:94:88:BE:78:7D:57:FC:4A:keyid:CB:8C:C7:B6:85:79:A8:23:A6:CB:15:AB:17:50:2F:E6:65:43:5D:E8", - "sub": "DD:CB:FD:0B:93:84:33:01:11:EB:5D:94:94:88:BE:78:7D:57:FC:4A:keyid:CB:8C:C7:B6:85:79:A8:23:A6:CB:15:AB:17:50:2F:E6:65:43:5D:E8", - "exp": 1587789961, - "iat": 1576236057, - "aud": "https://w3id.org/idsa/code/IDS_CONNECTOR_ATTRIBUTES_ALL", - "nbf": 1567703561, - "ids:referringConnector": "http://example.org/ids/connector" -} diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index bd378478..6322654d 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -5,28 +5,31 @@ "part1": "https://im.internationaldataspaces.org/participant/part1", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "org": "", + "dct": "http://purl.org/dc/terms/", + "foaf": "http://xmlns.com/foaf/0.1/", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ { "@id": "https://im.internationaldataspaces.org/participant/part1", "@type": "ids:Participant", - "ids:corporateEmailAddress": "info@aastat.de", - "ids:corporateHomepage": { + "foaf:mbox": "info@aastat.de", + "foaf:homepage": { "@id": "http://aastat.de" }, - "ids:description": { + "dct:description": { "@language": "en", "@value": "Agency maintaining a large-scale infrastructure for monitoring, analysis and prediction of highway utilization statistics in Europe." }, "ids:participantCertification": { "@id": "_:ub97bL19C34" }, - "ids:primarySite": { + "org:hasPrimarySite": { "@id": "_:ub97bL15C21" }, "ids:legalForm" : "DX6Z" , - "ids:title": [ + "dct:title": [ { "@language": "en", "@value": "Highway monitoring and statistics agency" @@ -50,7 +53,7 @@ }, { "@id": "_:ub97bL15C21", - "@type": "ids:Site", + "@type": "org:Site", "ids:siteAddress": "Agentur für Autobahnstatistik, Am Hügel 5, D-53121 Bonn" } ] diff --git a/examples/PARTICIPANT_1.ttl b/examples/PARTICIPANT_1.ttl index 61170b87..abe6dff7 100644 --- a/examples/PARTICIPANT_1.ttl +++ b/examples/PARTICIPANT_1.ttl @@ -1,20 +1,24 @@ @prefix ids: . @prefix xsd: . @prefix idsc: . +@prefix org: . # Participant URI is resolved by Identity Manager @prefix part1: . +@prefix dct: . +@prefix foaf: . + # Assuming resolution of the hypothetical participant URI (urn:ids:example:PART1) by the Identity Provider part1: a ids:Participant ; - ids:title "Agentur für Autobahnstatistik"@de; - ids:title "Highway monitoring and statistics agency"@en; - ids:description "Agency maintaining a large-scale infrastructure for monitoring, analysis and prediction of highway utilization statistics in Europe."@en ; - ids:corporateEmailAddress "info@aastat.de" ; - ids:corporateHomepage ; + dct:title "Agentur für Autobahnstatistik"@de; + dct:title "Highway monitoring and statistics agency"@en; + dct:description "Agency maintaining a large-scale infrastructure for monitoring, analysis and prediction of highway utilization statistics in Europe."@en ; + foaf:mbox "info@aastat.de" ; + foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. - ids:primarySite [ - a ids:Site ; + org:hasPrimarySite [ + a org:Site ; ids:siteAddress "Agentur für Autobahnstatistik, Am Hügel 5, D-53121 Bonn" ; ] ; ids:participantCertification [ diff --git a/examples/PARTICIPANT_2.ttl b/examples/PARTICIPANT_2.ttl index 411d8db2..bcbcbe9c 100644 --- a/examples/PARTICIPANT_2.ttl +++ b/examples/PARTICIPANT_2.ttl @@ -1,17 +1,21 @@ @prefix ids: . @prefix idsc: . +@prefix org: . @prefix xsd: . @prefix part2: . +@prefix dct: . +@prefix foaf: . + part2: a ids:Participant ; - ids:title "App4Traffic GmbH"@en; - ids:description "Software development and service provision"@en ; - ids:corporateEmailAddress "info@app4traffic.de" ; - ids:corporateHomepage ; + dct:title "App4Traffic GmbH"@en; + dct:description "Software development and service provision"@en ; + foaf:mbox "info@app4traffic.de" ; + foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. - ids:primarySite [ - a ids:Site ; + org:hasPrimarySite [ + a org:Site ; ids:siteAddress "App4Traffic GmbH, Am Rheinufer 7, D-53127 Bonn" ; ] ; ids:participantCertification [ diff --git a/examples/PARTICIPANT_3.ttl b/examples/PARTICIPANT_3.ttl index bab73219..f6dd06dd 100644 --- a/examples/PARTICIPANT_3.ttl +++ b/examples/PARTICIPANT_3.ttl @@ -1,17 +1,21 @@ @prefix ids: . +@prefix org: . @prefix xsd: . @prefix idsc: . @prefix part3: . +@prefix dct: . +@prefix foaf: . + part3: a ids:Participant ; - ids:title "Supercargo GmbH"@en; - ids:description "Interational logistics company"@en ; - ids:corporateEmailAddress "info@supercargo.de" ; - ids:corporateHomepage ; + dct:title "Supercargo GmbH"@en; + dct:description "Interational logistics company"@en ; + foaf:mbox "info@supercargo.de" ; + foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. - ids:primarySite [ - a ids:Site ; + org:hasPrimarySite [ + a org:Site ; ids:siteAddress "Supercargo Gmbh, Musterstraße 5, Köln, Deutschland" ; ] ; ids:participantCertification [ @@ -25,28 +29,28 @@ part3: part3:ru a ids:Participant ; - ids:title "Supercargo OOO"@en; - ids:description "Interational logistics company"@en ; - ids:corporateEmailAddress "info@supercargo.ru" ; - ids:corporateHomepage ; + dct:title "Supercargo OOO"@en; + dct:description "Interational logistics company"@en ; + foaf:mbox "info@supercargo.ru" ; + foaf:homepage ; # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 - ids:primarySite [ - a ids:Site ; + org:hasPrimarySite [ + a org:Site ; ids:siteAddress "Supercargo OOO, Yлица пример 120, Москва, Россия" ; ] . part3:hk a ids:Participant ; - ids:title "Supercargo Ltd."@en; - ids:description "Interational logistics company"@en ; - ids:corporateEmailAddress "info@supercargo.hk" ; - ids:corporateHomepage ; + dct:title "Supercargo Ltd."@en; + dct:description "Interational logistics company"@en ; + foaf:mbox "info@supercargo.hk" ; + foaf:homepage ; # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 - ids:primarySite [ - a ids:Site ; + org:hasPrimarySite [ + a org:Site ; ids:siteAddress "Sample Road 15c, Hongkong" ; ] . diff --git a/examples/QUERY_MESSAGE.ttl b/examples/QUERY_MESSAGE.ttl index ac83c2c4..7a0b5a3c 100644 --- a/examples/QUERY_MESSAGE.ttl +++ b/examples/QUERY_MESSAGE.ttl @@ -3,6 +3,7 @@ @prefix rdfs: . @prefix xsd: . @prefix idsc: . +@prefix dct: . @prefix conn2: . @prefix broker1: . @prefix : . @@ -10,11 +11,10 @@ :inter2_q # Query part a ids:QueryMessage; - ids:queryScope idsc:ACTIVE_ONLY ; ids:queryLanguage idsc:SPARQL ; ids:issuerConnector conn2: ; ids:recipientConnector broker1: ; - ids:issued "2020-08-06T15:57:00Z"^^xsd:dateTimeStamp; + dct:issued "2020-08-06T15:57:00Z"^^xsd:dateTimeStamp; ids:modelVersion "4.1.0"; ids:senderAgent conn2:senderAgent ; ids:securityToken [ diff --git a/examples/RESULT_MESSAGE.ttl b/examples/RESULT_MESSAGE.ttl index fec211a0..babc5e04 100644 --- a/examples/RESULT_MESSAGE.ttl +++ b/examples/RESULT_MESSAGE.ttl @@ -3,6 +3,7 @@ @prefix rdfs: . @prefix xsd: . @prefix idsc: . +@prefix dct: . @prefix conn2: . @prefix broker1: . @prefix : . @@ -14,7 +15,7 @@ ids:correlationMessage :inter2_q ; ids:issuerConnector :broker1 ; ids:recipientConnector :conn2 ; - ids:issued "2020-08-06T15:57:01Z"^^xsd:dateTimeStamp; + dct:issued "2020-08-06T15:57:01Z"^^xsd:dateTimeStamp; ids:senderAgent broker1:senderAgent ; ids:modelVersion "4.1.0"; ids:securityToken [ diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index 99d20a0f..43cba73d 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -5,7 +5,10 @@ "part1": "https://im.internationaldataspaces.org/participant/part1", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "xsd": "http://www.w3.org/2001/XMLSchema#" + "xsd": "http://www.w3.org/2001/XMLSchema#", + "time": "http://www.w3.org/2006/time#", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dct": "http://purl.org/dc/terms/" }, "@type": "ids:TextResource", "@id": "https://connector.fit.fraunhofer.de/autogen/textResource/a1247d97-fa1d-4fb4-b22f-590b2f53fa6e", @@ -26,14 +29,14 @@ "temporalCoverage": [{ "@type": "ids:Interval", "begin": { - "@type": "ids:Instant", + "@type": "time:Instant", "dateTime": { "@value": "2000-01-01T12:00:00.000+02:00", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } }, "end": { - "@type": "ids:Instant", + "@type": "time:Instant", "dateTime": { "@value": "2017-12-31T12:00:00.000+02:00", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -42,7 +45,7 @@ } ], "standardLicense": { - "@type": "ids:License", + "@type": "dct:License", "@id": "https://example.org/OTHERCOMMERCIALLICENSE" }, "language": { @@ -80,17 +83,17 @@ "provider": {"@id": ""}, "contractDocument": {"@id": ""}, "permission": [{ - "@type": "ids:Permission", + "@type": "odrl:Permission", "action": { - "@type": "ids:Action", + "@type": "odrl:Action", "@id": "https://w3id.org/idsa/code/USE" }, "assigner": {"@id": ""}, "target": {"@id": "Reference to the PDF Artifact, e.g. https://connector.fit.fraunhofer.de/augtogen/artifact/934e-112fe8aa050b"}, "constraint": { - "@type": "ids:Constraint", + "@type": "odrl:Constraint", "leftOperand": { - "@type": "ids:LeftOperand", + "@type": "odrl:LeftOperand", "@id": "https://w3id.org/idsa/code/POLICY_EVALUATION_TIME" }, "operator": { @@ -100,14 +103,14 @@ "rightOperand": { "@type": "ids:Interval", "begin": { - "@type": "ids:Instant", + "@type": "time:Instant", "dateTime": { "@value": "2000-01-01T12:00:00.000+02:00", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } }, "end": { - "@type": "ids:Instant", + "@type": "time:Instant", "dateTime": { "@value": "2017-12-31T12:00:00.000+02:00", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -116,14 +119,14 @@ } }, "preObligation": { - "@type": "ids:Duty", + "@type": "odrl:Duty", "action": { "@id": "https://w3id.org/idsa/code/COMPENSATE" }, "constraint": { - "@type": "ids:Constraint", + "@type": "odrl:Constraint", "leftOperand": { - "@type": "ids:LeftOperand", + "@type": "odrl:LeftOperand", "@id": "https://w3id.org/idsa/code/PAY_AMOUNT" }, diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 328dad3b..f7b40b64 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -4,16 +4,24 @@ @prefix xsd: . @prefix conn2: . @prefix data1: . +@prefix time: . +@prefix odrl: . +@prefix dct: . +@prefix dcat: . + + + + data1: a ids:TextResource ; - ids:title "European highway statistics - accident report"@en ; - ids:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; - ids:keyword "report", "highway", "statistics", "Europe" ; + dct:title "European highway statistics - accident report"@en ; + dct:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; + dcat:keyword "report", "highway", "statistics", "Europe" ; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. - ids:publisher ; + dct:publisher ; ids:sovereign ; # Reference to a existing Resource included, definition of "part-whole" hierarchies. @@ -23,29 +31,29 @@ data1: # ids:variant ; # Temporal period covered by the content of the resource: 2000-01-01 to 2017-12-31 - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; - ids:begin [ - a ids:Instant; - ids:dateTime "2000-12-01T13:20:00Z"^^xsd:dateTimeStamp; + time:hasBeginning [ + a time:Instant; + time:inXSDDateTimeStamp "2000-12-01T13:20:00Z"^^xsd:dateTimeStamp; ] ; - ids:end [ - a ids:Instant; - ids:dateTime "2002-12-31T13:20:00Z"^^xsd:dateTimeStamp; + time:hasEnd [ + a time:Instant; + time:inXSDDateTimeStamp "2002-12-31T13:20:00Z"^^xsd:dateTimeStamp; ] ; ] ; - ids:language idsc:EN ; + dct:language idsc:EN ; ids:representation [ a ids:TextRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance data1:report_pdf ; ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - ids:standardLicense ; + dct:license ; # Language of resource: Englisch - ids:language idsc:EN ; + dct:language idsc:EN ; # sample of the resource, e.g., web-retrievable or inline content # ids:sample ; @@ -56,7 +64,7 @@ data1: # - reference to an "instance" of the representation (report_pdf) ids:representation [ a ids:TextRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance data1:report_doc ; ] ; @@ -86,55 +94,55 @@ data1:report_pdf a ids:Artifact ; ids:byteSize "1923497"^^xsd:integer ; ids:fileName "Highway_accident_statistics.pdf" ; - ids:creationDate "2018-12-15T13:20:00Z"^^xsd:dateTimeStamp; ; + dct:created "2018-12-15T13:20:00Z"^^xsd:dateTimeStamp; ; . data1:report_doc a ids:Artifact ; ids:byteSize "28923491"^^xsd:integer ; ids:fileName "Highway_accident_statistics.doc" ; - ids:creationDate "2018-12-15T13:20:00Z"^^xsd:dateTimeStamp; ; + dct:created "2018-12-15T13:20:00Z"^^xsd:dateTimeStamp; ; . data1:offer a ids:ContractOffer ; ids:provider ; ids:contractDocument _:contractReource; - ids:permission [ - a ids:Permission; - ids:assigner ; + odrl:permission[ + a odrl:Permission; + odrl:assigner ; # individual target(s) ids:target _:foo ; - ids:action idsc:USE ; + odrl:action idsc:USE ; # Obligation ids:preDuty [ - a ids:Duty; - ids:action idsc:COMPENSATE ; - ids:constraint [ - a ids:Constraint; - ids:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQ ; - ids:rightOperand 25 ; - ids:unit + a odrl:Duty; + odrl:action idsc:COMPENSATE ; + odrl:constraint [ + a odrl:Constraint; + odrl:leftOperand idsc:PAY_AMOUNT ; + odrl:operator idsc:EQ ; + odrl:rightOperand 25 ; + odrl:unit ] ] ] . _:contractReource a ids:TextResource; - ids:title "detailed contract for a resource"; + dct:title "detailed contract for a resource"; . _:foo a ids:Artifact ; ids:byteSize "1923497"^^xsd:integer ; ids:fileName "Highway_accident_statistics.pdf" ; - ids:creationDate "2018-12-15T13:20:00Z"^^xsd:dateTimeStamp; ; + dct:created "2018-12-15T13:20:00Z"^^xsd:dateTimeStamp; ; . _:bar a ids:Artifact ; ids:byteSize "28923491"^^xsd:integer ; ids:fileName "Highway_accident_statistics.doc" ; - ids:creationDate "2018-12-15T13:20:00Z"^^xsd:dateTimeStamp; ; + dct:created "2018-12-15T13:20:00Z"^^xsd:dateTimeStamp; ; . diff --git a/examples/TRUSTED_CONNECTOR.jsonld b/examples/TRUSTED_CONNECTOR.jsonld index 0cb1cb69..4442c895 100644 --- a/examples/TRUSTED_CONNECTOR.jsonld +++ b/examples/TRUSTED_CONNECTOR.jsonld @@ -5,15 +5,16 @@ "part1": "https://im.internationaldataspaces.org/participant/part1", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "dct": "http://purl.org/dc/terms/", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@type" : "ids:TrustedConnector", "@id" : "https://connector.fit.fraunhofer.de/", - "ids:title" : [ { + "dct:title" : [ { "@value" : "Fraunhofer FIT - Traffic statistics hub", "@language" : "en" } ], - "ids:description" : [ { + "dct:description" : [ { "@value" : "Example Trusted Connector maintained by the Fraunhofer FIT" , "@language" : "en" } ], diff --git a/examples/TRUSTED_CONNECTOR.ttl b/examples/TRUSTED_CONNECTOR.ttl index 8bfcd8fa..44082423 100644 --- a/examples/TRUSTED_CONNECTOR.ttl +++ b/examples/TRUSTED_CONNECTOR.ttl @@ -7,13 +7,14 @@ @prefix xsd: . @prefix conn1: . @prefix sample_Data: . +@prefix dct: . # Example of a Trusted Connector in the Information Model. conn1: a ids:TrustedConnector ; # General properties - ids:title "Fraunhofer FIT - Traffic statistics hub" ; - ids:description "Example Trusted Connector maintained by the Fraunhofer FIT"@en ; + dct:title "Fraunhofer FIT - Traffic statistics hub" ; + dct:description "Example Trusted Connector maintained by the Fraunhofer FIT"@en ; ids:maintainer ; ids:curator ; diff --git a/examples/contracts-and-usage-policy/USAGE_CONTROL_OBJECT.ttl b/examples/contracts-and-usage-policy/USAGE_CONTROL_OBJECT.ttl index 11d8cdb1..3a1eb2e0 100644 --- a/examples/contracts-and-usage-policy/USAGE_CONTROL_OBJECT.ttl +++ b/examples/contracts-and-usage-policy/USAGE_CONTROL_OBJECT.ttl @@ -1,6 +1,7 @@ @prefix ids: . @prefix rdf: . @prefix xsd: . +@prefix odrl: . @prefix idsc: . @@ -19,7 +20,7 @@ _:uc_object a ids:UsageControlObject ; . - a ids:AssetCollection ; + a odrl:AssetCollection ; # alternative b) --> description #ids:hasMember "Every resource with 'some' and 'resource' in their URI are member of this collection."@en ; . diff --git a/examples/contracts-and-usage-policy/templates/AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/AGREEMENT_TEMPLATE.ttl index c48be3f4..47e3b191 100644 --- a/examples/contracts-and-usage-policy/templates/AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/AGREEMENT_TEMPLATE.ttl @@ -17,5 +17,5 @@ idsc:AGREEMENT_TEMPLATE a ids:ContractAgreement ; skos:note "rdfs:label, rdfs:comment, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ( ids:permission idsc:AGREEMENT_PERMISSION_TEMPLATE ; )+ + ( odrl:permission idsc:AGREEMENT_PERMISSION_TEMPLATE ; )+ . diff --git a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld index 10ae203c..dbf9a276 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld @@ -7,14 +7,14 @@ { "@id": "?ActionUri" } // directly insert the Action URI, if known | // or { - "@type": "ids:Action", // a Collection with exactly one condition to describe the Action + "@type": "odrl:Action", // a Collection with exactly one condition to describe the Action "ids:includedIn": { "@id": "?ActionUri"}, // The general Action, which is further constrained. For instance a idsc:WRITE is only possible if an attribute "color" is equals to "blue" "ids:actionRefinement": [ { "@type": "ids:Constraint", // Define a collection of data objects which, for instance, all have an explicit attribute "color":"blue" - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, // The feature of interest, for instance ?IdscLeftOperand := idsc:PATH - "ids:operator": { "@id": "?IdscBinaryOperator" }, // The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ - "ids:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, // The feature of interest, for instance ?IdscLeftOperand := idsc:PATH + "odrl:operator": { "@id": "?IdscBinaryOperator" }, // The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ + "odrl:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" (, "ids:pipEndpoint": { "@id": "?AttributeLocation"} )? // A URI or path expression to the target attribute, ?AttributeLocation := "//color" (, "ids:unit": { "@id": "?Unit" } )? // A unit which may further explain the ?Value, for instance . } @@ -22,19 +22,19 @@ } | // or { - "@type": "ids:Action", + "@type": "odrl:Action", "ids:includedIn": { "@id": "?ActionUri"}, "ids:actionRefinement": [ { - "@type": "ids:LogicalConstraint", // A Collection with more than one condition to describe its members. + "@type": "odrl:LogicalConstraint", // A Collection with more than one condition to describe its members. "?IdsOperand": { // The operand to connect the constraints, for instance ?IdsOperand := idsc:OR "@list": [ // LogicalConstraints allow the expression of alternatives. For instance, we can select which have "color":"blue" OR "color":"green" ( { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, - "ids:operator": { "@id": "?IdsBinaryOperator" }, - "ids:rightOperand": { "@id": "?Value" } + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, + "odrl:operator": { "@id": "?IdsBinaryOperator" }, + "odrl:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? } diff --git a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl index b64812ea..4426f27f 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -17,32 +18,32 @@ ?ActionUri # directly insert the Action URI and nothing else | # or [ - a ids:Action ; - ids:includedIn ?ActionUri ; # The general Action, which is further constrained. For instance a idsc:WRITE is only possible if an attribute "color" is equals to "blue". + a odrl:Action ; + odrl:includedIn ?ActionUri ; # The general Action, which is further constrained. For instance a idsc:WRITE is only possible if an attribute "color" is equals to "blue". ids:actionRefinement [ # a Collection with exactly one condition to describe its members - a ids:Constraint ; # Define a collection of data objects which, for instance, all have an explicit attribute "color":"blue" - ids:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PATH - ids:operator ?IdscBinaryOperator ; # The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ - ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "blue" + a odrl:Constraint ; # Define a collection of data objects which, for instance, all have an explicit attribute "color":"blue" + odrl:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PATH + odrl:operator ?IdscBinaryOperator ; # The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ + odrl:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "blue" ( ids:pipEndpoint ?AttributeLocation ; )? # A URI or path expression to the target attribute, ?AttributeLocation := "//color" - ( ids:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . + ( odrl:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . ] ] | # or [ - a ids:Action ; - ids:includedIn ?ActionUri ; + a odrl:Action ; + odrl:includedIn ?ActionUri ; ids:actionRefinement [ - a ids:LogicalConstraint ; # A Collection with more than one condition to describe its members. + a odrl:LogicalConstraint ; # A Collection with more than one condition to describe its members. ?IdsOperand # The operand to connect the constraints, for instance ?IdsOperand := idsc:OR ( # '(' is used as an RDF List operator here ( # LogicalConstraints allow the expression of alternatives. For instance, we can select which have "color":"blue" OR "color":"green" - a ids:Constraint ; - ids:leftOperand ?IdscLeftOperand ; - ids:operator ?IdsBinaryOperator ; - ids:rightOperand ?Value ; + a odrl:Constraint ; + odrl:leftOperand ?IdscLeftOperand ; + odrl:operator ?IdsBinaryOperator ; + odrl:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? - ( ids:unit ?Unit ; )? + ( odrl:unit ?Unit ; )? ){2,} # at least two constraints ) # ')' is used as an RDF List operator here ] diff --git a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.jsonld index 7361142f..b9a24baa 100644 --- a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.jsonld @@ -12,12 +12,12 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SYSTEM" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SYSTEM" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "?ConnectorUri" } // the Connector or target system identifier. } ] diff --git a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.ttl index 275ffc4d..9621fa07 100644 --- a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,17 +20,17 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; skos:note "rdfs:label, rdfs:comment, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider, - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider, + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:SYSTEM ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:SYSTEM ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. ] ; ] . diff --git a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.jsonld index 383004fa..3f044e24 100644 --- a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SYSTEM" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SYSTEM" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "?ConnectorUri" } // the Connector or target system identifier. } ] diff --git a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.ttl index c51df52a..b54c530e 100644 --- a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,23 +26,23 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:SYSTEM ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:SYSTEM ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. ] ; ] . diff --git a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.jsonld index 17c9bc4d..fdc76413 100644 --- a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SYSTEM" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SYSTEM" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "?ConnectorUri" } // the Connector or target system identifier. } ] diff --git a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.ttl index ba854816..964d9d2e 100644 --- a/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,23 +26,23 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:SYSTEM ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:SYSTEM ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. ] ; ] . diff --git a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld index 25e6f406..e26ee187 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld @@ -6,23 +6,23 @@ ( { "@type": "ids:Constraint", // Define a collection of data objects which, for instance, all have an explicit attribute "color":"blue" - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, // The feature of interest, for instance ?IdscLeftOperand := idsc:PATH - "ids:operator": { "@id": "?IdscBinaryOperator" }, // The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ - "ids:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, // The feature of interest, for instance ?IdscLeftOperand := idsc:PATH + "odrl:operator": { "@id": "?IdscBinaryOperator" }, // The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ + "odrl:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" (, "ids:pipEndpoint": { "@id": "?AttributeLocation"} )? // A URI or path expression to the target attribute, ?AttributeLocation := "//color" (, "ids:unit": { "@id": "?Unit" } )? // A unit which may further explain the ?Value, for instance . } | // or { - "@type": "ids:LogicalConstraint", // A Collection with more than one condition to describe its members. + "@type": "odrl:LogicalConstraint", // A Collection with more than one condition to describe its members. "?IdsOperand": { // The operand to connect the constraints, for instance ?IdsOperand := idsc:OR "@list": [ // LogicalConstraints allow the expression of alternatives. For instance, we can select which have "color":"blue" OR "color":"green" ( { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, - "ids:operator": { "@id": "?IdsBinaryOperator" }, - "ids:rightOperand": { "@id": "?Value" } + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, + "odrl:operator": { "@id": "?IdsBinaryOperator" }, + "odrl:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? } diff --git a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl index 66257bee..6afb9712 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -15,25 +16,25 @@ ( [ - a ids:Constraint ; # Constraint - ids:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PAY_AMOUNT + a odrl:Constraint ; # Constraint + odrl:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PAY_AMOUNT ids:operator ?IdscBinaryOperator ; # The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:EQ - ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "5" + odrl:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "5" ( ids:pipEndpoint ?AttributeLocation ; )? # A URI or path expression to the target attribute, ?AttributeLocation := - ( ids:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . + ( odrl:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . ] | # or [ - a ids:LogicalConstraint ; # A Collection with more than one condition to describe its members. + a odrl:LogicalConstraint ; # A Collection with more than one condition to describe its members. ?IdsOperand # The operand to connect the constraints, for instance ?IdsOperand := idsc:OR ( # '(' is used as an RDF List operator here ( # LogicalConstraints allow the expression of alternatives. For instance, we can select all combine "idsc:PAY_AMOUNT":"5€" OR "idsc:PAY_AMOUNT":"4$" - a ids:Constraint ; - ids:leftOperand ?IdscLeftOperand ; + a odrl:Constraint ; + odrl:leftOperand ?IdscLeftOperand ; ids:operator ?IdsBinaryOperator ; - ids:rightOperand ?Value ; + odrl:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? - ( ids:unit ?Unit ; )? + ( odrl:unit ?Unit ; )? ){2,} # at least two constraints ) # ')' is used as an RDF List operator here ] diff --git a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.jsonld index 76cf5eac..b59bc2ad 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.jsonld @@ -6,14 +6,14 @@ ( { "@type": "ids:TemporalConstraint", // A TemporalConstraint, for instance current time > January 1st 2020 - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. - "ids:operator": { "@id": + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. + "odrl:operator": { "@id": ("idsc:AFTER" | "idsc:BEFORE" | "idsc:CONTAINS" | "idsc:TEMPORAL_DISJOINT" | "idsc:DURING" | "idsc:TEMPORAL_EQUALS" | "idsc:FINISHED_BY" | "idsc:FINISHES" | "idsc:MEETS" | "idsc:MET_BY" | "idsc:OVERLAPS" | "idsc:OVERLAPPED_BY" | "idsc:STARTS" | "idsc:STARTED_BY") // The comaprison operator, for instance idsc:AFTER }, - "ids:rightOperand": { + "odrl:rightOperand": { "@id": "?Value", // The value expression, for instance ?Value := "2020-01-01T00:00:00.000+02:00" "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -22,12 +22,12 @@ | // or { "@type": "ids:TemporalConstraint", // A TemporalConstraint, for instance usage time < 10 minutes - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, // The overall usage time of the asset, must be provided by the usage enforcement engine or the IDS Connector. - "ids:operator": { "@id": + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, // The overall usage time of the asset, must be provided by the usage enforcement engine or the IDS Connector. + "odrl:operator": { "@id": ("idsc:SHORTER" | "idsc:SHORTER_EQ" | "idsc:LONGER" | "idsc:LONGER_EQ" | "idsc:DURATION_EQ") // The comaprison operator, for instance idsc:SHORTER }, - "ids:rightOperand": { + "odrl:rightOperand": { "@id": "?Value", // The value expression, for instance ?Value := "P0Y0M0DT0H10M0S" "@type": "http://www.w3.org/2001/XMLSchema#duration" } @@ -40,9 +40,9 @@ "@list": [ // LogicalConstraints allow the expression of complex constraints. For instance, we can restrict the policy to be only valid in 2020. { "@type": "ids:TemporalConstraint", // A TemporalConstraint, for instance current time > January 1st 2020 - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@id": "?Value", // The value expression, for instance ?Value := "2020-01-01T00:00:00.000+02:00" "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -50,9 +50,9 @@ }, { "@type": "ids:TemporalConstraint", // A TemporalConstraint, for instance current time < January 1st 2021 - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. - "ids:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. + "odrl:operator": { "@id": "idsc:BEFORE" }, + "odrl:rightOperand": { "@id": "?Value", // The value expression, for instance ?Value := "2020-12-12T23:59:59.999+02:00" "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } diff --git a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.ttl index 25f130b2..cf74c4ff 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -16,40 +17,40 @@ ( ( a ids:TemporalConstraint ; # A TemporalConstraint, for instance current time > January 1st 2020 - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; # The current time, usually the system time. + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; # The current time, usually the system time. ids:operator ( idsc:AFTER | idsc:BEFORE | idsc:CONTAINS | idsc:TEMPORAL_DISJOINT | idsc:DURING | idsc:TEMPORAL_EQUALS | idsc:FINISHED_BY | idsc:FINISHES | idsc:MEETS | idsc:MET_BY | idsc:OVERLAPS | idsc:OVERLAPPED_BY | idsc:STARTS | idsc:STARTED_BY) ; # The comaprison operator, for instance AFTER - ids:rightOperand "?Value"^^xsd:dateTimeStamp ; # The value expression, for instance ?Value := "2020-01-01T00:00:00.000+02:00" + odrl:rightOperand "?Value"^^xsd:dateTimeStamp ; # The value expression, for instance ?Value := "2020-01-01T00:00:00.000+02:00" ( ids:pipEndpoint ?ClockEndpoint ; )? # A URI or path expression to a shared time provider, if necessary. ) | # or ( a ids:TemporalConstraint ; # A TemporalConstraint, for instance usage time < 10 minutes - ids:leftOperand idsc:ELAPSED_TIME ; # The overall usage time of the asset, must be provided by the usage enforcement engine or the IDS Connector. + odrl:leftOperand idsc:ELAPSED_TIME ; # The overall usage time of the asset, must be provided by the usage enforcement engine or the IDS Connector. ids:operator ( idsc:SHORTER | idsc:SHORTER_EQ | idsc:LONGER | idsc:LONGER_EQ | idsc:DURATION_EQ ) ; # The comaprison operator, for instance SHORTER - ids:rightOperand "?Value"^^xsd:duration ; # The value expression, for instance ?Value := "P0Y0M0DT0H10M0S" + odrl:rightOperand "?Value"^^xsd:duration ; # The value expression, for instance ?Value := "P0Y0M0DT0H10M0S" ( ids:pipEndpoint ?ClockEndpoint ; )? # A URI or path expression to a provider of the usage duration. ) | # or ( - a ids:LogicalConstraint ; # A Collection with more than one condition to describe its members. - ids:and # Both Constraints have to be satisfied. + a odrl:LogicalConstraint ; # A Collection with more than one condition to describe its members. + odrl:and # Both Constraints have to be satisfied. ( # '(' is used as an RDF List operator here # LogicalConstraints allow the expression of complex constraints. For instance, we can restrict the policy to be only valid in 2020. [ a ids:TemporalConstraint ; # A TemporalConstraint, for instance current time > January 1st 2020 - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; # The current time, usually the system time. + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; # The current time, usually the system time. ids:operator idsc:AFTER ; # The comaprison operator, for instance AFTER - ids:rightOperand "?Value"^^xsd:dateTimeStamp ; # The value expression, for instance ?Value := "2020-01-01T00:00:00.000+02:00" + odrl:rightOperand "?Value"^^xsd:dateTimeStamp ; # The value expression, for instance ?Value := "2020-01-01T00:00:00.000+02:00" ( ids:pipEndpoint ?ClockEndpoint ; )? # A URI or path expression to a shared time provider, if necessary. ] [ a ids:TemporalConstraint ; # A TemporalConstraint, for instance current time < January 1st 2021 - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; # The current time, usually the system time. + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; # The current time, usually the system time. ids:operator idsc:BEFORE ; # The comaprison operator, for instance AFTER - ids:rightOperand "?Value"^^xsd:dateTimeStamp ; # The value expression, for instance ?Value := "2020-12-12T23:59:59.999+02:00" + odrl:rightOperand "?Value"^^xsd:dateTimeStamp ; # The value expression, for instance ?Value := "2020-12-12T23:59:59.999+02:00" ( ids:pipEndpoint ?ClockEndpoint ; )? # A URI or path expression to a shared time provider, if necessary. ] ) # ')' is used as an RDF List operator here diff --git a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.jsonld index 75bdb38c..dfc3719a 100644 --- a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.jsonld @@ -12,12 +12,12 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": { "@id": "idsc:DISTRIBUTE"}, + "odrl:action": { "@id": "idsc:DISTRIBUTE"}, "ids:preDuty": { "@type": "ids:Duty", "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, - "ids:action": { "@id": "idsc:ENCRYPT" } + "odrl:action": { "@id": "idsc:ENCRYPT" } } (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more additional Obligations which need to be fulfilled before the Usage event diff --git a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl index 518b1ac6..5627346c 100644 --- a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,19 +20,19 @@ idsc:DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE a ids:DistributeEcryptedAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:DISTRIBUTE ; + odrl:action idsc:DISTRIBUTE ; ids:preDuty [ - a ids:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:action idsc:ENCRYPT ; + a odrl:Duty ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:action idsc:ENCRYPT ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.jsonld index b6fbd8bb..d6e462c1 100644 --- a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.jsonld @@ -24,7 +24,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": { "@id": "idsc:DISTRIBUTE"}, + "odrl:action": { "@id": "idsc:DISTRIBUTE"}, "ids:preDuty": { "@type": "ids:Duty", ( @@ -35,7 +35,7 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { "@id": "idsc:ENCRYPT" } + "odrl:action": { "@id": "idsc:ENCRYPT" } } (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more additional Obligations which need to be fulfilled before the Usage event diff --git a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl index 1b7ae423..ea474540 100644 --- a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,31 +26,31 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:DISTRIBUTE ; + odrl:action idsc:DISTRIBUTE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action idsc:ENCRYPT ; + odrl:action idsc:ENCRYPT ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.jsonld index 1929be71..42de3168 100644 --- a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.jsonld @@ -24,7 +24,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": { "@id": "idsc:DISTRIBUTE"}, + "odrl:action": { "@id": "idsc:DISTRIBUTE"}, "ids:preDuty": { "@type": "ids:Duty", ( @@ -35,7 +35,7 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { "@id": "idsc:ENCRYPT" } + "odrl:action": { "@id": "idsc:ENCRYPT" } } (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more additional Obligations which need to be fulfilled before the Usage event diff --git a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl index df332d1a..e3e6ea6c 100644 --- a/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,31 +26,31 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:DISTRIBUTE ; + odrl:action idsc:DISTRIBUTE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action idsc:ENCRYPT ; + odrl:action idsc:ENCRYPT ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld index 6f21e68d..b367353e 100644 --- a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld @@ -12,19 +12,18 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), - "ids:constraint": { + "odrl:action": (idsc:ACTION_TEMPLATE), + "ids:constraint": [{ "@type": "ids:Constraint", - "ids:leftOperand": { - "@id": "?EventURI", // The identifier of this event, for instance http://dbpedia.org/resource/Category:FIFA_World_Cup_tournaments - "ids:broader" : "idsc:EVENT" + "odrl:leftOperand": { + "@id": "idsc:EVENT" }, - "ids:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied - "ids:rightOperand": { - "@value": "true", - "@type": "http://www.w3.org/2001/XMLSchema#boolean" + "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied + "odrl:rightOperand": { + "@value": "?eventUri", + "@type": "xsd:anyURI" }, - "ids:pipEndpoint": { "@id": "?askIfEventPipUri" } // The PIP call for this event, for instance https//pip.com/path/isFIFA_World_Cup_tournaments or https//pip.com/ids?event=FIFA_World_Cup_tournaments - } + "ids:pipEndpoint": { "@id": "?askIfEventPipUri" } // the pip receives one parameter (?eventUri) and returns boolean + }] } } diff --git a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl index cfe21481..5962e740 100644 --- a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -18,20 +19,20 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand [ + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand [ rdf:subject ?EventURI ; # TODO: rdf:subject is not defined in the IDS IM # The identifier of this event, for instance http://dbpedia.org/resource/Category:FIFA_World_Cup_tournaments ids:broader idsc:EVENT ; ] ; - ids:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied - ids:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration + odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied + odrl:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration ids:pipEndpoint ?askIfEventPipUri ; # The PIP call for this event, for instance https//pip.com/path/isFIFA_World_Cup_tournaments or https//pip.com/ids?event=FIFA_World_Cup_tournaments ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.jsonld index 11a2c854..789e163c 100644 --- a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.jsonld @@ -24,15 +24,15 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { + "odrl:leftOperand": { "@id": "?EventURI", // The identifier of this event, for instance http://dbpedia.org/resource/Category:FIFA_World_Cup_tournaments "ids:broader" : "idsc:EVENT" }, - "ids:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied - "ids:rightOperand": { + "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied + "odrl:rightOperand": { "@value": "true", "@type": "http://www.w3.org/2001/XMLSchema#:boolean" }, diff --git a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl index c4a11674..8c71c640 100644 --- a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -24,26 +25,26 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand [ + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand [ rdf:subject ?EventURI ; # TODO: rdf:subject is not defined in the IDS IM # The identifier of this event, for instance http://dbpedia.org/resource/Category:FIFA_World_Cup_tournaments ids:broader idsc:EVENT ; ] ; - ids:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied - ids:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration + odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied + odrl:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration ids:pipEndpoint ?askIfEventPipUri ; # The PIP call for this event, for instance https//pip.com/path/isFIFA_World_Cup_tournaments or https//pip.com/ids?event=FIFA_World_Cup_tournaments ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.jsonld index 5d5324be..65219551 100644 --- a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.jsonld @@ -24,15 +24,15 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { + "odrl:leftOperand": { "@id": "?EventURI", // The identifier of this event, for instance http://dbpedia.org/resource/Category:FIFA_World_Cup_tournaments "ids:broader" : "idsc:EVENT" }, - "ids:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied - "ids:rightOperand": { + "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied + "odrl:rightOperand": { "@value": "true", "@type": "http://www.w3.org/2001/XMLSchema#boolean" }, diff --git a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl index 09a6afd5..2e44f0df 100644 --- a/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -24,26 +25,26 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand [ + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand [ rdf:subject ?EventURI ; # TODO: rdf:subject is not defined in the IDS IM # The identifier of this event, for instance http://dbpedia.org/resource/Category:FIFA_World_Cup_tournaments ids:broader idsc:EVENT ; ] ; - ids:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied - ids:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration + odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied + odrl:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration ids:pipEndpoint ?askIfEventPipUri ; # The PIP call for this event, for instance https//pip.com/path/isFIFA_World_Cup_tournaments or https//pip.com/ids?event=FIFA_World_Cup_tournaments ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.jsonld index ad722b5b..97d63460 100644 --- a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.jsonld @@ -12,13 +12,13 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:COUNT" }, - "ids:operator": { "@id": "idsc:LTEQ" }, - "ids:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. + "odrl:leftOperand": { "@id": "idsc:COUNT" }, + "odrl:operator": { "@id": "idsc:LTEQ" }, + "odrl:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. "ids:pipEndpoint": "?pipUri" // the PIP that counts the access events } ] diff --git a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl index e9a28181..be7c2bc2 100644 --- a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -18,20 +19,20 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:COUNT ; - ids:operator idsc:LTEQ ; - ids:rightOperand ?n ; # Do not execute the Action more than ?n times. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:COUNT ; + odrl:operator idsc:LTEQ ; + odrl:rightOperand ?n ; # Do not execute the Action more than ?n times. ids:pipEndpoint ?pipUri ; # the PIP that counts the access events ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.jsonld index b66035ff..1c713794 100644 --- a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.jsonld @@ -24,13 +24,13 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:COUNT" }, - "ids:operator": { "@id": "idsc:LTEQ" }, - "ids:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. + "odrl:leftOperand": { "@id": "idsc:COUNT" }, + "odrl:operator": { "@id": "idsc:LTEQ" }, + "odrl:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. "ids:pipEndpoint": "?pipUri" // the PIP that counts the access events } ] diff --git a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl index f5776b1a..10a0b731 100644 --- a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -24,26 +25,26 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:COUNT ; - ids:operator idsc:LTEQ ; - ids:rightOperand ?n ; # Do not execute the Action more than ?n times. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:COUNT ; + odrl:operator idsc:LTEQ ; + odrl:rightOperand ?n ; # Do not execute the Action more than ?n times. ids:pipEndpoint ?pipUri ; # the PIP that counts the access events ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld index 832955b3..14418800 100644 --- a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld @@ -24,13 +24,13 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:COUNT" }, - "ids:operator": { "@id": "idsc:LTEQ" }, - "ids:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. + "odrl:leftOperand": { "@id": "idsc:COUNT" }, + "odrl:operator": { "@id": "idsc:LTEQ" }, + "odrl:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. "ids:pipEndpoint": "?pipUri" // the PIP that counts the access events } ] diff --git a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.ttl index 03b9eb58..2ef33781 100644 --- a/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.ttl @@ -4,6 +4,7 @@ @prefix dct: . @prefix xsd: . @prefix skos: . +@prefix odrl: . @prefix spin: . @prefix ids: . @prefix idsc: . @@ -24,26 +25,26 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:COUNT ; - ids:operator idsc:LTEQ ; - ids:rightOperand ?n ; # Do not execute the Action more than ?n times. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:COUNT ; + odrl:operator idsc:LTEQ ; + odrl:rightOperand ?n ; # Do not execute the Action more than ?n times. ids:pipEndpoint ?pipUri ; # the PIP that counts the access events ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl index 576f5794..696e0090 100644 --- a/examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl @@ -23,5 +23,5 @@ idsc:OFFER_TEMPLATE a ids:ContractOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ( ids:permission idsc:OFFER_PERMISSION_TEMPLATE ; )+ + ( odrl:permission idsc:OFFER_PERMISSION_TEMPLATE ; )+ . diff --git a/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.jsonld index b3afd4ab..992cf44f 100644 --- a/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.jsonld @@ -8,6 +8,6 @@ "@id": "?URI", "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints } diff --git a/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl index 4a67d6a0..6021f6f4 100644 --- a/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -13,9 +14,9 @@ # The OBLIGATION_TEMPLATE is a RegEx-like representation of the possible forms, which can be inserted at the Obligation position in an IDS Usage Control Template. -idsc:OBLIGATION_TEMPLATE a ids:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints +idsc:OBLIGATION_TEMPLATE a odrl:Duty ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; + [ odrl:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints . diff --git a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld index 00eab79d..4e42c1f7 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld @@ -16,9 +16,9 @@ "ids:participantRefinement": [ { "@type": "ids:Constraint", // Define a collection of data objects which, for instance, all have an explicit attribute "color":"blue" - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, // The feature of interest, for instance ?IdscLeftOperand := idsc:PATH - "ids:operator": { "@id": "?IdscBinaryOperator" }, // The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ - "ids:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, // The feature of interest, for instance ?IdscLeftOperand := idsc:PATH + "odrl:operator": { "@id": "?IdscBinaryOperator" }, // The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ + "odrl:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" (, "ids:pipEndpoint": { "@id": "?AttributeLocation"} )? // A URI or path expression to the target attribute, ?AttributeLocation := "//color" (, "ids:unit": { "@id": "?Unit" } )? // A unit which may further explain the ?Value, for instance . } @@ -29,15 +29,15 @@ "@type": "ids:Participant", "ids:participantRefinement": [ { - "@type": "ids:LogicalConstraint", // A Collection with more than one condition to describe its members. + "@type": "odrl:LogicalConstraint", // A Collection with more than one condition to describe its members. "?IdsOperand": { // The operand to connect the constraints, for instance ?IdsOperand := idsc:OR "@list": [ // LogicalConstraints allow the expression of alternatives. For instance, we can select which have "color":"blue" OR "color":"green" ( { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, - "ids:operator": { "@id": "?IdsBinaryOperator" }, - "ids:rightOperand": { "@id": "?Value" } + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, + "odrl:operator": { "@id": "?IdsBinaryOperator" }, + "odrl:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? } diff --git a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl index 15e396b2..35a3a3fa 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -24,28 +25,28 @@ [ a ids:Participant ; ids:participantRefinement [ # a Collection with exactly one condition to describe its members - a ids:Constraint ; # Define a collection of data objects which, for instance all have an explicit attribute "role":"ADMIN" - ids:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PATH - ids:operator ?IdscBinaryOperator ; # The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ - ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "ADMIN" + a odrl:Constraint ; # Define a collection of data objects which, for instance all have an explicit attribute "role":"ADMIN" + odrl:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PATH + odrl:operator ?IdscBinaryOperator ; # The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ + odrl:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "ADMIN" ( ids:pipEndpoint ?AttributeLocation ; )? # A URI or path expression to the target attribute, ?AttributeLocation := "//role" - ( ids:unit ?Unit ; )? # A unit which may further explain the ?Value + ( odrl:unit ?Unit ; )? # A unit which may further explain the ?Value ] ] | # or [ a ids:Participant ; ids:participantRefinement [ - a ids:LogicalConstraint ; # A Collection with more than one condition to describe its members. + a odrl:LogicalConstraint ; # A Collection with more than one condition to describe its members. ?IdsOperand # The operand to connect the constraints, for instance ?IdsOperand := idsc:OR ( # '(' is used as an RDF List operator here ( # LogicalConstraints allow the expression of alternatives. For instance, we can select which have "role":"ADMIN" OR "role":"MANAGER" - a ids:Constraint ; - ids:leftOperand ?IdscLeftOperand ; - ids:operator ?IdsBinaryOperator ; - ids:rightOperand ?Value ; + a odrl:Constraint ; + odrl:leftOperand ?IdscLeftOperand ; + odrl:operator ?IdsBinaryOperator ; + odrl:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? - ( ids:unit ?Unit ; )? + ( odrl:unit ?Unit ; )? ){2,} # at least two constraints ) # ')' is used as an RDF List operator here ] diff --git a/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.jsonld index 88379e80..b50bf47a 100644 --- a/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.jsonld @@ -9,7 +9,7 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), "ids:target": (idsc:ASSET_TEMPLATE), // A Permission has a target Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event diff --git a/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl index 9a598b31..9f1d5f91 100644 --- a/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl @@ -5,18 +5,19 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . # Template # -------- -idsc:AGREEMENT_PERMISSION_TEMPLATE a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; +idsc:AGREEMENT_PERMISSION_TEMPLATE a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; # A Permission has a target Asset. - ids:action idsc:ACTION_TEMPLATE ; - [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + [ odrl:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints [ ids:preDuty idsc:OBLIGATION_TEMPLATE ; ]* # zero or more Obligations which need to be fulfilled before the Usage event [ ids:postDuty idsc:OBLIGATION_TEMPLATE ; ]* # zero or more Obligations which have to be fulfilled after the Usage event . diff --git a/examples/contracts-and-usage-policy/templates/PermissionTemplates/OFFER_PERMISSION_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/PermissionTemplates/OFFER_PERMISSION_TEMPLATE.jsonld index 293f69fb..b3814bd1 100644 --- a/examples/contracts-and-usage-policy/templates/PermissionTemplates/OFFER_PERMISSION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/PermissionTemplates/OFFER_PERMISSION_TEMPLATE.jsonld @@ -15,7 +15,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) ) "ids:target": (idsc:ASSET_TEMPLATE), // A Permission has a target Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event diff --git a/examples/contracts-and-usage-policy/templates/PermissionTemplates/OFFER_PERMISSION_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/PermissionTemplates/OFFER_PERMISSION_TEMPLATE.ttl index 1822d90e..7e533733 100644 --- a/examples/contracts-and-usage-policy/templates/PermissionTemplates/OFFER_PERMISSION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/PermissionTemplates/OFFER_PERMISSION_TEMPLATE.ttl @@ -5,24 +5,25 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . # Template # -------- -idsc:OFFER_PERMISSION_TEMPLATE a ids:Permission ; +idsc:OFFER_PERMISSION_TEMPLATE a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) ) ids:target idsc:ASSET_TEMPLATE ; # A Permission has a target Asset. - ids:action idsc:ACTION_TEMPLATE ; - [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + [ odrl:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints [ ids:preDuty idsc:OBLIGATION_TEMPLATE ; ]* # zero or more Obligations which need to be fulfilled before the Usage event [ ids:postDuty idsc:OBLIGATION_TEMPLATE ; ]* # zero or more Obligations which have to be fulfilled after the Usage event . diff --git a/examples/contracts-and-usage-policy/templates/PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.jsonld index b242c1a0..a122f42a 100644 --- a/examples/contracts-and-usage-policy/templates/PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.jsonld @@ -15,7 +15,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) ) "ids:target": (idsc:ASSET_TEMPLATE), // A Permission has a target Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event diff --git a/examples/contracts-and-usage-policy/templates/PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.ttl index 5bc70b62..575312c7 100644 --- a/examples/contracts-and-usage-policy/templates/PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.ttl @@ -5,24 +5,25 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . # Template # -------- -idsc:REQUEST_PERMISSION_TEMPLATE a ids:Permission ; +idsc:REQUEST_PERMISSION_TEMPLATE a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + [ odrl:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints [ ids:preDuty idsc:OBLIGATION_TEMPLATE ; ]* # zero or more Obligations which need to be fulfilled before the Usage event [ ids:postDuty idsc:OBLIGATION_TEMPLATE ; ]* # zero or more Obligations which have to be fulfilled after the Usage event . diff --git a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.jsonld index 725869d1..2685e957 100644 --- a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.jsonld @@ -12,12 +12,12 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PURPOSE" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:PURPOSE" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "?PurposeURI" }, "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the usage purpose. } diff --git a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl index e9b37f51..bd47fb05 100644 --- a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,17 +20,17 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; skos:note "rdfs:label, rdfs:comment, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:PURPOSE ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference ?PurposeURI ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:PURPOSE ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference ?PurposeURI ; ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the usage purpose. ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.jsonld index 08c70321..229e4d2a 100644 --- a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PURPOSE" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:PURPOSE" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "?PurposeURI" }, "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the usage purpose. } diff --git a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl index 4a20b2cd..7fe21f05 100644 --- a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,23 +26,23 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:PURPOSE ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference ?PurposeURI ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:PURPOSE ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference ?PurposeURI ; ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the usage purpose. ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.jsonld index 9338e71a..20c506ab 100644 --- a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PURPOSE" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:PURPOSE" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "?PurposeURI" }, "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the usage purpose. } diff --git a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl index b06d906d..651d48ee 100644 --- a/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,23 +26,23 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:PURPOSE ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference ?PurposeURI ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:PURPOSE ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference ?PurposeURI ; ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the usage purpose. ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/REQUEST_TEMPLATE.ttl index 660315b0..f86ebd5d 100644 --- a/examples/contracts-and-usage-policy/templates/REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/REQUEST_TEMPLATE.ttl @@ -23,5 +23,5 @@ idsc:REQUEST_TEMPLATE a ids:ContractRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ( ids:permission idsc:REQUEST_PERMISSION_TEMPLATE ; )+ + ( odrl:permission idsc:REQUEST_PERMISSION_TEMPLATE ; )+ . diff --git a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.jsonld index ebac7216..521d0343 100644 --- a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.jsonld @@ -13,20 +13,20 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:STATE" }, - "ids:operator": { "@id": "idsc:NOT" }, - "ids:rightOperand": { "@id": "?terminationState" } // An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. + "odrl:leftOperand": { "@id": "idsc:STATE" }, + "odrl:operator": { "@id": "idsc:NOT" }, + "odrl:rightOperand": { "@id": "?terminationState" } // An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. (, "ids:pipEndpoint": { "@id": "?pipUri" } )? // The location where to find this state. }, { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:STATE" }, - "ids:operator": { "@id": "idsc:NOT" }, - "ids:rightOperand": { "@id": "?terminationState" } // An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. + "odrl:leftOperand": { "@id": "idsc:STATE" }, + "odrl:operator": { "@id": "idsc:NOT" }, + "odrl:rightOperand": { "@id": "?terminationState" } // An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. (, "ids:pipEndpoint": { "@id": "?pipUri" } )? // The location where to find this state. } ] , @@ -34,15 +34,15 @@ "@type": "ids:Duty", "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": [{ "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAYMENT" }, - "ids:operator": { "@id": "idsc:EQ" }, + "odrl:leftOperand": { "@id": "idsc:PAYMENT" }, + "odrl:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?fee", "@type": "http://www.w3.org/2001/XMLSchema#double" }, @@ -53,9 +53,9 @@ "ids:constraint": [ { "@type": { "@id": "ids:Constraint" }, - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl index 417a1119..f1b2b531 100644 --- a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,43 +20,43 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:STATE ; - ids:operator idsc:NOT ; - ids:rightOperand ?terminationState ; # An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:STATE ; + odrl:operator idsc:NOT ; + odrl:rightOperand ?terminationState ; # An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. ] ; ids:preDuty [ - a ids:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:action [ - a ids:Action ; - ids:includedIn idsc:COMPENSATE ; + a odrl:Duty ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQ ; - ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee - ids:unit ?currency ; + a odrl:Constraint ; + odrl:leftOperand idsc:PAY_AMOUNT ; + odrl:operator idsc:EQ ; + odrl:rightOperand "?fee"^^xsd:double ; # pay the ?fee + odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; - ids:operator idsc:AFTER ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:operator idsc:AFTER ; + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.jsonld index 4ffcd131..bd0ff5db 100644 --- a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.jsonld @@ -24,13 +24,13 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:TARGET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:STATE" }, - "ids:operator": { "@id": "idsc:NOT" }, - "ids:rightOperand": { "@id": "?terminationState" } // An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. + "odrl:leftOperand": { "@id": "idsc:STATE" }, + "odrl:operator": { "@id": "idsc:NOT" }, + "odrl:rightOperand": { "@id": "?terminationState" } // An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. (, "ids:pipEndpoint": { "@id": "?pipUri" } )? // The location where to find this state. } ] , @@ -44,14 +44,14 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, + "odrl:rightOperand": { "@value": "?fee", "@type": "http://www.w3.org/2001/XMLSchema#double" }, @@ -62,9 +62,9 @@ "ids:constraint": [ { "@type": { "@id": "ids:Constraint" }, - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl index cbbc9761..541778cf 100644 --- a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,55 +26,55 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:STATE ; - ids:operator idsc:NOT ; - ids:rightOperand ?terminationState ; # An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:STATE ; + odrl:operator idsc:NOT ; + odrl:rightOperand ?terminationState ; # An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. ] ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ - a ids:Action ; - ids:includedIn idsc:COMPENSATE ; + a odrl:Action ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQ ; - ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee - ids:unit ?currency ; + a odrl:Constraint ; + odrl:leftOperand idsc:PAY_AMOUNT ; + odrl:operator idsc:EQ ; + odrl:rightOperand "?fee"^^xsd:double ; # pay the ?fee + odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; - ids:operator idsc:AFTER ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:operator idsc:AFTER ; + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.jsonld index 9ae90179..e3d30e30 100644 --- a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.jsonld @@ -24,13 +24,13 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:STATE" }, - "ids:operator": { "@id": "idsc:NOT" }, - "ids:rightOperand": { "@id": "?terminationState" } // An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. + "odrl:leftOperand": { "@id": "idsc:STATE" }, + "odrl:operator": { "@id": "idsc:NOT" }, + "odrl:rightOperand": { "@id": "?terminationState" } // An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. (, "ids:pipEndpoint": { "@id": "?pipUri" } )? // The location where to find this state. } ] , @@ -44,14 +44,14 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, + "odrl:rightOperand": { "@value": "?fee", "@type": "http://www.w3.org/2001/XMLSchema#double" }, @@ -62,9 +62,9 @@ "ids:constraint": [ { "@type": { "@id": "ids:Constraint" }, - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl index 57a2c97d..c28189a2 100644 --- a/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,55 +26,55 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:STATE ; - ids:operator idsc:NOT ; - ids:rightOperand ?terminationState ; # An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:STATE ; + odrl:operator idsc:NOT ; + odrl:rightOperand ?terminationState ; # An entity expressing the (final) state that the contract has been terminated by either one of the involved parties. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. ] ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action [ - a ids:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQ ; - ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee - ids:unit ?currency ; + a odrl:Constraint ; + odrl:leftOperand idsc:PAY_AMOUNT ; + odrl:operator idsc:EQ ; + odrl:rightOperand "?fee"^^xsd:double ; # pay the ?fee + odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; - ids:operator idsc:AFTER ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:operator idsc:AFTER ; + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.jsonld index dec97d82..5dbcd57c 100644 --- a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.jsonld @@ -12,19 +12,19 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:USER" }, - "ids:operator": { "@id": "idsc:MEMBER_OF" }, + "odrl:leftOperand": { "@id": "idsc:USER" }, + "odrl:operator": { "@id": "idsc:MEMBER_OF" }, "ids:rightOperandReference": { "@id": "?ParticipantOrganizationUri" }, // the role below is only valid inside the defining organization, so both aspects need to be checked. "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. }, { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:USER" }, - "ids:operator": { "@id": "idsc:HAS_MEMBERSHIP" }, + "odrl:leftOperand": { "@id": "idsc:USER" }, + "odrl:operator": { "@id": "idsc:HAS_MEMBERSHIP" }, "ids:rightOperandReference": { "@id": "?RoleURI" }, // the role below is only valid inside the defining organization, so both aspects need to be checked. "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. } diff --git a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.ttl index 480fc888..e66de8d2 100644 --- a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,24 +20,24 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; skos:note "rdfs:label, rdfs:comment, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider, - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider, + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:USER ; - ids:operator idsc:MEMBER_OF ; - ids:rightOperandReference ?ParticipantOrganizationUri ; # the role below is only valid inside the defining organization, so both aspects need to be checked. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:USER ; + odrl:operator idsc:MEMBER_OF ; + odrl:rightOperandReference ?ParticipantOrganizationUri ; # the role below is only valid inside the defining organization, so both aspects need to be checked. ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. ] ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:USER ; - ids:operator idsc:HAS_MEMBERSHIP ; - ids:rightOperandReference ?RoleURI ; # the role below is only valid inside the defining organization, so both aspects need to be checked. + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:USER ; + odrl:operator idsc:HAS_MEMBERSHIP ; + odrl:rightOperandReference ?RoleURI ; # the role below is only valid inside the defining organization, so both aspects need to be checked. ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.jsonld index ad8ea26f..cb07d4c3 100644 --- a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.jsonld @@ -24,19 +24,19 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:USER" }, - "ids:operator": { "@id": "idsc:MEMBER_OF" }, + "odrl:leftOperand": { "@id": "idsc:USER" }, + "odrl:operator": { "@id": "idsc:MEMBER_OF" }, "ids:rightOperandReference": { "@id": "?ParticipantOrganizationUri" }, // the role below is only valid inside the defining organization, so both aspects need to be checked. "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. }, { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:USER" }, - "ids:operator": { "@id": "idsc:HAS_MEMBERSHIP" }, + "odrl:leftOperand": { "@id": "idsc:USER" }, + "odrl:operator": { "@id": "idsc:HAS_MEMBERSHIP" }, "ids:rightOperandReference": { "@id": "?RoleURI" }, // the role below is only valid inside the defining organization, so both aspects need to be checked. "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. } diff --git a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.ttl index 9b2500fe..d5aaf0c5 100644 --- a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,30 +26,30 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:USER ; - ids:operator idsc:MEMBER_OF ; - ids:rightOperandReference ?ParticipantOrganizationUri ; # the role below is only valid inside the defining organization, so both aspects need to be checked. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:USER ; + odrl:operator idsc:MEMBER_OF ; + odrl:rightOperandReference ?ParticipantOrganizationUri ; # the role below is only valid inside the defining organization, so both aspects need to be checked. ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. ] ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:USER ; - ids:operator idsc:HAS_MEMBERSHIP ; - ids:rightOperandReference ?RoleURI ; # the role below is only valid inside the defining organization, so both aspects need to be checked. + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:USER ; + odrl:operator idsc:HAS_MEMBERSHIP ; + odrl:rightOperandReference ?RoleURI ; # the role below is only valid inside the defining organization, so both aspects need to be checked. ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.jsonld index 61cd2200..b8e91b8d 100644 --- a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.jsonld @@ -24,19 +24,19 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:USER" }, - "ids:operator": { "@id": "idsc:MEMBER_OF" }, + "odrl:leftOperand": { "@id": "idsc:USER" }, + "odrl:operator": { "@id": "idsc:MEMBER_OF" }, "ids:rightOperandReference": { "@id": "?ParticipantOrganizationUri" }, // the role below is only valid inside the defining organization, so both aspects need to be checked. "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. }, { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:USER" }, - "ids:operator": { "@id": "idsc:HAS_MEMBERSHIP" }, + "odrl:leftOperand": { "@id": "idsc:USER" }, + "odrl:operator": { "@id": "idsc:HAS_MEMBERSHIP" }, "ids:rightOperandReference": { "@id": "?RoleURI" }, // the role below is only valid inside the defining organization, so both aspects need to be checked. "ids:pipEndpoint": { "@id": "?pipUri"} // A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. } diff --git a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.ttl index 166b3449..3e22e555 100644 --- a/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,30 +26,30 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:USER ; - ids:operator idsc:MEMBER_OF ; - ids:rightOperandReference ?ParticipantOrganizationUri ; # the role below is only valid inside the defining organization, so both aspects need to be checked. + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:USER ; + odrl:operator idsc:MEMBER_OF ; + odrl:rightOperandReference ?ParticipantOrganizationUri ; # the role below is only valid inside the defining organization, so both aspects need to be checked. ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. ] ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:USER ; - ids:operator idsc:HAS_MEMBERSHIP ; - ids:rightOperandReference ?RoleURI ; # the role below is only valid inside the defining organization, so both aspects need to be checked. + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:USER ; + odrl:operator idsc:HAS_MEMBERSHIP ; + odrl:rightOperandReference ?RoleURI ; # the role below is only valid inside the defining organization, so both aspects need to be checked. ids:pipEndpoint ?pipUri ; # A reference to a Policy Information Point endpoint (might be only locally accessible), which knows about the memberships. For instance the LDAP service. ] ; ] diff --git a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld index de9fc1f2..97dfcbc7 100644 --- a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld @@ -12,19 +12,19 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:preDuty": { "@type": "ids:Duty", "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, + "odrl:rightOperand": { "@value": "?price", "@type": "http://www.w3.org/2001/XMLSchema#double" }, diff --git a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl index e6981462..39603866 100644 --- a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,29 +20,29 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:preDuty [ - a ids:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:action [ - a ids:Action ; - ids:includedIn idsc:COMPENSATE ; + a odrl:Duty ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + a odrl:Constraint ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; - ids:rightOperand "?price"^^xsd:double ; - ids:unit ?currency ; + odrl:rightOperand "?price"^^xsd:double ; + odrl:unit ?currency ; ] ] ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.jsonld index 34a56370..d3409a88 100644 --- a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.jsonld @@ -24,7 +24,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:preDuty": { "@type": "ids:Duty", ( @@ -35,14 +35,14 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, + "odrl:rightOperand": { "@value": "?price", "@type": "http://www.w3.org/2001/XMLSchema#double" }, diff --git a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl index 152355f0..788b88f7 100644 --- a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,41 +26,41 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action [ - a ids:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + a odrl:Constraint ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; - ids:rightOperand "?price"^^xsd:double ; - ids:unit ?currency ; + odrl:rightOperand "?price"^^xsd:double ; + odrl:unit ?currency ; ] ] ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.jsonld index 78ad8842..1c0c77d8 100644 --- a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.jsonld @@ -24,7 +24,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:preDuty": { "@type": "ids:Duty", ( @@ -35,14 +35,14 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, + "odrl:rightOperand": { "@value": "?price", "@type": "http://www.w3.org/2001/XMLSchema#double" }, diff --git a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl index 7fb36169..6df67aa2 100644 --- a/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,41 +26,41 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action [ - a ids:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + a odrl:Constraint ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; - ids:rightOperand "?price"^^xsd:double ; - ids:unit ?currency ; + odrl:rightOperand "?price"^^xsd:double ; + odrl:unit ?currency ; ] ] ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.jsonld index c0d17d9a..87dab460 100644 --- a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.jsonld @@ -12,27 +12,27 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:LogicalConstraint", "ids:or": { "@list": [ ({ "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:BASE_SECURITY_PROFILE" } },)? ({ "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:TRUST_SECURITY_PROFILE" } // in case BASE is selected, TRUST must also always be included },)? { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:TRUST_PLUS_SECURITY_PROFILE" } // TRUST+ is always included } ]} diff --git a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl index 27315fda..46da39c1 100644 --- a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -18,32 +19,32 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; skos:note "rdfs:label, rdfs:comment, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:LogicalConstraint ; - ids:or ( # '(' is used as an RDF List operator here + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:LogicalConstraint ; + odrl:or ( # '(' is used as an RDF List operator here ([ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included ] ) # ')' is used as an RDF List operator here ] ; diff --git a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.jsonld index 3ff49c6c..e36a0f42 100644 --- a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.jsonld @@ -24,27 +24,27 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:LogicalConstraint", "ids:or": { "@list": [ ({ "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:BASE_SECURITY_PROFILE" } },)? ({ "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:TRUST_SECURITY_PROFILE" } // in case BASE is selected, TRUST must also always be included },)? { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:TRUST_PLUS_SECURITY_PROFILE" } // TRUST+ is always included } ]} diff --git a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.ttl index 6e169f22..e3caf31a 100644 --- a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -24,38 +25,38 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:LogicalConstraint ; - ids:or ( # '(' is used as an RDF List operator here + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:LogicalConstraint ; + odrl:or ( # '(' is used as an RDF List operator here ([ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included ] ) # ')' is used as an RDF List operator here ] ; diff --git a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.jsonld index 44d1f370..e8950085 100644 --- a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.jsonld @@ -24,27 +24,27 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:LogicalConstraint", "ids:or": { "@list": [ ({ "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:BASE_SECURITY_PROFILE" } },)? ({ "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:TRUST_SECURITY_PROFILE" } // in case BASE is selected, TRUST must also always be included },)? { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, - "ids:operator": { "@id": "idsc:SAME_AS" }, + "odrl:leftOperand": { "@id": "idsc:SECURITY_LEVEL" }, + "odrl:operator": { "@id": "idsc:SAME_AS" }, "ids:rightOperandReference": { "@id": "idsc:TRUST_PLUS_SECURITY_PROFILE" } // TRUST+ is always included } ]} diff --git a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.ttl index 50961d3f..1e8e2248 100644 --- a/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -24,38 +25,38 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:LogicalConstraint ; - ids:or ( # '(' is used as an RDF List operator here + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:LogicalConstraint ; + odrl:or ( # '(' is used as an RDF List operator here ([ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ - a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included + a odrl:Constraint ; + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:SAME_AS ; + odrl:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included ] ) # ')' is used as an RDF List operator here ] ; diff --git a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.jsonld index bd0b6e39..7d872c62 100644 --- a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.jsonld @@ -12,12 +12,12 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, - "ids:operator": { "@id": "?spatialOperator" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, + "odrl:operator": { "@id": "?spatialOperator" }, + "odrl:rightOperand": { ( "@id": "?area" // a URI of a named area, for instance http://dbpedia.org/resource/Europe | // or diff --git a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.ttl index 7a8fd417..0402e1e9 100644 --- a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -18,17 +19,17 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; - ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE - ids:rightOperand ( + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; + odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE + odrl:rightOperand ( ?area ; # a URI of a named area, for instance http://dbpedia.org/resource/Europe | # or [ @@ -47,7 +48,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; ] ; ) ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.jsonld index 1664e7f4..b381bb18 100644 --- a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, - "ids:operator": { "@id": "?spatialOperator" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, + "odrl:operator": { "@id": "?spatialOperator" }, + "odrl:rightOperand": { ( "@id": "?area" // a URI of a named area, for instance http://dbpedia.org/resource/Europe | // or diff --git a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl index 2decd314..aeabaec8 100644 --- a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -24,23 +25,23 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; - ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE - ids:rightOperand ( + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; + odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE + odrl:rightOperand ( ?area ; # a URI of a named area, for instance http://dbpedia.org/resource/Europe | # or [ @@ -59,7 +60,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; ] ; ) ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.jsonld index cac9a7f4..b2f895d9 100644 --- a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, - "ids:operator": { "@id": "?spatialOperator" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, + "odrl:operator": { "@id": "?spatialOperator" }, + "odrl:rightOperand": { ( "@id": "?area" // a URI of a named area, for instance http://dbpedia.org/resource/Europe | // or diff --git a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.ttl index 9fd14e94..a726d62d 100644 --- a/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,23 +26,23 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; - ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE - ids:rightOperand ( + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; + odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE + odrl:rightOperand ( ?area ; # a URI of a named area, for instance http://dbpedia.org/resource/Europe | # or [ @@ -60,7 +61,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; ] ; ) ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.jsonld index fb513280..c4fe18d7 100644 --- a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.jsonld @@ -13,7 +13,7 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), // the Provider's Data Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event @@ -22,7 +22,7 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:target": (idsc:ASSET_TEMPLATE), // the Consumer's Data Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event diff --git a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl index f8b6a8cf..f65ad3ba 100644 --- a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,23 +20,23 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; # the Provider's Data Asset - ids:action idsc:ACTION_TEMPLATE ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider ids:target idsc:ASSET_TEMPLATE ; # the Consumer's Data Asset - ids:action idsc:ACTION_TEMPLATE ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; diff --git a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_OFFER_TEMPLATE.jsonld index d0af4a6b..bd95e944 100644 --- a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_OFFER_TEMPLATE.jsonld @@ -25,7 +25,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), // the Provider's Data Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event @@ -40,7 +40,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:provider ) "ids:target": (idsc:ASSET_TEMPLATE), // the Consumer's Data Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event diff --git a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl index 8b9931cc..e45ae8ad 100644 --- a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,35 +26,35 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; # the Provider's Data Asset - ids:action idsc:ACTION_TEMPLATE ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider ) ids:target idsc:ASSET_TEMPLATE ; # the Consumer's Data Asset - ids:action idsc:ACTION_TEMPLATE ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; diff --git a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.jsonld index c423ba47..3d182103 100644 --- a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.jsonld @@ -25,7 +25,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), // the Provider's Data Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event @@ -40,7 +40,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:provider ) "ids:target": (idsc:ASSET_TEMPLATE), // the Consumer's Data Asset - "ids:action": (idsc:ACTION_TEMPLATE) + "odrl:action": (idsc:ACTION_TEMPLATE) (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event diff --git a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl index 338bf874..a57e6ce9 100644 --- a/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,35 +26,35 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; # the Provider's Data Asset - ids:action idsc:ACTION_TEMPLATE ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider ) ids:target idsc:ASSET_TEMPLATE ; # the Consumer's Data Asset - ids:action idsc:ACTION_TEMPLATE ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + odrl:action idsc:ACTION_TEMPLATE ; + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld index e58750f0..4e680523 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld @@ -7,18 +7,18 @@ { "@id": "?AssetUri" } // directly insert the Asset URI, if known | // or { - "@type": "ids:AssetCollection", + "@type": "odrl:AssetCollection", "ids:assetSource": { "@id": "?DefinedCollection" } // reference to a well-known Collection which is hosted at the given URI or a well-known PIP/PDP can decide whether or not a specific Artifact is in the Collection or not } | // or { - "@type": "ids:AssetCollection", // a Collection with exactly one condition to describe its members + "@type": "odrl:AssetCollection", // a Collection with exactly one condition to describe its members "ids:assetRefinement": [ { "@type": "ids:Constraint", // Define a collection of data objects which, for instance, all have an explicit attribute "color":"blue" - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, // The feature of interest, for instance ?IdscLeftOperand := idsc:PATH - "ids:operator": { "@id": "?IdscBinaryOperator" }, // The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ - "ids:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, // The feature of interest, for instance ?IdscLeftOperand := idsc:PATH + "odrl:operator": { "@id": "?IdscBinaryOperator" }, // The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ + "odrl:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" (, "ids:pipEndpoint": { "@id": "?AttributeLocation"} )? // A URI or path expression to the target attribute, ?AttributeLocation := "//color" (, "ids:unit": { "@id": "?Unit" } )? // A unit which may further explain the ?Value, for instance . } @@ -26,18 +26,18 @@ } | // or { - "@type": "ids:AssetCollection", + "@type": "odrl:AssetCollection", "ids:assetRefinement": [ { - "@type": "ids:LogicalConstraint", // A Collection with more than one condition to describe its members. + "@type": "odrl:LogicalConstraint", // A Collection with more than one condition to describe its members. "?IdsOperand": { // The operand to connect the constraints, for instance ?IdsOperand := ids:or "@list": [ // LogicalConstraints allow the expression of alternatives. For instance, we can select which have "color":"blue" OR "color":"green" ( { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, - "ids:operator": { "@id": "?IdsBinaryOperator" }, - "ids:rightOperand": { "@id": "?Value" } + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, + "odrl:operator": { "@id": "?IdsBinaryOperator" }, + "odrl:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? } diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl index a6a970b0..411206d1 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl @@ -2,6 +2,7 @@ @prefix rdfs: . @prefix owl: . @prefix dct: . +@prefix odrl: . @prefix xsd: . @prefix skos: . @prefix spin: . @@ -17,35 +18,35 @@ ?AssetUri # directly insert the Asset URI, if known | # or [ - a ids:AssetCollection ; + a odrl:AssetCollection ; ids:assetSource ?DefinedCollection ; # reference to a well-known Collection, which is hosted at the given URI or a well-known PIP/PDP can decide whether or not a specific Artifact is in the Collection or not ] | # or [ - a ids:AssetCollection ; - ids:assetRefinement [ # a Collection with exactly one condition to describe its members - a ids:Constraint ; # Define a collection of data objects which, for instance, all have an explicit attribute "color":"blue" - ids:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PATH - ids:operator ?IdscBinaryOperator ; # The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ - ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "blue" + a odrl:AssetCollection ; + odrl:refinement [ # a Collection with exactly one condition to describe its members + a odrl:Constraint ; # Define a collection of data objects which, for instance, all have an explicit attribute "color":"blue" + odrl:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PATH + odrl:operator ?IdscBinaryOperator ; # The kind of check, which shall be executed on the feature of interest, for instance ?IdscBinaryOperator := idsc:STRING_EQ + odrl:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "blue" ( ids:pipEndpoint ?AttributeLocation ; )? # A URI or path expression to the target attribute, ?AttributeLocation := "//color" - ( ids:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . + ( odrl:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . ] ] | # or [ - a ids:AssetCollection ; - ids:assetRefinement [ - a ids:LogicalConstraint ; # A Collection with more than one condition to describe its members. + a odrl:AssetCollection ; + odrl:refinement [ + a odrl:LogicalConstraint ; # A Collection with more than one condition to describe its members. ?IdsOperand # The operand to connect the constraints, for instance ?IdsOperand := ids:or ( # '(' is used as an RDF List operator here ( # LogicalConstraints allow the expression of alternatives. For instance, we can select which have "color":"blue" OR "color":"green" - a ids:Constraint ; - ids:leftOperand ?IdscLeftOperand ; - ids:operator ?IdsBinaryOperator ; - ids:rightOperand ?Value ; + a odrl:Constraint ; + odrl:leftOperand ?IdscLeftOperand ; + odrl:operator ?IdsBinaryOperator ; + odrl:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? - ( ids:unit ?Unit ; )? + ( odrl:unit ?Unit ; )? ){2,} # at least two constraints ) # ')' is used as an RDF List operator here ] diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index 4bf3454d..c9ac48f9 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -4,6 +4,7 @@ @prefix rdf: . @prefix rdfs: . @prefix xsd: . +@prefix odrl: . @prefix ids: . @prefix sh: . @prefix shapes: . @@ -16,26 +17,26 @@ shapes:AssetTemplateShape sh:nodeKind sh:IRI ; # it's an RDF URI ] [ - sh:class ids:AssetCollection ; # it's a simple Collection + sh:class odrl:AssetCollection ; # it's a simple Collection sh:property [ - sh:path ids:assetRefinement ; - sh:class ids:Constraint ; + sh:path odrl:refinement ; + sh:class odrl:Constraint ; sh:maxCount 1 ; sh:minInclusive 1 ; sh:severity sh:Violation ; ] ; ] [ - sh:class ids:AssetCollection ; # it's a Collection with LogicalConstraints + sh:class odrl:AssetCollection ; # it's a Collection with LogicalConstraints sh:property [ sh:path [ - sh:or ( ids:or ids:and ids:xone ); + sh:or ( odrl:or odrl:and odrl:xone ); ]; sh:minInclusive 2 ; - sh:class ids:LogicalConstraint ; + sh:class odrl:LogicalConstraint ; sh:property [ - sh:path ids:assetRefinement ; - sh:class ids:Constraint ; + sh:path odrl:refinement ; + sh:class odrl:Constraint ; sh:maxCount 1 ; sh:minInclusive 1 ; sh:severity sh:Violation ; @@ -43,5 +44,5 @@ shapes:AssetTemplateShape ] ; ] ) ; - sh:message " (AssetTemplateShape): An _:AssetTemplate must (a) be a URI, (b) have a assetRefinement property linking to a ids:AbstractConstraint."@en ; + sh:message " (AssetTemplateShape): An _:AssetTemplate must (a) be a URI, (b) have a assetRefinement property linking to an odrl:Constraint."@en ; . diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.jsonld index c3d79e02..e3ebc5d3 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.jsonld @@ -12,12 +12,12 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:SHORTER_EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.ttl index 239c40a2..42ecdc51 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -18,19 +19,19 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.jsonld index bfd8b50d..e3ae932c 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:SHORTER_EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.ttl index c8bf73e5..e4829167 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,25 +26,25 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.jsonld index 97256639..6421768a 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:DURATION_EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:DURATION_EQ" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.ttl index b1c33141..2e5ef30f 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,25 +26,25 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld index c3d79e02..e3ebc5d3 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld @@ -12,12 +12,12 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:SHORTER_EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.ttl index 239c40a2..42ecdc51 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -18,19 +19,19 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.jsonld index bfd8b50d..e3ae932c 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:SHORTER_EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.ttl index c8bf73e5..e4829167 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,25 +26,25 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.jsonld index 97256639..6421768a 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.jsonld @@ -24,12 +24,12 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:DURATION_EQ" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:DURATION_EQ" }, + "odrl:rightOperand": { "@value": "?duration", // for a certain usage ?duration "@type": "http://www.w3.org/2001/XMLSchema#duration" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.ttl index b1c33141..2e5ef30f 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,25 +26,25 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld index e7a5ca75..9a3c6faf 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld @@ -12,30 +12,26 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), - "ids:constraint": [ - { - "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:action": (idsc:ACTION_TEMPLATE), + "ids:constraint": [{ + "@type": "ids:Constraint", + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } - ], - "ids:constraint": [ - { - "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + },{ + "@type": "ids:Constraint", + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } - } - ] + }] (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event (, "ids:postDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which have to be fulfilled after the Usage event - } + } } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl index b85e5c58..2f6d70ba 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,23 +20,23 @@ idsc:USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE a ids:IntervalUsageAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; - ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:constraint [ + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld index 7ac795a7..c2c10c21 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld @@ -24,13 +24,13 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -38,9 +38,9 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl index 6e2e1079..c3e1d235 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,29 +26,29 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; - ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:constraint [ + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld index b1b25849..a888f465 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld @@ -24,13 +24,13 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -38,9 +38,9 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl index 40d2d514..7ab1d6ae 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,29 +26,29 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; - ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:constraint [ + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.jsonld index a6b7b2e3..d1eaa9ec 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.jsonld @@ -12,13 +12,13 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -26,9 +26,9 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -38,14 +38,14 @@ "@type": "ids:Duty", "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:DELETE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, + "odrl:rightOperand": { "@value": "?endDateTime", // when the interval is over "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl index 6b9f7ec8..f2f7ee3c 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,40 +20,40 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; - ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:constraint [ + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ids:postDuty [ - a ids:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:action [ - a ids:Action ; - ids:includedIn idsc:DELETE ; + a odrl:Duty ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:DELETE ; ids:actionRefinement [ - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ] ] ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld index 11875042..80916fe0 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld @@ -24,13 +24,13 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -38,9 +38,9 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -56,14 +56,14 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:DELETE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, + "odrl:rightOperand": { "@value": "?endDateTime", // when the interval is over "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl index a1899e82..fe3b173e 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,52 +26,52 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; - ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:constraint [ + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action [ - a ids:Action ; - ids:includedIn idsc:DELETE ; + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:DELETE ; ids:actionRefinement [ - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ] ] ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld index 4bf5de7d..dba465c8 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld @@ -24,13 +24,13 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -38,9 +38,9 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -56,14 +56,14 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:DELETE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, - "ids:rightOperand": { + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, + "odrl:rightOperand": { "@value": "?endDateTime", // when the interval is over "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } diff --git a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl index 43aead7d..7c926498 100644 --- a/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,52 +26,52 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:action idsc:ACTION_TEMPLATE ; + odrl:constraint [ + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; - ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:constraint [ + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ - a ids:Action ; - ids:includedIn idsc:DELETE ; + a odrl:Action ; + odrl:includedIn idsc:DELETE ; ids:actionRefinement [ - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ] ] ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld index 0d27cced..4af42aa1 100644 --- a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld @@ -12,12 +12,26 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:postDuty": { "@type": "ids:Duty", "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer - "ids:action": { "@id": "idsc:LOG" } + "odrl:action": { + "@id": "idsc:LOG", + "ids:actionRefinement": [{ + "@type":"ids:Constraint", + "leftOperand": { "@id": "idsc:SYSTEM_DEVICE"}, + "operator": { "@id": "idsc:DEFINES_AS"}, + "rightOperand": { "@value": "https://example.com/logging_system_device", "@type": "xsd:anyURI"} + },{ + "@type":"ids:Constraint", + "odrl:leftOperand": { "@id": "idsc:LOG_LEVEL"}, + "odrl:operator": { "@id": "idsc:DEFINES_AS"}, + "odrl:rightOperand": { "@value": ["idsc:LOG_ON_ALLOW", "idsc:LOG_ON_DENY"] } + }] + }, + "ids:PXPEndpoint": { "@id": "https://example.com/pxp/log" } } (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event diff --git a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl index c7edb87b..c73147e2 100644 --- a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,19 +20,19 @@ idsc:USAGE_LOGGING_AGREEMENT_TEMPLATE a ids:LoggingAgreement ; skos:note "rdfs:label, rdfs:comment, spin:labelTemplate, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:action idsc:LOG ; + a odrl:Duty ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:action idsc:LOG ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.jsonld index 9f9d644e..6836b51f 100644 --- a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.jsonld @@ -24,7 +24,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:postDuty": { "@type": "ids:Duty", ( @@ -35,7 +35,7 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { "@id": "idsc:LOG" } + "odrl:action": { "@id": "idsc:LOG" } } (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event diff --git a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.ttl index 0566fb04..16176493 100644 --- a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,31 +26,31 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action idsc:LOG ; + odrl:action idsc:LOG ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.jsonld index 0fb02c89..8b322583 100644 --- a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.jsonld @@ -24,7 +24,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:postDuty": { "@type": "ids:Duty", ( @@ -35,7 +35,7 @@ ( "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) - "ids:action": { "@id": "idsc:LOG" } + "odrl:action": { "@id": "idsc:LOG" } } (, "ids:constraint": (idsc:CONSTRAINT_TEMPLATE) )* // zero or more Constraints (, "ids:preDuty": (idsc:OBLIGATION_TEMPLATE) )* // zero or more Obligations which need to be fulfilled before the Usage event diff --git a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.ttl index 01e0051d..d9b67dae 100644 --- a/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,31 +26,31 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action idsc:LOG ; + odrl:action idsc:LOG ; ] ; - ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints + ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints ( ids:preDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which need to be fulfilled before the Usage event ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more additional Obligations which have to be fulfilled after the Usage event ] diff --git a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.jsonld index 5160e9b4..901776f4 100644 --- a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.jsonld @@ -12,16 +12,16 @@ "ids:assigner": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:provider, "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:postDuty": [ { "@type": "ids:Duty", - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:NOTIFY" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ENDPOINT" }, - "ids:operator": { "@id": "idsc:DEFINES_AS" }, + "odrl:leftOperand": { "@id": "idsc:ENDPOINT" }, + "odrl:operator": { "@id": "idsc:DEFINES_AS" }, "ids:rightOperandReference": { "@id": "?notificationEndpointUrl" } // Send notification information to this URL } } diff --git a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl index 9f8b27b9..b723fd37 100644 --- a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -19,25 +20,25 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; skos:note "rdfs:label, rdfs:comment, and skos:note annotations are _not_ part of the template itself!"@en ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; - ids:permission [ - a ids:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; + odrl:permission[ + a odrl:Permission ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; - ids:action [ - a ids:Action ; - ids:includedIn idsc:NOTIFY ; + a odrl:Duty ; + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:ENDPOINT ; - ids:operator idsc:DEFINES_AS ; - ids:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL + a odrl:Constraint ; + odrl:leftOperand idsc:ENDPOINT ; + odrl:operator idsc:DEFINES_AS ; + odrl:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL ] ] ] ; - [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints + [ odrl:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints ] . diff --git a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.jsonld index 3447569c..5af975c9 100644 --- a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.jsonld @@ -24,16 +24,16 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:postDuty": [ { "@type": "ids:Duty", - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:NOTIFY" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ENDPOINT" }, - "ids:operator": { "@id": "idsc:DEFINES_AS" }, + "odrl:leftOperand": { "@id": "idsc:ENDPOINT" }, + "odrl:operator": { "@id": "idsc:DEFINES_AS" }, "ids:rightOperandReference": { "@id": "?notificationEndpointUrl" } // Send notification information to this URL } } diff --git a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl index 8ca90290..5d4a559d 100644 --- a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,31 +26,31 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; - ids:action [ - a ids:Action ; - ids:includedIn idsc:NOTIFY ; + a odrl:Duty ; + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:ENDPOINT ; - ids:operator idsc:DEFINES_AS ; - ids:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL + a odrl:Constraint ; + odrl:leftOperand idsc:ENDPOINT ; + odrl:operator idsc:DEFINES_AS ; + odrl:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL ] ] ] ; - [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints + [ odrl:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints ] . diff --git a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.jsonld index f6e38300..c2d550f6 100644 --- a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.jsonld @@ -24,16 +24,16 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), ) // same value as ids:consumer ) "ids:target": (idsc:ASSET_TEMPLATE), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:postDuty": [ { "@type": "ids:Duty", - "ids:action": { - "@type": "ids:Action", + "odrl:action": { + "@type": "odrl:Action", "ids:includedIn": { "@id": "idsc:NOTIFY" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ENDPOINT" }, - "ids:operator": { "@id": "idsc:DEFINES_AS" }, + "odrl:leftOperand": { "@id": "idsc:ENDPOINT" }, + "odrl:operator": { "@id": "idsc:DEFINES_AS" }, "ids:rightOperandReference": { "@id": "?notificationEndpointUrl" } // Send notification information to this URL } } diff --git a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl index 2e6ee64b..05758967 100644 --- a/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl @@ -5,6 +5,7 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . @@ -25,31 +26,31 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; - ids:action [ - a ids:Action ; - ids:includedIn idsc:NOTIFY ; + a odrl:Duty ; + odrl:action [ + a odrl:Action ; + odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ - a ids:Constraint ; - ids:leftOperand idsc:ENDPOINT ; - ids:operator idsc:DEFINES_AS ; - ids:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL + a odrl:Constraint ; + odrl:leftOperand idsc:ENDPOINT ; + odrl:operator idsc:DEFINES_AS ; + odrl:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL ] ] ] ; - [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints + [ odrl:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints ] . diff --git a/examples/domain-specific-semantics-using-SHACL/README.md b/examples/domain-specific-semantics-using-SHACL/README.md index 8227ae38..b78ad660 100644 --- a/examples/domain-specific-semantics-using-SHACL/README.md +++ b/examples/domain-specific-semantics-using-SHACL/README.md @@ -10,15 +10,12 @@ The IDS Information Model already provides SHACL shapes to validate RDF instance #### Describe Domain-specific Semantics of Contents -The Information Model is domain-independent; it contains generic properties for _ids:Resource_ and _ids:Representation_. SHACL shapes can be used to add domain-specific semantics to _ids:Resource_ and _ids:Representation_, without the need for extending the Information Model itself; in other words, this document does not present extended functionality of the Information Model, but it presents best practices for using the Information Model together with related standards, each for its purpose. +The Information Model is domain-independent; it contains generic properties for _ids:Resource_ and _dcat:Distribution_. SHACL shapes can be used to add domain-specific semantics to _ids:Resource_ and _dcat:Distribution_, without the need for extending the Information Model itself; in other words, this document does not present extended functionality of the Information Model, but it presents best practices for using the Information Model together with related standards, each for its purpose. The [TEMP_SHACL.ttl](TEMP_SHACL.ttl) contains a SHACL shape, which describes the schema of a JSON temperature dataset. The [TEMP_DATA_SCHEMA.json](TEMP_DATA_SCHEMA.json) file contains the corresponding JSON schema, from which the SHACL shape is derived. -[TEMP_RESOURCE.ttl](TEMP_RESOURCE.ttl) and [TEMP_RESOURCE.json](TEMP_RESOURCE.json), show an exemplary modelling of a temperature dataset as an _ids:Resource_ using the [RDF/Turtle](https://www.w3.org/TR/turtle/) or [JSON-LD](https://www.w3.org/TR/2014/REC-json-ld-20140116/) RDF serialization. The aforementioned [TEMP_SHACL.ttl](TEMP_SHACL.ttl) SHACL shape can be referenced by its URI in the _ids:Resource_ (or _ids:Representation_) using the _ids:shapesGraph_ property, an import of _sh:shapesGraph_ into the IDS namespace. In this way, domain-specific semantics can be supplemented to a _ids:Resource / ids:Representation_. +[TEMP_RESOURCE.ttl](TEMP_RESOURCE.ttl) and [TEMP_RESOURCE.json](TEMP_RESOURCE.json), show an exemplary modelling of a temperature dataset as an _ids:Resource_ using the [RDF/Turtle](https://www.w3.org/TR/turtle/) or [JSON-LD](https://www.w3.org/TR/2014/REC-json-ld-20140116/) RDF serialization. The aforementioned [TEMP_SHACL.ttl](TEMP_SHACL.ttl) SHACL shape can be referenced by its URI in the _ids:Resource_ (or _dcat:Distribution_) using the _sh:shapesGraph_ property, an import of _sh:shapesGraph_ into the IDS namespace. In this way, domain-specific semantics can be supplemented to a _ids:Resource / dcat:Distribution_. -``` -ids:shapesGraph ""; -``` ##### Validate data using SHACL With a SHACL validator, such as the Open Source [TopBraid SHACL API](https://github.com/TopQuadrant/shacl) tool or the [SHACL Playground](https://shacl.org/playground/) website, one can validate RDF / JSON-LD data using SHACL shapes. diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json index 9d82d900..b99c281b 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json @@ -73,7 +73,7 @@ "permission": [{ "@type": "ids:Permission", "action": { - "@type": "ids:Action", + "@type": "odrl:Action", "@id": "https://w3id.org/idsa/code/USE" }, "assigner": "", @@ -81,7 +81,7 @@ "constraint": { "@type": "ids:Constraint", "leftOperand": { - "@type": "ids:LeftOperand", + "@type": "odrl:LeftOperand", "@id": "https://w3id.org/idsa/code/now" }, "operator": { @@ -98,7 +98,7 @@ "constraint": { "@type": "ids:Constraint", "leftOperand": { - "@type": "ids:LeftOperand", + "@type": "odrl:LeftOperand", "@id": "https://w3id.org/idsa/code/payAmount" }, diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 995c76bd..e07b1cbb 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -4,8 +4,15 @@ @prefix xsd: . @prefix rdf: . @prefix xsd: . +@prefix odrl: . @prefix conn1: . @prefix sample_Data: . +@prefix dct: . +@prefix sh: . +@prefix dcat: . +@prefix time: . + + # This document contains an example of a resource and how it is represented in the information model. @@ -13,26 +20,26 @@ # A (Text) Resource in the IDS Information Model sample_Data: a ids:DataResource ; - ids:title "Sample temperature data"@en ; - ids:description "Temperature data of ___ from 2001 - 2012 ."@en; - ids:keyword "temperature", "data" ; + dct:title "Sample temperature data"@en ; + dct:description "Temperature data of ___ from 2001 - 2012 ."@en; + dcat:keyword "temperature", "data" ; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. - ids:publisher ""; + dct:publisher ""; ids:sovereign ""; # Temporal period covered by the content of the resource: 2001-01-01 to 2012-12-31 - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; - ids:begin [ ids:date "2001-01-01"^^xsd:date ]; - ids:end [ ids:date "2012-12-31"^^xsd:date ]; + time:hasBeginning [ ids:date "2001-01-01"^^xsd:date ]; + time:hasEnd [ ids:date "2012-12-31"^^xsd:date ]; ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - ids:standardLicense idsc:OTHERCOMMERCIALLICENSE; + dct:license idsc:OTHERCOMMERCIALLICENSE; # Language of resource: Englisch - ids:language idsc:ENGLISH ; + dct:language idsc:ENGLISH ; # References to verview of domain-specific vocabularies and terms used by the resource as a whole ids:domainVocabulary [ @@ -42,12 +49,12 @@ sample_Data: ids:propertyPartition ""; ]; - # Value of ids:shapesGraph should be a URI to a graph (e.g., an RDF file) containing one or more SHACL shapes which describe the domain-specific semantics of the ids:Resource - ids:shapesGraph "https://example.com/shacl_shapes/temperature_shacl.ttl"; + # Value of sh:shapesGraph should be a URI to a graph (e.g., an RDF file) containing one or more SHACL shapes which describe the domain-specific semantics of the ids:Resource + sh:shapesGraph "https://example.com/shacl_shapes/temperature_shacl.ttl"; ids:representation [ a ids:DataRepresentation ; - ids:mediaType idsc:APPLICATION_JSON; + dcat:mediaType idsc:APPLICATION_JSON; ids:instance sample_Data:tempdata_file ; ] ; @@ -70,32 +77,32 @@ sample_Data: # permission and usage constraints of the resource # Users have permission to "use" the json artifact in the time range between 2019-09-01T00:00:00 and 2019-10-01T00:00:00 # with the duty / obligation to pay 100 Euros. - ids:permission [ - a ids:Permission ; + odrl:permission[ + a odrl:Permission ; # Specify permission - ids:action idsc:USE ; - ids:assigner ""; + odrl:action idsc:USE ; + odrl:assigner ""; # Individual target artifact(s) ids:target sample_Data:tempdata_file ; # time interval restricted usage constraict - ids:constraint [ - a ids:Constraint ; - ids:leftOperand idsc:now; + odrl:constraint [ + a odrl:Constraint ; + odrl:leftOperand idsc:now; ids:operator idsc:IN_TIME_INTERVAL ; - ids:rightOperand "[ids:hasBeginning {2019-10-01T00:00:01Z}; ids:hasEnding {2019-10-13T23:59:59Z} ]"; + odrl:rightOperand "[ids:hasBeginning {2019-10-01T00:00:01Z}; ids:hasEnding {2019-10-13T23:59:59Z} ]"; ] ; # Obligation / Duty ids:preDuty [ - ids:action idsc:COMPENSATE ; - ids:constraint [ - ids:leftOperand idsc:payAmount ; + odrl:action idsc:COMPENSATE ; + odrl:constraint [ + odrl:leftOperand idsc:payAmount ; ids:operator ids:EQ ; - ids:rightOperand 100 ; - ids:unit ; + odrl:rightOperand 100 ; + odrl:unit ; ] ] ] @@ -107,5 +114,5 @@ sample_Data:tempdata_file a ids:Artifact ; ids:byteSize "12497"^^xsd:integer ; ids:fileName "Temperature_data.json"; - ids:creationDate "2018-06-01"^^xsd:date ; + dct:created "2018-06-01"^^xsd:date ; . diff --git a/examples/queries-using-sparql/README.md b/examples/queries-using-sparql/README.md index e98e2408..afe74860 100644 --- a/examples/queries-using-sparql/README.md +++ b/examples/queries-using-sparql/README.md @@ -1,10 +1,10 @@ # SPARQL Queries -This module illustrates the annotation of IDS resources via the [W3C Data Cube Vocabulary](https://www.w3.org/TR/vocab-data-cube/), the [W3C Vocabulary of Interlinked Datasets VoID](https://www.w3.org/TR/void/) and the [W3C Shapes Constraint Language SHACL](https://www.w3.org/TR/shacl/), and presents a filtering mechanism based on SPARQL queries. +This module illustrates the annotation of IDS resources via the [W3C Data Cube Vocabulary](https://www.w3.org/TR/vocab-data-cube/), the [W3C CSV on the Web Metadata Vocabulary for Tabular Data (CSVW)](https://www.w3.org/TR/2015/REC-tabular-metadata-20151217/), the [W3C Vocabulary of Interlinked Datasets VoID](https://www.w3.org/TR/void/) and the [W3C Shapes Constraint Language SHACL](https://www.w3.org/TR/shacl/), and presents a filtering mechanism based on SPARQL queries. That is, __given multiple IDS resources along with SPARQL queries, return all matching resources.__ ## Motivation and Scenario Having one or multiple resources, one would like to filter these based on certain criteria such as -- their structure (dimension), in terms of Data Cube +- their structure (dimension), in terms of Data Cube or, in the case of 2-dimensional tables, also CSVW - dimension count: "has 3 dimensions" - dimension usage: "uses time as dimension" - their terminology, in terms of VoID @@ -16,7 +16,9 @@ Having one or multiple resources, one would like to filter these based on certai - "`lifeExpectancy` property is in range 0–150" - "`observation` property has to be used at least once" -We therefore extend the IDS Information Model with additional fields in the Data Cube and VoID vocabularies (cf. https://github.com/International-Data-Spaces-Association/InformationModel/issues/190), and query these via SPARQL for appropriate filtering. +We therefore extend the IDS Information Model with additional fields in the Data Cube and VoID vocabularies (cf. https://github.com/International-Data-Spaces-Association/InformationModel/issues/190 for details), and query these via SPARQL for appropriate filtering. + +For CSVW, neither explicit support nor explicit examples have been implemented so far, but such cases can be modelled in a similar way. ## Requirements - Java 11 diff --git a/examples/queries-using-sparql/SparqlQueries/src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl b/examples/queries-using-sparql/SparqlQueries/src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl index 1bee825b..e28573b1 100644 --- a/examples/queries-using-sparql/SparqlQueries/src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl +++ b/examples/queries-using-sparql/SparqlQueries/src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl @@ -5,6 +5,9 @@ @prefix xsd: . @prefix admingeo: . @prefix interval: . +@prefix time: . +@prefix dct: . +@prefix dcat: . @prefix life_expectancy: . @prefix life_expectancy-geo: . @@ -24,27 +27,27 @@ # A (Data) Resource in the IDS Information Model life_expectancy:Resource a ids:DataResource , qb:DataSet; - ids:title "European highway statistics - accident report"@en ; - ids:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; + dct:title "European highway statistics - accident report"@en ; + dct:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. - ids:publisher ; + dct:publisher ; ids:sovereign ; # Temporal period covered by the content of the resource - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; - ids:begin [a ids:Instant ; - ids:dateTime "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; - ids:end [a ids:Instant ; - ids:dateTime "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; + time:hasBeginning [a time:Instant ; + time:inXSDDateTimeStamp "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; + time:hasEnd [a time:Instant ; + time:inXSDDateTimeStamp "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; ] ; # Open Government License - ids:customLicense ; + dct:license ; # Language of resource - ids:language idsc:EN ; + dct:language idsc:EN ; # Data cube details qb:structure life_expectancy:Structure ; @@ -53,7 +56,7 @@ life_expectancy:Resource # Representation of resource: Reference to an "instance" (Excel file below) ids:representation [ a ids:DataRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance life_expectancy:ExcelFile ; ] ; . @@ -67,7 +70,7 @@ life_expectancy:ExcelFile a ids:Artifact ; ids:byteSize 9759 ; ids:fileName "LIFE_EXPECTANCY_DATA.xlsx"; - ids:creationDate "2020-03-19T12:00:00+02:00"^^xsd:dateTimeStamp ; + dct:created "2020-03-19T12:00:00+02:00"^^xsd:dateTimeStamp ; . # Data Cube structure diff --git a/examples/queries-using-sparql/SparqlQueries/src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl b/examples/queries-using-sparql/SparqlQueries/src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl index e9eedf47..30e599d1 100644 --- a/examples/queries-using-sparql/SparqlQueries/src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl +++ b/examples/queries-using-sparql/SparqlQueries/src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl @@ -6,11 +6,17 @@ @prefix xsd: . @prefix sh: . @prefix qb: . +@prefix dct: . +@prefix dcat: . + @prefix admingeo: . @prefix interval: . @prefix life_expectancy: . +@prefix time: . + + @prefix sdmx-concept: . @prefix sdmx-dimension: . @prefix sdmx-attribute: . @@ -25,27 +31,28 @@ # A (Data) Resource in the IDS Information Model life_expectancy:Resource a ids:DataResource , qb:DataSet; - ids:title "Life Expectancy For 2004-2008"@en ; - ids:description "The life expectancy for men and women for different areas on a yearly base for 2004-2008."@en; + dct:title "Life Expectancy For 2004-2008"@en ; + dct:description "The life expectancy for men and women for different areas on a yearly base for 2004-2008."@en; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. - ids:publisher ; + dct:publisher ; ids:sovereign ; # Temporal period covered by the content of the resource - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; - ids:begin [ a ids:Instant ; - ids:dateTime "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; - ids:end [ a ids:Instant ; - ids:dateTime "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; + time:hasBeginning [ a time:Instant ; + time:inXSDDateTimeStamp "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; + time:hasEnd [ a time:Instant ; + time:inXSDDateTimeStamp "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; ] ; # Open Government License - ids:customLicense ; + dct:license ; + # Language of resource - ids:language idsc:EN ; + dct:language idsc:EN ; # Data cube details qb:structure life_expectancy:Structure ; @@ -58,7 +65,7 @@ life_expectancy:Resource # Representation of resource: Reference to an "instance" (Excel file below) ids:representation [ a ids:DataRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance life_expectancy:ExcelFile ; ] ; . @@ -72,7 +79,7 @@ life_expectancy:ExcelFile a ids:Artifact ; ids:byteSize 9759 ; ids:fileName "LIFE_EXPECTANCY_DATA.xlsx"; - ids:creationDate "2020-03-19T12:00:00+02:00"^^xsd:dateTimeStamp ; + dct:created "2020-03-19T12:00:00+02:00"^^xsd:dateTimeStamp ; . # Data Cube structure diff --git a/examples/rdf-validation-using-shacl/cli/conn_self_description.jsonld b/examples/rdf-validation-using-shacl/cli/conn_self_description.jsonld index 4a2cdd92..3df6828c 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.jsonld +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.jsonld @@ -1 +1 @@ -{"@type":"ids:BaseConnector","title":[{"@value":"Example Connector","@language":"en"}],"@context":"https://w3id.org/idsa/contexts/context.jsonld","catalog":{"@type":"ids:Catalog","offer":[{"@type":"ids:Resource","@id":"https://w3id.org/idsa/autogen/resource/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98","version":"Version 1","title":[{"@language":"en"}],"description":[{"@language":"en"}],"customLicense":"www.licence.de","keyword":[{"@value":"","@language":"en"}],"resourceEndpoint":[{"@type":"ids:StaticEndpoint","@id":"https://w3id.org/idsa/autogen/staticEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"StaticEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"Anfahrtsbeschreibung.pdf","byteSize":"n/a","checkSum":"967e1e28e9f6ef1c45f1ecf2c9c9e1d2c54a6201bce0cd4a9106c299df6f1349"},"endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98/data"}},{"@type":"ids:InteractiveEndpoint","@id":"https://w3id.org/idsa/autogen/interactiveEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"InteractiveEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"Anfahrtsbeschreibung.pdf","byteSize":"n/a","checkSum":"967e1e28e9f6ef1c45f1ecf2c9c9e1d2c54a6201bce0cd4a9106c299df6f1349"},"endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98/data"}},{"@type":"ids:MetaEndpoint","@id":"https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"MetaEndpointPath","endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98/meta"}}],"standardLicense":{"@id":"https://w3id.org/idsa/code/license/CREATIVECOMMONSATTRIBUTION"}},{"@type":"ids:Resource","@id":"https://w3id.org/idsa/autogen/resource/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156","version":"Version 1","title":[{"@language":"en"}],"description":[{"@value":"Temperature data for IDS-Lab usecase","@language":"en"}],"customLicense":"www.licence.de","keyword":[{"@value":"Temperature;JSON;IDS-Lab","@language":"en"}],"resourceEndpoint":[{"@type":"ids:StaticEndpoint","@id":"https://w3id.org/idsa/autogen/staticEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"StaticEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"http://ids-mock-http-file:3005/data/last.json","byteSize":"n/a","checkSum":"e34b2ec0976211907c087c42706cdfe130b3d03c917820f790733681c065f897"},"endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156/data"}},{"@type":"ids:InteractiveEndpoint","@id":"https://w3id.org/idsa/autogen/interactiveEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"InteractiveEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"http://ids-mock-http-file:3005/data/last.json","byteSize":"n/a","checkSum":"e34b2ec0976211907c087c42706cdfe130b3d03c917820f790733681c065f897"},"endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156/data"}},{"@type":"ids:MetaEndpoint","@id":"https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"MetaEndpointPath","endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156/meta"}}],"standardLicense":{"@id":"https://w3id.org/idsa/code/license/CREATIVECOMMONSATTRIBUTION"}},{"@type":"ids:Resource","@id":"https://w3id.org/idsa/autogen/resource/resource:uuid:db2c1abe-0bec-4278-8916-def8dcb982a6","version":"Version 1","title":[{"@language":"en"}],"description":[{"@language":"en"}],"customLicense":"www.licence.de","keyword":[{"@value":"","@language":"en"}],"resourceEndpoint":[{"@type":"ids:StaticEndpoint","@id":"https://w3id.org/idsa/autogen/staticEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"StaticEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"http://ids-mock-http-file:3005/data/data.csv","byteSize":"n/a","checkSum":"25ecff326e5909a5c53f21dbce14c9c10cbd516b17714fe7ed04d4b4958a1400"},"endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:db2c1abe-0bec-4278-8916-def8dcb982a6/data"}},{"@type":"ids:InteractiveEndpoint","@id":"https://w3id.org/idsa/autogen/interactiveEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"InteractiveEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"http://ids-mock-http-file:3005/data/data.csv","byteSize":"n/a","checkSum":"25ecff326e5909a5c53f21dbce14c9c10cbd516b17714fe7ed04d4b4958a1400"},"endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:db2c1abe-0bec-4278-8916-def8dcb982a6/data"}},{"@type":"ids:MetaEndpoint","@id":"https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"MetaEndpointPath","endpointHost":{"@type":"ids:Host","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:db2c1abe-0bec-4278-8916-def8dcb982a6/meta"}}],"standardLicense":{"@id":"https://w3id.org/idsa/code/license/CREATIVECOMMONSATTRIBUTION"}}],"@id":"https://w3id.org/idsa/autogen/catalog/b0baaeed-6e7e-47dc-86d7-edf087b47845"},"outboundModelVersion":"2.1.0","inboundModelVersion":["2.1.0"],"curator":"https://example-connector.com","maintainer":"https://example-connector.com","@id":"https://example-connector.com"} +{"@type":"ids:BaseConnector","title":[{"@value":"Example Connector","@language":"en"}],"@context":"https://w3id.org/idsa/contexts/context.jsonld","catalog":{"@type":"ids:Catalog","offer":[{"@type":"ids:Resource","@id":"https://w3id.org/idsa/autogen/resource/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98","version":"Version 1","title":[{"@language":"en"}],"description":[{"@language":"en"}],"customLicense":"www.license.de","keyword":[{"@value":"","@language":"en"}],"resourceEndpoint":[{"@type":"ids:StaticEndpoint","@id":"https://w3id.org/idsa/autogen/staticEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"StaticEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"Anfahrtsbeschreibung.pdf","byteSize":"n/a","checkSum":"967e1e28e9f6ef1c45f1ecf2c9c9e1d2c54a6201bce0cd4a9106c299df6f1349"},"endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98/data"}},{"@type":"ids:InteractiveEndpoint","@id":"https://w3id.org/idsa/autogen/interactiveEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"InteractiveEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"Anfahrtsbeschreibung.pdf","byteSize":"n/a","checkSum":"967e1e28e9f6ef1c45f1ecf2c9c9e1d2c54a6201bce0cd4a9106c299df6f1349"},"endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98/data"}},{"@type":"ids:MetaEndpoint","@id":"https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"MetaEndpointPath","endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98/meta"}}],"standardLicense":{"@id":"https://w3id.org/idsa/code/license/CREATIVECOMMONSATTRIBUTION"}},{"@type":"ids:Resource","@id":"https://w3id.org/idsa/autogen/resource/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156","version":"Version 1","title":[{"@language":"en"}],"description":[{"@value":"Temperature data for IDS-Lab usecase","@language":"en"}],"customLicense":"www.license.de","keyword":[{"@value":"Temperature;JSON;IDS-Lab","@language":"en"}],"resourceEndpoint":[{"@type":"ids:StaticEndpoint","@id":"https://w3id.org/idsa/autogen/staticEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"StaticEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"http://ids-mock-http-file:3005/data/last.json","byteSize":"n/a","checkSum":"e34b2ec0976211907c087c42706cdfe130b3d03c917820f790733681c065f897"},"endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156/data"}},{"@type":"ids:InteractiveEndpoint","@id":"https://w3id.org/idsa/autogen/interactiveEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"InteractiveEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"http://ids-mock-http-file:3005/data/last.json","byteSize":"n/a","checkSum":"e34b2ec0976211907c087c42706cdfe130b3d03c917820f790733681c065f897"},"endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156/data"}},{"@type":"ids:MetaEndpoint","@id":"https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"MetaEndpointPath","endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156/meta"}}],"standardLicense":{"@id":"https://w3id.org/idsa/code/license/CREATIVECOMMONSATTRIBUTION"}},{"@type":"ids:Resource","@id":"https://w3id.org/idsa/autogen/resource/resource:uuid:db2c1abe-0bec-4278-8916-def8dcb982a6","version":"Version 1","title":[{"@language":"en"}],"description":[{"@language":"en"}],"customLicense":"www.license.de","keyword":[{"@value":"","@language":"en"}],"resourceEndpoint":[{"@type":"ids:StaticEndpoint","@id":"https://w3id.org/idsa/autogen/staticEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"StaticEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"http://ids-mock-http-file:3005/data/data.csv","byteSize":"n/a","checkSum":"25ecff326e5909a5c53f21dbce14c9c10cbd516b17714fe7ed04d4b4958a1400"},"endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:db2c1abe-0bec-4278-8916-def8dcb982a6/data"}},{"@type":"ids:InteractiveEndpoint","@id":"https://w3id.org/idsa/autogen/interactiveEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"InteractiveEndpointPath","endpointArtifact":{"@type":"ids:Artifact","@id":"https://w3id.org/idsa/autogen/artifact/1c0310cd-7460-4390-ba7a-9bd9616e9943","fileName":"http://ids-mock-http-file:3005/data/data.csv","byteSize":"n/a","checkSum":"25ecff326e5909a5c53f21dbce14c9c10cbd516b17714fe7ed04d4b4958a1400"},"endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:db2c1abe-0bec-4278-8916-def8dcb982a6/data"}},{"@type":"ids:MetaEndpoint","@id":"https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a","path":"MetaEndpointPath","endpointHost":{"@type":"ids:Endpoint","@id":"https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe","protocol":{"@id":"https://w3id.org/idsa/code/protocol/HTTP"},"accessUrl":"http://example-connector.com:8000/ids-connector/resource:uuid:db2c1abe-0bec-4278-8916-def8dcb982a6/meta"}}],"standardLicense":{"@id":"https://w3id.org/idsa/code/license/CREATIVECOMMONSATTRIBUTION"}}],"@id":"https://w3id.org/idsa/autogen/catalog/b0baaeed-6e7e-47dc-86d7-edf087b47845"},"outboundModelVersion":"2.1.0","inboundModelVersion":["2.1.0"],"curator":"https://example-connector.com","maintainer":"https://example-connector.com","@id":"https://example-connector.com"} diff --git a/examples/rdf-validation-using-shacl/cli/conn_self_description.pretty.jsonld b/examples/rdf-validation-using-shacl/cli/conn_self_description.pretty.jsonld index d583bb6b..f3bed9e9 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.pretty.jsonld +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.pretty.jsonld @@ -24,7 +24,7 @@ "@language": "en" } ], - "customLicense": "www.licence.de", + "customLicense": "www.license.de", "keyword": [ { "@value": "", @@ -44,7 +44,7 @@ "checkSum": "967e1e28e9f6ef1c45f1ecf2c9c9e1d2c54a6201bce0cd4a9106c299df6f1349" }, "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" @@ -64,7 +64,7 @@ "checkSum": "967e1e28e9f6ef1c45f1ecf2c9c9e1d2c54a6201bce0cd4a9106c299df6f1349" }, "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" @@ -77,7 +77,7 @@ "@id": "https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a", "path": "MetaEndpointPath", "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" @@ -105,7 +105,7 @@ "@language": "en" } ], - "customLicense": "www.licence.de", + "customLicense": "www.license.de", "keyword": [ { "@value": "Temperature;JSON;IDS-Lab", @@ -125,7 +125,7 @@ "checkSum": "e34b2ec0976211907c087c42706cdfe130b3d03c917820f790733681c065f897" }, "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" @@ -145,7 +145,7 @@ "checkSum": "e34b2ec0976211907c087c42706cdfe130b3d03c917820f790733681c065f897" }, "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" @@ -158,7 +158,7 @@ "@id": "https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a", "path": "MetaEndpointPath", "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" @@ -185,7 +185,7 @@ "@language": "en" } ], - "customLicense": "www.licence.de", + "customLicense": "www.license.de", "keyword": [ { "@value": "", @@ -205,7 +205,7 @@ "checkSum": "25ecff326e5909a5c53f21dbce14c9c10cbd516b17714fe7ed04d4b4958a1400" }, "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" @@ -225,7 +225,7 @@ "checkSum": "25ecff326e5909a5c53f21dbce14c9c10cbd516b17714fe7ed04d4b4958a1400" }, "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" @@ -238,7 +238,7 @@ "@id": "https://w3id.org/idsa/autogen/metaEndpoint/4a99a3df-0f0a-4353-8908-043ed7f5cf4a", "path": "MetaEndpointPath", "endpointHost": { - "@type": "ids:Host", + "@type": "ids:Endpoint", "@id": "https://w3id.org/idsa/autogen/host/069c0f90-7888-4dca-8927-83f457bf3bbe", "protocol": { "@id": "https://w3id.org/idsa/code/protocol/HTTP" diff --git a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl index fdc19e39..0a8b9481 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -1,10 +1,12 @@ @prefix owl: . @prefix dct: . +@prefix dcat: . @prefix rdfs: . @prefix odrl: . @prefix xsd: . @prefix ids: . + ids:BaseConnector ; rdfs:subClassOf ids:Connector; @@ -13,23 +15,23 @@ ids:inboundModelVersion "2.1.0" ; ids:maintainer "https://example-connector.com" ; ids:outboundModelVersion "2.1.0" ; - ids:title "Example Connector"@en . + dct:title "Example Connector"@en . - ids:Catalog ; + dcat:Catalog ; ids:offer ; ids:offer ; ids:offer . ids:Resource ; - ids:customLicense "www.licence.de" ; - ids:keyword ""@en ; + dct:license "www.license.de" ; + dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; - ids:version "Version 1" . + dct:license ; + dct:hasVersion "Version 1" . ids:StaticEndpoint ; @@ -48,7 +50,7 @@ ids:fileName "http://ids-mock-http-file:3005/data/data.csv" . - ids:Host ; + ids:Endpoint ; ids:accessUrl "http://example-connector.com:8000/ids-connector/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98/data" ; ids:accessUrl "http://example-connector.com:8000/ids-connector/resource:uuid:48607e7e-567d-4381-8b3d-86ba8e093d98/meta" ; ids:accessUrl "http://example-connector.com:8000/ids-connector/resource:uuid:8d254705-b95d-4827-b245-13f8f7c21156/data" ; @@ -70,21 +72,21 @@ ids:Resource ; - ids:customLicense "www.licence.de" ; - ids:description "Temperature data for IDS-Lab usecase"@en ; - ids:keyword "Temperature;JSON;IDS-Lab"@en ; + dct:license "www.license.de" ; + dct:description "Temperature data for IDS-Lab usecase"@en ; + dcat:keyword "Temperature;JSON;IDS-Lab"@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; - ids:version "Version 1" . + dct:license ; + dct:hasVersion "Version 1" . ids:Resource ; - ids:customLicense "www.licence.de" ; - ids:keyword ""@en ; + dct:license "www.license.de" ; + dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; - ids:version "Version 1" . + dct:license ; + dct:hasVersion "Version 1" . diff --git a/examples/rdf-validation-using-shacl/java/README.md b/examples/rdf-validation-using-shacl/java/README.md index 9c89e6ac..754a640f 100644 --- a/examples/rdf-validation-using-shacl/java/README.md +++ b/examples/rdf-validation-using-shacl/java/README.md @@ -23,7 +23,7 @@ SEVERE: failed Feb 17, 2020 3:18:53 PM SHACL_Validator validateRDF SEVERE: [Node= Path= - (MessageShape): An ids:Message must have exactly one xsd:dateTime linked through the ids:issued property, Node= + (MessageShape): An ids:Message must have exactly one xsd:dateTime linked through the dct:issued property, Node= Path= ```` diff --git a/examples/rdf-validation-using-shacl/java/SHACL_Validator.java b/examples/rdf-validation-using-shacl/java/SHACL_Validator.java index 5aa4e860..3690cbc8 100644 --- a/examples/rdf-validation-using-shacl/java/SHACL_Validator.java +++ b/examples/rdf-validation-using-shacl/java/SHACL_Validator.java @@ -1,5 +1,7 @@ import org.apache.jena.graph.Graph; import org.apache.jena.graph.compose.Union; +import org.apache.jena.ontology.OntModel; +import org.apache.jena.ontology.OntModelSpec; import org.apache.jena.rdf.model.Model; import org.apache.jena.riot.RDFLanguages; import org.apache.jena.riot.RDFParser; @@ -11,7 +13,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.topbraid.jenax.util.JenaUtil; + import java.io.ByteArrayInputStream; +import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; @@ -22,7 +26,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; - /** Represents an employee. * @author Haydar Akyürek * A simple Java application to demonstrate the usage of the Jena framework for SHACL validation. @@ -33,18 +36,17 @@ public class SHACL_Validator { final Logger logger = LoggerFactory.getLogger(SHACL_Validator.class); private Path ont_path; private Path shacl_path; - private Path instance_path; + private File instance_file; /** * main method * @throws NullPointerException **/ - public static void main(String[] args) { - try { - SHACL_Validator validator = new SHACL_Validator(args[0], args[1], args[2]); + public static void main(String[] args) throws IOException { + File[] instances = new File(args[2]).listFiles((dir, name) -> name.toLowerCase().endsWith(".jsonld")); + for (File p : instances){ + SHACL_Validator validator = new SHACL_Validator(args[0], args[1], p); validator.validateRDF(); - } catch (IOException | NullPointerException e) { - e.printStackTrace(); } } @@ -52,13 +54,14 @@ public static void main(String[] args) { * * @param ont_path Path to the IDS Information Model * @param shacl_path path to the SHACL shapes. Basically the same as the /testing/ directory of the IDS Information Model repository - * @param instance_path path to the RDF instance (in JSON-LD) which ha to be validated against SHACL + * @param instance_file File of the RDF instance (in JSON-LD) which ha to be validated against SHACL * @throws MalformedURLException */ - public SHACL_Validator(String ont_path, String shacl_path, String instance_path) throws MalformedURLException { + public SHACL_Validator(String ont_path, String shacl_path, File instance_file) throws MalformedURLException { this.ont_path = format_rdf_path(ont_path); this.shacl_path = format_rdf_path(shacl_path); - this.instance_path = format_rdf_path(instance_path) ; + //this.instance_path = format_rdf_path(instance_path) ; + this.instance_file = instance_file; } /** @@ -74,8 +77,8 @@ void validateRDF() throws IOException { ValidationReport report = ShaclValidator.get().validate(shapes_graph, data_graph); if (!report.conforms()) { - logger.error("failed"); - logger.error(String.valueOf(report.getEntries())); + System.out.println(instance_file.toString() + " failed"); + System.out.println(String.valueOf(report.getEntries())); } else { System.out.println("Validation successful"); @@ -106,11 +109,12 @@ private Path format_rdf_path(String string_path) throws MalformedURLException { * @throws IOException */ public Graph readModelAndInstance() throws IOException { - Model ontologyModel = JenaUtil.createMemoryModel(); + Model model = JenaUtil.createMemoryModel(); + OntModel ontologyModel = JenaUtil.createOntologyModel(OntModelSpec.OWL_DL_MEM, model); ontologyModel.read(Files.newInputStream(this.ont_path) , null, "TTL"); Graph rdfInstanceModel = JenaUtil.createMemoryModel().getGraph(); - byte[] json_ld_arr = Files.readAllBytes(this.instance_path); + byte[] json_ld_arr = Files.readAllBytes(this.instance_file.toPath()); RDFParser parser = RDFParser.create() .source(new ByteArrayInputStream(json_ld_arr)) @@ -141,6 +145,9 @@ private Shapes readSHACL() throws IOException { // generate SHACL shapes graph result.forEach(file -> shapesModel.read(file, FileUtils.langTurtle)); + + //System.out.println(shapesModel.toString()); + shapes = Shapes.parse(shapesModel); return shapes; diff --git a/model/communication/AppRoute.ttl b/model/communication/AppRoute.ttl index 03c7abd3..0e102b5c 100644 --- a/model/communication/AppRoute.ttl +++ b/model/communication/AppRoute.ttl @@ -8,6 +8,7 @@ # ------- ids:AppRoute a owl:Class; + rdfs:subClassOf ids:Described ; rdfs:label "App Route"@en ; rdfs:comment """ ids:AppRoute describes the communication between data apps (such as in a data processing pipeline) inside an IDS Connector. @@ -77,7 +78,7 @@ ids:appRouteOutput a owl:ObjectProperty; rdfs:comment """ids:Resource that corresponds to the output of an app route. Rationale: whereas an ids:Endpoint can have an ids:endpointArtifact, it is additionally important that the data flow inside the ids:Connector / ids:ConfigurationModel is aware of the ids:ContractOffer (a property of ids:Resource!) associated with the data coming into the Connector or going out of the Connector. Use: Whenever properties of this Resource change, it may make sense to notify the ids:broker(s) configured for this AppRoute. -Note: In an ids:AppRoute that is the sequence of multiple ids:RouteSteps, the output resource of one step serves immediately as the input that is processed by the subsequent step(s). An ids:SystemAdapter typically does not change the ids:Resource, but might rather make it available in a different ids:Representation. An ids:SmartDataApp might replate its input(s) by an entirely different (e.g., fused) resource. +Note: In an ids:AppRoute that is the sequence of multiple ids:RouteSteps, the output resource of one step serves immediately as the input that is processed by the subsequent step(s). An ids:SystemAdapter typically does not change the ids:Resource, but might rather make it available in a different dcat:Distribution. An ids:SmartDataApp might replate its input(s) by an entirely different (e.g., fused) resource. """@en ; . diff --git a/model/communication/Proxy.ttl b/model/communication/Proxy.ttl index 4b58ca59..51097168 100644 --- a/model/communication/Proxy.ttl +++ b/model/communication/Proxy.ttl @@ -8,6 +8,7 @@ ids:Proxy a owl:Class; rdfs:label "Proxy"@en ; + rdfs:subClassOf ids:Endpoint ; rdfs:comment "Holds Proxy information."@en ; rdfs:seeAlso ; . diff --git a/model/content/Artifact.ttl b/model/content/Artifact.ttl index 883e4bb9..58008576 100644 --- a/model/content/Artifact.ttl +++ b/model/content/Artifact.ttl @@ -107,5 +107,5 @@ ids:duration # dct:issued # dct:title # dct:description -# dct:licence +# dct:license # dct:rights diff --git a/model/content/ArtifactState.ttl b/model/content/ArtifactState.ttl index c459ea32..909af400 100644 --- a/model/content/ArtifactState.ttl +++ b/model/content/ArtifactState.ttl @@ -6,7 +6,7 @@ @prefix geo: . @prefix wgs84: . @prefix odrl: . -@prefix time: . +@prefix time: . @prefix org: . @prefix ids: . @prefix idsc: . diff --git a/model/content/DataApp.ttl b/model/content/DataApp.ttl index c58a66aa..813b996c 100644 --- a/model/content/DataApp.ttl +++ b/model/content/DataApp.ttl @@ -46,7 +46,7 @@ ids:appStorageConfiguration a owl:DatatypeProperty; ids:supportedUsagePolicies a owl:ObjectProperty ; rdfs:domain ids:DataApp ; rdfs:range ids:UsagePolicyClass ; - rdfs:label "supported usage policies" @en; + rdfs:label "supported usage policies"@en; rdfs:comment "IDS Usage Policies a DataApp supports"@en. diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 61850bc6..11360c35 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -48,7 +48,7 @@ ids:contentPart ids:standardLicense a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:licence ; + rdfs:subPropertyOf dct:license ; rdfs:domain ids:Resource ; rdfs:range xsd:anyURI; rdfs:seeAlso ; @@ -64,7 +64,7 @@ ids:standardLicense ids:customLicense a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:licence ; + rdfs:subPropertyOf dct:license ; rdfs:domain ids:Resource ; rdfs:range xsd:anyURI; rdfs:label "Custom License"@en; diff --git a/model/content/PaymentModalities.ttl b/model/content/PaymentModalities.ttl new file mode 100644 index 00000000..cec14b87 --- /dev/null +++ b/model/content/PaymentModalities.ttl @@ -0,0 +1,16 @@ +@prefix dct: . +@prefix ids: . + +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + +# Classes +# ------- + +ids:PaymentModality + a owl:Class; + rdfs:label "Payment Modality"@en ; + rdfs:comment "Various pricing modalities such as idsc:FREE, idsc:FIXED_PRICE and idsc:NEGOTIATION_BASIS can be used as a pre-selection to annotate the terms of the contract. Depending on the requirements, additional free text information can be attached."@en; +. diff --git a/model/content/UsageControlObject.ttl b/model/content/UsageControlObject.ttl index 6ed2f7cc..07d7fb40 100644 --- a/model/content/UsageControlObject.ttl +++ b/model/content/UsageControlObject.ttl @@ -60,14 +60,6 @@ ids:UsageControlObject a owl:Class; rdfs:comment "Last read or write access."@en ; . - # united with ids:action of the ids:Rule class. - # ids:action a owl:ObjectProperty; - # rdfs:label "applied actions"@en; - # rdfs:domain ids:UsageControlObject; - # rdfs:range ids:Action ; - # rdfs:comment "The sequence of executed actions on the data object. Must be an element of ids:Action."@en ; - #. - ids:hasState a owl:ObjectProperty; rdfs:label "has state"@en; rdfs:domain ids:UsageControlObject; diff --git a/model/contract/UsageControlComponent.ttl b/model/contract/UsageControlComponent.ttl new file mode 100644 index 00000000..5d603c10 --- /dev/null +++ b/model/contract/UsageControlComponent.ttl @@ -0,0 +1,44 @@ +@prefix owl: . +@prefix rdfs: . +@prefix ids: . +@prefix xsd: . + +# Classes +# ------- + +ids:UsageControlComponent + a owl:Class; + rdfs:label "Usage Control Component"@en ; + rdfs:comment "Defined usage control component (i.e. PIP, PXP, etc.) in the IDS."@en; + . + +ids:PXP + a owl:Class; + rdfs:subClassOf ids:UsageControlComponent; + rdfs:label "policy execution point"@en; + rdfs:comment "The reference to the PXP that operates a specific action, URI or reference to an associated PXP interface."@en; +. + +ids:PIP + a owl:Class; + rdfs:subClassOf ids:UsageControlComponent; + rdfs:label "policy information point"@en; + rdfs:comment "Refers to the PIP that provides a specific piece of information (URI/reference to an associated PIP interface). "@en; +. + +# Properties +# ---------- + +ids:interfaceDescription a owl:ObjectProperty; + rdfs:label "interface description"@en; + rdfs:domain ids:UsageControlComponent; + rdfs:range xsd:anyURI; + rdfs:comment "The reference to a URI that provides the interface description of a usage control endpoint."@en; +. + +ids:endpointURI a owl:ObjectProperty; + rdfs:label "endpoint URI"@en; + rdfs:domain ids:UsageControlComponent; + rdfs:range xsd:anyURI; + rdfs:comment "The reference to a URI that expresses an exact endpoint of that usage control endpoint."@en; +. diff --git a/model/governance/License.ttl b/model/governance/License.ttl index f8c8f50b..c6e24a8f 100644 --- a/model/governance/License.ttl +++ b/model/governance/License.ttl @@ -10,5 +10,5 @@ ids:License rdfs:subClassOf dct:License; a owl:Class; rdfs:label "License"@en ; - rdfs:comment "Class of Licences to be referred to by Resources."@en. + rdfs:comment "Class of licenses to be referred to by Resources."@en. diff --git a/testing/content/MediaTypeShape.ttl b/testing/content/MediaTypeShape.ttl deleted file mode 100644 index 4d78e3d1..00000000 --- a/testing/content/MediaTypeShape.ttl +++ /dev/null @@ -1,47 +0,0 @@ -@prefix owl: . -@prefix rdfs: . -@prefix dct: . -@prefix ids: . -@prefix xsd: . - -@prefix sh: . -@prefix shapes: . - -shapes: - a owl:Ontology ; - sh:declare [ - sh:prefix "rdf" ; - sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI ; - ] ; - - sh:declare [ - sh:prefix "ids" ; - sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; - ] . - - -shapes:MediaTypeShape - a sh:NodeShape ; - sh:targetClass ids:MediaType ; - - sh:sparql [ - a sh:SPARQLConstraint ; - sh:message " (MediaTypeShape): An ids:MediaType is a abstract class. Please use one of the subclasses for the generation of instances."@en ; - sh:prefixes shapes: ; - sh:select """ - SELECT ?this ?type - WHERE { - ?this rdf:type ?type . - FILTER (?type = ids:MediaType) - } - """ ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:filenameExtension ; - sh:datatype xsd:string ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (MediaTypeShape): An ids:filenameExtension property must not have more than one point from an ids:MediaType to an xsd:string."@en ; - ] . diff --git a/testing/contract/UsageControlComponentShape.ttl b/testing/contract/UsageControlComponentShape.ttl new file mode 100644 index 00000000..81ad39af --- /dev/null +++ b/testing/contract/UsageControlComponentShape.ttl @@ -0,0 +1,37 @@ +@prefix owl: . +@prefix rdfs: . +@prefix dct: . +@prefix xsd: . +@prefix odrl: . +@prefix ids: . + +@prefix sh: . +@prefix shapes: . + + + +shapes:UsageControlComponentShape + a sh:NodeShape ; + sh:targetClass ids:UsageControlComponent ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:interfaceDescription ; + sh:nodeKind sh:IRI ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (UsageControlComponentShape): An ids:interfaceDescription property must have exactly one point from an ids:UsageControlComponent to an xsd:URI."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:endpointURI ; + sh:nodeKind sh:IRI ; + sh:minCount 0 ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (UsageControlComponentShape): An ids:endpointURI property must point from an ids:UsageControlComponent to an xsd:URI."@en ; + ] ; + +. diff --git a/testing/infrastructure/ParISShape.ttl b/testing/infrastructure/ParISShape.ttl new file mode 100644 index 00000000..1ed575ee --- /dev/null +++ b/testing/infrastructure/ParISShape.ttl @@ -0,0 +1,35 @@ +@prefix owl: . +@prefix rdfs: . +@prefix ids: . + +@prefix dct: . +@prefix sh: . +@prefix shapes: . +@prefix xsd: . + +shapes: + a owl:Ontology ; + sh:declare [ + sh:prefix "rdf" ; + sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI ; + ] ; + + sh:declare [ + sh:prefix "ids" ; + sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; + ] . + + +shapes:ParISShape + a sh:NodeShape ; + sh:targetClass ids:ParIS ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:participantCatalog ; + sh:class ids:ParticipantCatalog ; + sh:severity sh:Violation ; + sh:message " (ParISShape): An ids:participantCatalog property must point from an ids:ParIS to an ids:ParticipantCatalog."@en ; + ]; +. + diff --git a/testing/participant/BusinessIdentifierShape.ttl b/testing/participant/BusinessIdentifierShape.ttl index 512d38a8..15a9e010 100644 --- a/testing/participant/BusinessIdentifierShape.ttl +++ b/testing/participant/BusinessIdentifierShape.ttl @@ -4,7 +4,7 @@ @prefix xsd: . @prefix ids: . @prefix sh: . -@prefix shapes: . +@prefix shapes: . shapes: a owl:Ontology ; diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl new file mode 100644 index 00000000..6d1134fa --- /dev/null +++ b/utils/refactor_helper.ttl @@ -0,0 +1,510 @@ +# Helper file: this file contians for each class that we replaced with an external class the following definitions + +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix foaf: . +@prefix org: . +@prefix skos: . +@prefix dct: . +@prefix dcat: . +@prefix odrl: . +@prefix time: . +@prefix schema: . +@prefix sh: . +@prefix ids: . +@prefix xsd: . + + +# Definition of Classes + +foaf:Agent + a owl:Class ; + rdfs:subClassOf ids:Described ; + rdfs:subClassOf odrl:Party ; + rdfs:label "Agent"@en ; + rdfs:comment "Internal or external Agent interacting with the International Data Spaces, not necessarily an IDS Participant."@en . + +foaf:Person + a owl:Class ; + rdfs:label "Person"@en ; + rdfs:comment "The class of persons (people)"@en . + +org:Site + a owl:Class ; + a rdfs:Class ; + rdfs:label "Site"@en ; + rdfs:comment "An office or other premise at which the organization is located"@en . + +skos:Concept + a owl:Class ; + rdfs:label "Concept"@en ; + rdfs:comment "Class of categories for classification of Resources."@en ; + rdfs:seeAlso + , + . + +dct:DCMIType + a owl:Class ; + rdfs:label "DCMI Type Vocabulary"@en; + rdfs:comment "Enumerated types of content expanding upon the Digital Content hierarchy. Instances of Content Type are used to more precisely specify the type, genre or interpretation of a Digital Content."@en . + +dct:MediaType + a owl:Class ; + rdfs:label "Media Type"@en ; + rdfs:comment "General class of media types (formerly known as MIME types). It is used only when no ids:IANAMediaType available."@en . + +dcat:Distribution + a rdfs:Class ; + a owl:Class ; + rdfs:subClassOf ids:Described ; + rdfs:subClassOf ids:DescribedSemantically ; + rdfs:subClassOf odrl:Asset ; + rdfs:label "Distribution"@en ; + rdfs:comment "Syntactic template of a Resource."@en . + +odrl:Asset + a rdfs:Class ; + a owl:Class ; + rdfs:label "Asset"@en ; + rdfs:comment "An Asset is either an ids:Resource, an dcat:Distribution, or an ids:Artifact. The Asset is used to reference the target of an ids:Contract."@en . + +odrl:AssetCollection + a rdfs:Class ; + a owl:Class ; + rdfs:subClassOf odrl:Asset ; + rdfs:label "Asset Collection"@en ; + rdfs:comment "An AssetCollection is a bracket object combining several odrl:Asset."@en . + +dct:License + a owl:Class ; + rdfs:label "License"@en ; + rdfs:comment "Class of licenses to be referred to by Resources."@en . + +time:Instant + a owl:Class ; + rdfs:subClassOf time:TemporalEntity ; + rdfs:label "Instant"@en ; + rdfs:comment "A defined point in time with zero duration."@en . + +time:Interval + a owl:Class ; + rdfs:subClassOf time:TemporalEntity ; + rdfs:subClassOf dct:PeriodOfTime ; + rdfs:label "Interval"@en ; + rdfs:comment "A temporal entity with extent or duration, fixed in time (different to ids:DurationEntity)."@en . + +schema:Event + a owl:Class ; + rdfs:label "Event"@en ; + rdfs:comment "Named event with a known or unknown temporal location or duration."@en . + +odrl:Constraint + a rdfs:Class ; + a owl:Class ; + rdfs:label "Constraint"@en ; + rdfs:comment "The class of Constraints that restrict a Rule. Also, the upper class of Constraints and LogicalConstraints is solely intended as a placholder at the range of IDS Properties."@en . + +odrl:LogicalConstraint + a rdfs:Class ; + a owl:Class ; + rdfs:label "Logical Constraint"@en ; + rdfs:comment "The class of Logical Constraints that restrict a Rule. A Logical Constraints is a collection of Constraints, related with each other through the ids:operand property."@en . + +odrl:LeftOperand + a rdfs:Class ; + a owl:Class ; + rdfs:label "Left Operand"@en ; + rdfs:comment "Instances of the LeftOperand class are used as the leftOperand of a Constraint."@en . + +odrl:Rule + a rdfs:Class ; + a owl:Class ; + rdfs:subClassOf ids:Described ; + rdfs:label "Rule"@en ; + rdfs:comment "Superclass of Permissions, Prohibitions and Duties."@en . + +odrl:Permission + a rdfs:Class ; + a owl:Class ; + rdfs:subClassOf odrl:Rule ; + rdfs:label "Permission"@en ; + rdfs:comment "The class of Permissions as defined in the ODRL ontology."@en . + +odrl:Prohibition + a rdfs:Class ; + a owl:Class ; + rdfs:subClassOf odrl:Rule ; + rdfs:label "Prohibition"@en ; + rdfs:comment "The class of Prohibitions as defined in the ODRL ontology."@en . + +odrl:Duty + a rdfs:Class ; + a owl:Class ; + rdfs:subClassOf odrl:Rule ; + rdfs:label "Duty"@en ; + rdfs:comment "The class of Duties as defined in the ODRL ontology."@en . + +odrl:Action + a rdfs:Class ; + a owl:Class ; + rdfs:label "Action"@en ; + rdfs:comment "A thing one might be permitted to do or prohibited from doing to something."@en . + +odrl:action + a owl:ObjectProperty; + rdfs:label "action"@en; + rdfs:domain [ rdf:type owl:Class ; + owl:unionOf ( odrl:Rule ids:UsageControlObject)] ; + rdfs:range odrl:Action; + rdfs:comment "The operation relating to the asset / data object. "@en. + +dcat:Catalog + a rdfs:Class ; + a owl:Class ; + rdfs:label "Catalog"@en ; + rdfs:comment "Class that represents (distributable) Catalogs."@en . + +time:TemporalEntity + a owl:Class ; + rdfs:label "Temporal entity"@en ; + rdfs:comment "A temporal interval, instant or a relative duration."@en . + +# Definition of Properties + +dct:title + a rdf:Property ; + rdfs:label "Title"@en ; + rdfs:domain ids:Described ; + rdfs:range xsd:string; + rdfs:comment "(Localized) name of the entity."@en . + +dct:description + a rdf:Property ; + rdfs:label "Description"@en ; + rdfs:domain ids:Described ; + rdfs:range xsd:string; + rdfs:comment "Explanation of the resource in a natural language text."@en . + +sh:shapesGraph + a rdf:Property ; + rdfs:label "shapes graph"@en ; + rdfs:domain ids:DescribedSemantically; + rdfs:range xsd:anyURI; + rdfs:comment "Reference to SHACL shape graph, which describes domain-specific knowledge."@en . + +org:hasPrimarySite + a owl:ObjectProperty ; + a rdf:Property ; + rdfs:label "primary Site"@en ; + rdfs:domain ids:Participant; + rdfs:range org:Site; + rdfs:comment "Indicates a primary site for the Organization, this is the default means by which an Organization can be contacted and is not necessarily the formal headquarters."@en . + +foaf:mbox + a owl:ObjectProperty ; + a owl:InverseFunctionalProperty ; + rdfs:label "personal mailbox"@en ; + rdfs:domain [ owl:unionOf (ids:Participant foaf:Person) ]; + rdfs:range xsd:string; + rdfs:comment "Email address for contacting the participant on a general level."@en . + +foaf:homepage + a owl:ObjectProperty ; + a owl:InverseFunctionalProperty ; + rdfs:label "homepage"@en ; + rdfs:domain [ owl:unionOf (ids:Participant foaf:Person) ]; + rdfs:range xsd:anyURI; + rdfs:comment "General official homepage of the participant."@en . + +foaf:familyName + a owl:DatatypeProperty ; + rdfs:label "familyName"@en ; + rdfs:domain foaf:Person; + rdfs:range xsd:string; + rdfs:comment "Family name of a Person."@en . + +foaf:givenName + a owl:DatatypeProperty ; + rdfs:label "Given name"@en ; + rdfs:domain foaf:Person; + rdfs:range xsd:string; + rdfs:comment "Given name of a Person."@en . + +foaf:phone + a owl:ObjectProperty ; + rdfs:label "phone"@en ; + rdfs:domain foaf:Person; + rdfs:range xsd:string; + rdfs:comment "Phone number of a person."@en . + +dct:identifier + a rdf:Property ; + rdfs:label "Identifier"@en ; + rdfs:domain ids:BusinessIdentifier ; + rdfs:range xsd:string ; + rdfs:comment "This property is used to define the value used as an business identifier."@en . + +dct:publisher + a rdf:Property ; + rdfs:label "Publisher"@en ; + rdfs:domain ids:Resource ; + rdfs:range foaf:Agent ; + rdfs:comment "The publisher of the resource (which may differ from the sovereign)."@en . + +dcat:mediaType + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "media type"@en ; + rdfs:domain dcat:Distribution ; + rdfs:range dct:MediaType ; + rdfs:comment "Media Type of the Representation."@en . + +dct:created + a rdf:Property ; + rdfs:label "Date Created"@en ; + rdfs:domain ids:Artifact ; + rdfs:range xsd:dateTimeStamp ; + rdfs:comment "Date (as xsd:dateTimeStamp) when the artifact was created, i.e. persisted."@en . + +dct:language + a rdf:Property ; + rdfs:label "Language"@en ; + rdfs:domain [ rdf:type owl:Class ; + owl:unionOf ( ids:DigitalContent dcat:Distribution ids:AppEndpoint) + ] ; + rdfs:range ids:Language; + rdfs:comment "Natural language(s) used within the content."@en . + +dcat:theme + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "theme"@en ; + rdfs:domain ids:DigitalContent; + rdfs:range skos:Concept; + rdfs:comment "Abstract or concrete concept related to or referred by the content."@en . + +dcat:keyword + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "keyword"@en ; + rdfs:domain ids:DigitalContent; + rdfs:range xsd:string; + rdfs:comment "Controlled keywords that describe the nature, purpose, or use of the content."@en . + +dct:temporal + a rdf:Property ; + rdfs:label "Temporal Coverage"@en ; + rdfs:domain ids:DigitalContent; + rdfs:range time:TemporalEntity; + rdfs:comment "Temporal period or instance covered by the content."@en . + +dcat:temporalResolution + a owl:DatatypeProperty ; + rdfs:label "temporal resolution"@en ; + rdfs:domain ids:DigitalContent ; + rdfs:range xsd:duration ; + rdfs:comment "Minimum time between collected data points in a time series within this content."@en . + +dct:spatial + a rdf:Property ; + rdfs:label "Spatial Coverage"@en ; + rdfs:domain ids:DigitalContent; + rdfs:range ids:Location; + rdfs:comment "Named spatial entity covered by the Resource."@en . + +dct:accrualPeriodicity + a rdf:Property ; + rdfs:label "Accrual Periodicity"@en ; + rdfs:domain ids:DigitalContent; + rdfs:range ids:Frequency; + rdfs:comment "The regular period with which items are added to a collection."@en . + +dct:issued + a rdf:Property ; + rdfs:label "Date Issued"@en ; + rdfs:domain [ owl:unionOf ( + ids:DigitalContent + dcat:Distribution + ids:UsageControlObject + ) + ] ; + rdfs:range xsd:dateTimeStamp; + rdfs:comment "The date of the creation of the Digital Content. In contrast to the dct:temporal, creation dates of dcat:Distribution, ids:Artifacts or any other form of meta-data, this property describes the creation date of referenced Digital Content itself."@en . + +dct:modified + a rdf:Property ; + rdfs:label "Date Modified"@en ; + rdfs:domain [ rdf:type owl:Class ; + owl:unionOf ( ids:DigitalContent dcat:Distribution ids:UsageControlObject) + ] ; + rdfs:range xsd:dateTimeStamp; + rdfs:comment "The date/time this Digital Content has been changed the last time. Only one 'modified' attribute is usually needed."@en . + +dct:issued + a rdf:Property ; + rdfs:label "Date Issued"@en ; + rdfs:domain ids:Message; + rdfs:range xsd:dateTimeStamp; + rdfs:comment "Date (as xsd:dateTimeStamp) of issuing the Message."@en . + +dct:hasVersion + a rdf:Property ; + rdfs:label "Has Version"@en ; + rdfs:domain ids:ManagedEntity; + rdfs:range xsd:string; + rdfs:comment "Version identifier of the Managed Entity"@en . + +time:inXSDDateTimeStamp + a owl:DatatypeProperty ; + rdfs:label "in XSD date-time-stamp"@en ; + rdfs:domain time:Instant; + rdfs:range xsd:dateTimeStamp; + rdfs:comment "Absolute date time with a defined time zone."@en . + +time:hasBeginning + a owl:ObjectProperty ; + rdfs:label "has beginning"@en ; + rdfs:domain time:Interval; + rdfs:range time:Instant; + rdfs:comment "Beginning of an Interval."@en . + +time:hasEnd + a owl:ObjectProperty ; + rdfs:label "has end"@en ; + rdfs:domain time:Interval; + rdfs:range time:Instant; + rdfs:comment "End of an Interval."@en . + +odrl:leftOperand + a rdf:Property ; + rdfs:label "Has Left Operand"@en ; + rdfs:domain odrl:Constraint; + rdfs:range odrl:LeftOperand ; + rdfs:comment "The left operand in a constraint expression."@en . + +odrl:rightOperand + a rdf:Property ; + rdfs:label "rightOperand"@en ; + rdfs:domain odrl:Constraint; + rdfs:range rdfs:Resource; + rdfs:comment "The value of the right operand in a constraint expression. Value should be a rdfs:Resource or literal values. Either odrl:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint."@en. + +odrl:operator + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Has Operator"@en ; + rdfs:domain odrl:Constraint; + rdfs:range ids:BinaryOperator; + rdfs:comment "The operator function applied to operands of a Constraint"@en . + +odrl:rightOperandReference + a rdf:Property ; + rdfs:label "Has Right Operand Reference"@en ; + rdfs:domain odrl:Constraint; + rdfs:range rdfs:Resource; + rdfs:comment "The reference IRI of the right operand in a constraint expression. Has to be dereferenced in order to receive the actual value. Either odrl:rightOperand or ids:rightOperandReference should be used in an odrl:Constraint."@en . + +odrl:unit + a rdf:Property ; + rdfs:label "Unit"@en ; + rdfs:domain odrl:Constraint; + rdfs:range xsd:anyURI ; + rdfs:comment "The unit of measurement of a Constraint."@en . + +odrl:and + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "And"@en ; + rdfs:domain odrl:LogicalConstraint; + rdfs:range odrl:Constraint; + rdfs:comment "The 'and' operand connects a rdf:List of Constraints with the Boolean operator 'AND'. All Constraints of an 'and' relation must be satisfied at the same time. Only one of ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en . + +odrl:or + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Or"@en ; + rdfs:domain odrl:LogicalConstraint; + rdfs:range odrl:Constraint; + rdfs:comment "The 'or' operand connects a rdf:List of Constraints with the Boolean operator 'OR'. At least one Constraint of an 'or' relation must be satisfied. Only one of odrl:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en . + +odrl:xone + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Only One"@en ; + rdfs:domain odrl:LogicalConstraint; + rdfs:range odrl:Constraint; + rdfs:comment "The 'xone' operand connects a rdf:List of Constraints. Only one Constraint, not more, of an 'xone' relation must be satisfied. Only one of odrl:and, odrl:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en . + +odrl:assignee + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Assignee"@en ; + rdfs:domain odrl:Rule; + rdfs:range ids:Participant; + rdfs:comment "The recipient of the policy statement."@en . + +odrl:assigner + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Assigner"@en ; + rdfs:domain odrl:Rule; + rdfs:range ids:Participant; + rdfs:comment "The issuer of the policy statement."@en . + +odrl:constraint + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Has Constraint"@en; + rdfs:domain odrl:Rule; + rdfs:range odrl:Constraint; + rdfs:comment "The constraint to be used for a specific rule."@en . + +odrl:refinement + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Refinement"@en ; + rdfs:domain [ rdf:type owl:Class ; + owl:unionOf ( odrl:Rule odrl:AssetCollection)]; + rdfs:range odrl:Constraint; + rdfs:comment "Refinement defines constraints that refine a (composite) Digital Content in an odrl:Rule respectively the odrl:AssetCollection."@en . + +odrl:permission + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Has Permission"@en ; + rdfs:domain ids:Contract; + rdfs:range odrl:Permission; + rdfs:comment "A Permission granted by the Contract."@en . + +odrl:prohibition + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Has Prohibition"@en ; + rdfs:domain ids:Contract; + rdfs:range odrl:Prohibition; + rdfs:comment "A Prohibition imposed by the Contract."@en . + +odrl:obligation + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "Obligation"@en ; + rdfs:domain ids:Contract; + rdfs:range odrl:Duty; + rdfs:comment "A Duty imposed by the Contract."@en . + +odrl:includedIn + a rdf:Property ; + a owl:ObjectProperty ; + a owl:TransitiveProperty ; + rdfs:label "Included In"@en ; + rdfs:domain odrl:Action; + rdfs:range odrl:Action; + rdfs:comment "The subject transitively asserts the object Action."@en . + +dct:license + a rdf:Property ; + rdfs:label "License"@en ; + rdfs:domain ids:Resource ; + rdfs:range xsd:anyURI; + rdfs:comment "Reference to a well-known License regulating the general usage of the Resource. Check wikidata license documentation for an extensive list of licenses. License IRI should refer to the direct of link for a given standard license,e.g., MIT license (https://www.wikidata.org/wiki/Q334661). The label of the resolved wikidata license IRI can be used to present the license in human-readable form. Moreover, it also refers to an URL reference to a custom license regulating the general usage of the Resource."@en .