From 704ee26aac2031a4f1ed827453feabece434b7dc Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Mon, 13 Jul 2020 17:59:30 +0200 Subject: [PATCH 001/288] Add DCAT-AP shape, and adopt constraints for skos:Concept and dcat:Dataset from the European Commission --- .../dcat-ap/DcatApplicationProfileShapes.ttl | 202 ++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 testing/dcat-ap/DcatApplicationProfileShapes.ttl diff --git a/testing/dcat-ap/DcatApplicationProfileShapes.ttl b/testing/dcat-ap/DcatApplicationProfileShapes.ttl new file mode 100644 index 00000000..2d641d20 --- /dev/null +++ b/testing/dcat-ap/DcatApplicationProfileShapes.ttl @@ -0,0 +1,202 @@ +@prefix adms: . +@prefix dash: . +@prefix dc: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix dcat: . +@prefix dct: . +@prefix foaf: . +@prefix ids: . +@prefix idsm: . +@prefix prov: . +@prefix sh: . +@prefix skos: . +@prefix shapes: . +@prefix vcard: . + +shapes:CategoryShape + a sh:NodeShape ; + sh:name "Category"@en ; + rdfs:seeAlso ; + rdfs:seeAlso ; + sh:property [ + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:path skos:prefLabel ; + sh:severity sh:Violation + ] ; + sh:targetClass skos:Concept . + +shapes:DatasetShape + a sh:NodeShape ; + sh:name "Dataset"@en ; + rdfs:seeAlso ; + rdfs:seeAlso ; + sh:property [ + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:path dct:description ; + sh:severity sh:Violation + ], [ + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:path dct:title ; + sh:severity sh:Violation + ], [ + sh:nodeKind sh:Literal ; + sh:path dct:identifier ; + sh:severity sh:Violation + ], [ + sh:class vcard:Kind ; + sh:path dcat:contactPoint ; + sh:severity sh:Violation + ], [ + sh:class dcat:Distribution ; + sh:path dcat:distribution ; + sh:severity sh:Violation + ], [ + sh:nodeKind sh:Literal ; + sh:path dcat:keyword ; + sh:severity sh:Violation + ], [ + sh:class foaf:Agent ; + sh:maxCount 1 ; + sh:path dct:publisher ; + sh:severity sh:Violation + ], [ + sh:class dct:Location ; + sh:path dct:spatial ; + sh:severity sh:Violation + ], [ + sh:class dct:PeriodOfTime ; + sh:path dct:temporal ; + sh:severity sh:Violation + ], [ + sh:class skos:Concept ; + sh:path dcat:theme ; + sh:severity sh:Violation + ], [ + sh:class dct:RightsStatement ; + sh:maxCount 1 ; + sh:path dct:accessRights ; + sh:severity sh:Violation + ], [ + sh:class dct:Frequency ; + sh:maxCount 1 ; + sh:path dct:accrualPeriodicity ; + sh:severity sh:Violation + ], [ + sh:class dct:Standard ; + sh:path dct:conformsTo ; + sh:severity sh:Violation + ], [ + sh:class dcat:Dataset ; + sh:path dct:hasVersion ; + sh:severity sh:Violation + ], [ + sh:class dcat:Dataset ; + sh:path dct:isVersionOf ; + sh:severity sh:Violation + ], [ + sh:maxCount 1 ; + sh:path dct:issued ; + sh:severity sh:Violation ; + sh:shape shapes:DateOrDateTimeDataTypeShape + ], [ + sh:class dct:LinguisticSystem ; + sh:path dct:language ; + sh:severity sh:Violation + ], [ + sh:maxCount 1 ; + sh:path dct:modified ; + sh:severity sh:Violation ; + sh:shape shapes:DateOrDateTimeDataTypeShape + ], [ + sh:class dct:ProvenanceStatement ; + sh:path dct:provenance ; + sh:severity sh:Violation + ], [ + sh:nodeKind sh:BlankNodeOrIRI ; + sh:path dct:relation ; + sh:severity sh:Violation + ], [ + sh:class dcat:Dataset ; + sh:path dct:source ; + sh:severity sh:Violation + ], [ + sh:class skos:Concept ; + sh:path dct:type ; + sh:severity sh:Violation + ], [ + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:path owl:versionInfo ; + sh:severity sh:Violation + ], [ + sh:nodeKind sh:Literal ; + sh:path adms:versionNotes ; + sh:severity sh:Violation + ], [ + sh:class adms:Identifier ; + sh:path adms:identifier ; + sh:severity sh:Violation + ], [ + sh:class dcat:Distribution ; + sh:path adms:sample ; + sh:severity sh:Violation + ], [ + sh:class foaf:Document ; + sh:path dcat:landingPage ; + sh:severity sh:Violation + ], [ + sh:class foaf:Document ; + sh:path foaf:page ; + sh:severity sh:Violation + ], [ + sh:class dcat:Relationship ; + sh:path dcat:qualifiedRelation ; + sh:severity sh:Violation + ], [ + sh:nodeKind sh:BlankNodeOrIRI ; + sh:path dc:isReferencedBy ; + sh:severity sh:Violation + ], [ + sh:class prov:Attribution ; + sh:path prov:qualifiedAttribution ; + sh:severity sh:Violation + ], [ + sh:class prov:Activity ; + sh:path prov:wasGeneratedBy ; + sh:severity sh:Violation + ], [ + sh:datatype xsd:duration ; + sh:path dcat:temporalResolution ; + sh:severity sh:Violation + ], [ + sh:datatype xsd:decimal ; + sh:path dcat:spatialResolutionInMeters ; + sh:severity sh:Violation + ], [ + sh:class foaf:Agent ; + sh:maxCount 1 ; + sh:path dct:creator ; + sh:severity sh:Violation + ] ; + sh:targetClass dcat:Dataset . + +shapes:DateOrDateTimeDataTypeShape + a sh:NodeShape ; + rdfs:seeAlso ; + rdfs:seeAlso ; + rdfs:comment "Date time date disjunction shape checks that a datatype property receives a date or a dateTime literal" ; + rdfs:label "Date time date disjunction" ; + sh:message "The values must be data typed as either xsd:date or xsd:dateTime" ; + sh:or ([ + sh:datatype xsd:date + ] + [ + sh:datatype xsd:dateTime + ] + ) . From 364a9738dd7e641beddad607af89839eafd53a77 Mon Sep 17 00:00:00 2001 From: hosseinzadeha <69632955+hosseinzadeha@users.noreply.github.com> Date: Thu, 13 Aug 2020 15:09:18 +0200 Subject: [PATCH 002/288] Update EVENT_AGREEMENT_TEMPLATE.jsonld ?URI is a reference. It cannot be used as a leftoperand. --- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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..2daa0897 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 @@ -13,10 +13,10 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer, "ids:target": (idsc:ASSET_TEMPLATE), "ids:action": (idsc:ACTION_TEMPLATE), - "ids:constraint": { + "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 + "@id": "idsc:WorldCupEvent", // 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 @@ -24,7 +24,7 @@ "@value": "true", "@type": "http://www.w3.org/2001/XMLSchema#boolean" }, - "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 (the idsc:worldcupevent) and returns boolean + }] } } From 8fc4fd228307b38d4845a0ecfbee26ea30e87257 Mon Sep 17 00:00:00 2001 From: hosseinzadeha <69632955+hosseinzadeha@users.noreply.github.com> Date: Thu, 13 Aug 2020 15:13:04 +0200 Subject: [PATCH 003/288] Update USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld We need to define a new left operand to know where to put the logs. (suggestion is idsc:LoggingEndPoint) --- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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..be2bc58d 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 @@ -17,7 +17,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": { "@id": "idsc:LOG" } + "ids:action": { + "@id": "idsc:LOG",, + "refinement": [{ + "leftOperand": "idsc:LoggingEndpoint", + "operator": "eq", + "rightOperand": { "@value": "?LoggingEndpointUri", "@type": "xsd:anyURI"} + }] + } } (, "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 From 9fc918b2a6f6a3d065d4a01db3da64ffd5cee7b0 Mon Sep 17 00:00:00 2001 From: hosseinzadeha <69632955+hosseinzadeha@users.noreply.github.com> Date: Thu, 13 Aug 2020 15:21:23 +0200 Subject: [PATCH 004/288] Update USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld There has to be one list of constraints. The syntax of the policy was corrected too. --- ...AGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) 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..39446e95 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 @@ -13,29 +13,25 @@ "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:constraint": [{ + "@type": "ids:Constraint", "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "ids:operator": { "@id": "idsc:AFTER" }, "ids:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } - ], - "ids:constraint": [ - { - "@type:" "ids:Constraint", + },{ + "@type": "ids:Constraint", "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "ids:operator": { "@id": "idsc:BEFORE" }, "ids: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 - } + } } From 47b59126314895062b2ef50a8158526c56ff4380 Mon Sep 17 00:00:00 2001 From: hosseinzadeha <69632955+hosseinzadeha@users.noreply.github.com> Date: Fri, 14 Aug 2020 13:27:58 +0200 Subject: [PATCH 005/288] Update EVENT_AGREEMENT_TEMPLATE.jsonld When we do not want to define new sub event leftoperand, we can stick to the the Event equal to evenUri and pass the right operand value to the pip and receive boolean result. --- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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 2daa0897..e71964f7 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 @@ -16,15 +16,14 @@ "ids:constraint": [{ "@type": "ids:Constraint", "ids:leftOperand": { - "@id": "idsc:WorldCupEvent", // The identifier of this event, for instance http://dbpedia.org/resource/Category:FIFA_World_Cup_tournaments - "ids:broader" : "idsc:EVENT" + "@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" + "@value": "?eventUri", + "@type": "xsd:anyUri" }, - "ids:pipEndpoint": { "@id": "?askIfEventPipUri" } // the pip receives one parameter (the idsc:worldcupevent) and returns boolean + "ids:pipEndpoint": { "@id": "?askIfEventPipUri" } // the pip receives one parameter (?eventUri) and returns boolean }] } } From aba694a091c50441a76005befbff4af90a3b38cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20B=C3=B6ckmann?= Date: Mon, 17 Aug 2020 11:47:30 +0200 Subject: [PATCH 006/288] Update EVENT_AGREEMENT_TEMPLATE.jsonld Capitalizing xsd:anyUri to xsd:anyURI --- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e71964f7..d84a8ea2 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 @@ -21,7 +21,7 @@ "ids:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied "ids:rightOperand": { "@value": "?eventUri", - "@type": "xsd:anyUri" + "@type": "xsd:anyURI" }, "ids:pipEndpoint": { "@id": "?askIfEventPipUri" } // the pip receives one parameter (?eventUri) and returns boolean }] From eb99847d8331041557917da67d639c57687734e1 Mon Sep 17 00:00:00 2001 From: hosseinzadeha <69632955+hosseinzadeha@users.noreply.github.com> Date: Tue, 9 Mar 2021 12:17:19 +0100 Subject: [PATCH 007/288] Update USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld --- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) 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 be2bc58d..8e8f32be 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 @@ -18,13 +18,20 @@ "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",, - "refinement": [{ - "leftOperand": "idsc:LoggingEndpoint", - "operator": "eq", - "rightOperand": { "@value": "?LoggingEndpointUri", "@type": "xsd:anyURI"} - }] - } + "@id": "idsc:LOG", + "refinement": [{ + "@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", + "ids:leftOperand": { "@id": "idsc:LOG_LEVEL"}, + "ids:operator": { "@id": "idsc:DEFINES_AS"}, + "ids: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 From 6dd2ad7a57ed92db323c30cefdf14a70f782aa2b Mon Sep 17 00:00:00 2001 From: hosseinzadeha <69632955+hosseinzadeha@users.noreply.github.com> Date: Wed, 10 Mar 2021 14:23:02 +0100 Subject: [PATCH 008/288] Update USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld --- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8e8f32be..f518934e 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 @@ -19,7 +19,7 @@ "ids:assignee": (idsc:PARTICIPANT_TEMPLATE), // same value as ids:consumer "ids:action": { "@id": "idsc:LOG", - "refinement": [{ + "ids:actionRefinement": [{ "@type":"ids:Constraint", "leftOperand": { "@id": "idsc:SYSTEM_DEVICE"}, "operator": { "@id": "idsc:DEFINES_AS"}, From 0faf848a3ce0670896e2fae49ca21128a9d6539d Mon Sep 17 00:00:00 2001 From: Christoph Lange Date: Mon, 19 Apr 2021 18:47:26 +0200 Subject: [PATCH 009/288] for the endpoints, made explicit, which artifacts they serve (addresses #434) --- examples/DATA1.ttl | 2 ++ examples/DATA2.ttl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 3220a1a1..d60445b8 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -38,10 +38,12 @@ data1: # Communication ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:endpointArtifact data1:report_pdf ; ids:accessURL "https://connector.aastat.gov.de/reports/Highway_accident_statistics.pdf"^^xsd:anyURI ; ] ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:endpointArtifact data1:report_doc ; ids:accessURL "https://connector.aastat.gov.de/reports/Highway_accident_statistics.doc"^^xsd:anyURI ; ] ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 3352e993..7370d4fc 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -35,6 +35,7 @@ data2: a ids:Resource ; ] ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:endpointArtifact data2:tar_gzip_archive ; ids:accessURL "https://connector.aastat.gov.de/resource/archive/EuropeanHighwayStatistics_2000_2017.tar.gz"^^xsd:anyURI ; ] ; . @@ -93,6 +94,7 @@ data2:E421_20171231 data2: ids:resourceEndpoint [ a ids:ConnectorEndpoint ; + ids:endpointArtifact data2:E1_20000101 ; ids:accessURL "https://connector.aastat.gov.de/resource/content/E1_20000101.csv"^^xsd:anyURI ; ] ; ids:contractOffer [ From 91d80f8c85720d053ae505578db74daae889bdf3 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Wed, 5 May 2021 09:44:20 +0200 Subject: [PATCH 010/288] Added 11 instances of LeftOperand. --- codes/LeftOperand.ttl | 55 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 908ca42f..5091e31f 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -47,6 +47,11 @@ idsc:DELAY a ids:LeftOperand ; rdfs:comment "Delay the action. Use idsc:DURATION_EQ, idsc:LONGER, idsc:LONGER_EQ, idsc:SHORTER_EQ, or idsc:SHORTER with datatype xsd:duration."@en ; . +idsc:DATE_TIME a ids:LeftOperand ; + rdfs:label "date time"@en ; + rdfs:comment "To be used instead of idsc:POLICY_EVALUATION_TIME."@en ; +. + # # ----------- idsc:EVENT a ids:LeftOperand; @@ -78,6 +83,16 @@ idsc:USER a ids:LeftOperand ; rdfs:comment "The user of a system at the *consuming connector* requesting access to a resource. Recommended usage for checking whether the user's role is sufficient for his/her desired action. Allowed operators are idsc:MEMBER_OF, idsc:HAS_MEMBERSHIP, idsc:HAS_SITE with a RightOperand referencing a (set of) acceptable organisations (ids:Participant),memberships, sites. Preferred behaviour is that the RightOperand dereferences to an endpoint hosting the required role information."@en ; . +idsc:ROLE a ids:LeftOperand ; + rdfs:label "role"@en ; + rdfs:comment "As end user role, not the IDS participant type."@en ; +. + +idsc:RECIPIENT a ids:LeftOperand ; + rdfs:label "recipient"@en ; + rdfs:comment "For example, the recipient of the notify/inform action."@en ; +. + # idsc:PURPOSE a ids:LeftOperand; skos:broader odrl:purpose; @@ -85,6 +100,23 @@ idsc:PURPOSE a ids:LeftOperand; rdfs:comment "A defined purpose for exercising the action of the Rule. Use with idsc:IN or idsc:SAME_AS and RDF Resources."@en ; . +# +idsc:MODIFICATION_METHOD a ids:LeftOperand; + rdfs:label "modification method"@en ; + rdfs:comment "Refers to how to modify/anonymize. "@en ; +. + +# +idsc:TARGET_POLICY a ids:LeftOperand; + rdfs:label "target policy"@en ; + rdfs:comment "In order to attach/address a policy to a contract. "@en ; +. + +# +idsc:ARTIFACT_STATE a ids:LeftOperand; + rdfs:label "artifact state"@en ; + rdfs:comment "Suggested values exist in the infomodell: idsc:ANONYMIZED, idsc:PSEUDONYMIZED, idsc:ENCRYPTED, idsc:COMBINED . "@en ; +. # numeric # ------- @@ -117,6 +149,10 @@ idsc:SYSTEM a ids:LeftOperand; rdfs:comment "Execution system or execution environment that is used to access the asset under consideration, usually an IDS Connector. The regarded data object should correspond to the IDS Connector class and its attributes. Must be used together with idsc:SAME_AS, idsc:NOT, idsc:HAS_STATE, idsc:IN, idsc:COVERED_BY idsc:INSIDE, idsc:SPATIAL_EQUALS, idsc:DISJOINT, or idsc:INSIDE_NETWORK operators. RightOperandReference must be a URI identifying the target system(s)."@en ; . +idsc:SYSTEM_DEVICE a ids:LeftOperand; + rdfs:label "system device" ; + rdfs:comment "The ODRL definitions is “An identified computing system or computing device used for exercising the action of the Rule.” "@en ; + . # interaction # ----------- @@ -125,6 +161,25 @@ idsc:ENDPOINT a ids:LeftOperand; rdfs:comment "Remote target for an action or information provider (PIP). Must be used together with idsc:IS or idsc:IN operators. RightOperand must be a xsd:anyURI or an URL which should point to an actually deployed endpoint. An example is a refinment of idsc:NOTIFY where idsc:REMOTE points to a Clearing House."@en ; . +idsc:APPLICATION a ids:LeftOperand; + rdfs:label "application" ; + rdfs:comment "Certified Data App."@en ; + . + +idsc:CONNECTOR a ids:LeftOperand; + rdfs:label "connector" ; + rdfs:comment "Accepts an IDS connector URI."@en ; + . + +idsc:LOG_LEVEL a ids:LeftOperand; + rdfs:label "log level" ; + rdfs:comment "Accepted values: ON_DENY, ON_ALLOW, ON_DUTY_EXERCISED, ON_ACTION_OPERATED."@en ; + . + +idsc:NOTIFICATION_LEVEL a ids:LeftOperand; + rdfs:label "notification level" ; + rdfs:comment "Similar to the idsc:LOG_LEVEL."@en ; + . # attribute # --------- From 2704725f9acd9e5c9bfdefdcc5bdc15e6c24876a Mon Sep 17 00:00:00 2001 From: changqin26 Date: Wed, 5 May 2021 09:50:06 +0200 Subject: [PATCH 011/288] Added INCREMENT_COUNTER to Action.ttl --- codes/Action.ttl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index e23ab629..b5376926 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -69,12 +69,14 @@ idsc:DISTRIBUTE idsc:GRANT_USE a ids:Action; rdfs:label "grant use"@en; - rdfs:comment "To grant use of a resource to another party. Does *not* imply any other usage rights."@en ; - skos:broader ; + rdfs:comment "An action to be used in the count usage policy where the idsc:COUNT left operand is used."@en ; odrl:includedIn idsc:USE ; - skos:note "This action is always evaluated at the consumer side, at the moment a third party intends to access the resource as received by the original consumer."@en ; . +idsc:INCREMENT_COUNTER + a ids:Action; + rdfs:label "increment counter"@en; + idsc:ENCRYPT a ids:Action ; rdfs:comment "The data artifact or parts of it are encrypted and can not be read by neither the ids:DataConsumer nor any other third party. The encryption algorithm might be specified by a constraint."@en ; From da34a55d81f4528a05feae126d2679d8de502b27 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 20 May 2021 14:13:35 +0200 Subject: [PATCH 012/288] Added pxpEndpoint as property for Action class. --- model/contract/Action.ttl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index d746a3ae..0f4faff4 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -35,3 +35,11 @@ ids:includedIn rdfs:range ids:Action; rdfs:comment "The subject transitively asserts the object Action."@en ; . + +ids:pxpEndpoint + a owl:ObjectProperty; + rdfs:label "has PXP endpoint"@en; + rdfs:domain ids:Action; + rdfs:range xsd:anyURI ; + rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en +. From 7f69caee4f30ce43a49b08e24216465c0224d578 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 20 May 2021 14:22:12 +0200 Subject: [PATCH 013/288] Added MODIFICATION_METHOD as an instance of Action. --- codes/Action.ttl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/codes/Action.ttl b/codes/Action.ttl index b5376926..a9fd555a 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -102,6 +102,12 @@ idsc:MODIFY skos:note "This action is always evaluated at the consumer side. It corresponds to 'allow changes of the copied resource'."@en ; . +idsc:MODIFICATION_METHOD + a ids:action ; + rdfs:comment "To indicate a modification method"@en ; + rdfs;label "modification method"@en ; + . + idsc:NEXT_POLICY a ids:Action ; rdfs:comment "To forward the resource under the same policy. Implies a permission to distribute."@en ; From 96228f24e9afacd54102c92dfced8046285bc285 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 20 May 2021 14:26:13 +0200 Subject: [PATCH 014/288] Corrected Typo. --- codes/Action.ttl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index a9fd555a..35869d74 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -103,11 +103,11 @@ idsc:MODIFY . idsc:MODIFICATION_METHOD - a ids:action ; + a ids:Action ; rdfs:comment "To indicate a modification method"@en ; rdfs;label "modification method"@en ; . - + idsc:NEXT_POLICY a ids:Action ; rdfs:comment "To forward the resource under the same policy. Implies a permission to distribute."@en ; From ec0d7988876d431fdb4a18aa45f6e14b9fe3e9f5 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 27 May 2021 13:05:13 +0200 Subject: [PATCH 015/288] Removed MODIFICATION_METHOD from Action class. --- codes/Action.ttl | 6 ------ 1 file changed, 6 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index 35869d74..b5376926 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -102,12 +102,6 @@ idsc:MODIFY skos:note "This action is always evaluated at the consumer side. It corresponds to 'allow changes of the copied resource'."@en ; . -idsc:MODIFICATION_METHOD - a ids:Action ; - rdfs:comment "To indicate a modification method"@en ; - rdfs;label "modification method"@en ; - . - idsc:NEXT_POLICY a ids:Action ; rdfs:comment "To forward the resource under the same policy. Implies a permission to distribute."@en ; From cfb4917f8adeff57543a4b26a462c352d64d381e Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 27 May 2021 13:13:59 +0200 Subject: [PATCH 016/288] Removed MODIFICATION_METHOD from LeftOperand. --- codes/LeftOperand.ttl | 6 ------ 1 file changed, 6 deletions(-) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 5091e31f..ec6b1e5d 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -100,12 +100,6 @@ idsc:PURPOSE a ids:LeftOperand; rdfs:comment "A defined purpose for exercising the action of the Rule. Use with idsc:IN or idsc:SAME_AS and RDF Resources."@en ; . -# -idsc:MODIFICATION_METHOD a ids:LeftOperand; - rdfs:label "modification method"@en ; - rdfs:comment "Refers to how to modify/anonymize. "@en ; -. - # idsc:TARGET_POLICY a ids:LeftOperand; rdfs:label "target policy"@en ; From d781ef8dea662e01716b6ace8ce5d641166f733a Mon Sep 17 00:00:00 2001 From: changqin26 Date: Fri, 28 May 2021 09:33:28 +0200 Subject: [PATCH 017/288] Added two properties representing @id and @value and card restriction. --- model/contract/Constraint.ttl | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 50033427..4152eedf 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -29,6 +29,12 @@ ids:LogicalConstraint rdfs:subClassOf ids:AbstractConstraint ; 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; . +ids:PipEndpoint + a owl:class; + rdfs:label "pip endpoint"@en; + rdfs:comment "Refers to an endpoint which provides a specific piece of information (URI/reference to an associated PIP interface). "@en; +. + # Properties # ---------- @@ -71,10 +77,24 @@ ids:unit rdfs:subPropertyOf odrl:unit; ids:pipEndpoint a owl:ObjectProperty; rdfs:label "has PIP endpoint"@en; rdfs:domain ids:Constraint; - rdfs:range xsd:anyURI ; + rdfs:range ids:PipEndpoint ; rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en . +ids:pipInterfaceDescription a owl:ObjectProperty; + rdfs:label "pip interface description"@en; + rdfs:domain ids:PipEndpoint; + rdfs:range xsd:anyURI; + rdfs:comment "The reference to a URI that prodived the interface description of a PIP."@en; +. + +ids:pipAccessURI a owl:ObjectProperty; + rdfs:label "pip access URI"@en; + rdfs:domain ids:PipEndpoint; + rdfs:range xsd:anyURI; + rdfs:comment "The reference to a URI that expresses an exact endpoint of that PIP."@en; +. + ids:and rdfs:subPropertyOf odrl:and; a owl:ObjectProperty; rdfs:label "and operand"@en ; From 99b15119b6f0b02e88c6ed48667564af5854a557 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Fri, 28 May 2021 09:34:17 +0200 Subject: [PATCH 018/288] Added card restriction to indicate mantary and optional for PipEndpoint. --- testing/contract/ConstraintShape.ttl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 5e02db59..cf89c5a5 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -138,3 +138,26 @@ shapes:LogicalConstraintShape ) ; sh:message " (LogicalConstraintShape): Exactly one ids:and, ids:or, or ids:xone property must point from an ids:LogicalConstraint to ids:Constraints."@en ; . + +shapes:PipEndpointShape + a sh:NodeShape ; + sh:targetClass ids:PipEndpoint ; + sh:property [ + a sh:PropertyShape ; + sh:path ids:pipInterfaceDescription ; + sh:nodeKind sh:IRI ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:severity sh:Violation ; + sh:message " (PipEndpointShape): An ids:pipInterfaceDescription property must point from an ids:PipEndpoint to a unit via a URI."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:pipAccessURI ; + sh:nodeKind sh:IRI ; + sh:minCount 0 ; + sh:severity sh:Violation ; + sh:message " (PipEndpointShape): An ids:pipAccessURI property must point from an ids:PipEndpoint to an xsd:anyURI."@en ; + ] ; + . From 6906dfe52631a416d838affe03a78cd52a92db66 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Fri, 28 May 2021 10:21:02 +0200 Subject: [PATCH 019/288] Added instances for Action and LeftOperand according to T41 extension. --- codes/Action.ttl | 41 +++++++++++++++++++++++++++++++++++++++++ codes/LeftOperand.ttl | 15 +++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/codes/Action.ttl b/codes/Action.ttl index b5376926..db068864 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -38,6 +38,12 @@ idsc:AGGREGATE_BY_PROVIDER skos:note "This action is always evaluated at the provider side."@en ; . +idsc:ADD + a ids:Action ; + rdfs:comment "This action modifies a number by adding a given value to it."@en ; + rdfs:label "add"@en ; + skos:note "This action modifies a number by adding a given value to it. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; +. idsc:COMPENSATE a ids:Action; @@ -48,6 +54,13 @@ idsc:COMPENSATE skos:note "This action must be evaluated both at the consumer and provider side. A compensation might be required before access is granted (provider-side), or each time the usage action is performed (consumer-side)."@en ; . +idsc:DIVIDE + a ids:Action ; + rdfs:comment "This action modifies a number by dividing it to a given value."@en ; + rdfs:label "divide"@en ; + skos:note "This action modifies a number by dividing it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:operand, respectively."@en ; +. + idsc:DELETE a ids:Action; rdfs:label "delete"@en ; @@ -73,6 +86,13 @@ idsc:GRANT_USE odrl:includedIn idsc:USE ; . +idsc:HASH + a ids:Action ; + rdfs:comment "This action modifies a value by replacing it with a hash of the value."@en ; + rdfs:label "hash"@en ; + skos:note "This action modifies a value by replacing it with a hash of the value. The field to be modified and the hash algorithm are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:HASH_ALGORITHM (eg. SHA256), respectively."@en ; + . + idsc:INCREMENT_COUNTER a ids:Action; rdfs:label "increment counter"@en; @@ -102,6 +122,13 @@ idsc:MODIFY skos:note "This action is always evaluated at the consumer side. It corresponds to 'allow changes of the copied resource'."@en ; . +idsc:MULTIPLY + a ids:Action ; + rdfs:comment "This action modifies a number by multiplying it to a given value."@en ; + rdfs:label "multiply"@en ; + skos:note "This action modifies a number by mu;tiplying it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:operand, respectively."@en ; +. + idsc:NEXT_POLICY a ids:Action ; rdfs:comment "To forward the resource under the same policy. Implies a permission to distribute."@en ; @@ -129,6 +156,20 @@ idsc:READ skos:note "This action is always evaluated at the provider side. It corresponds to 'give access to a resource'."@en ; . +idsc:REPLACE + a ids:Action ; + rdfs:comment "To replace some value."@en ; + rdfs:label "replace"@en ; + skos:note "This action modifies a value by replacing it with a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:REPLACE_WITH, respectively."@en ; +. + +idsc:SHUFFLE + a ids:Action ; + rdfs:comment "This action modifies a value by replacing it with an anagram of the value."@en ; + rdfs:label "shuffle"@en ; + skos:note "This action modifies a value by replacing it with an anagram of the value. The field to be modified is specified in the policy as idsc:SUBSET_SPECIFICATION."@en ; +. + idsc:TRACK_PROVENANCE a ids:Action ; #odrl:implies ids:acceptTracking; diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index ec6b1e5d..3ef882cb 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -59,6 +59,10 @@ idsc:EVENT a ids:LeftOperand; rdfs:comment "The feature dimension regarding whether current events are happening. Does NOT refer 'events' as in real-time data, sensor observations, or Complex Event Processing but rather as 'World Cup 2018' or 'Hannover Trade Fair'."@en ; . +idsc:HASH_ALGORITHM a ids:LeftOperand; + rdfs:label "hash algorithm"@en; + rdfs:comment "Indicate the hash value to be used, eg.SHA256."@en; +. # idsc:STATE a ids:LeftOperand; @@ -66,6 +70,17 @@ idsc:STATE a ids:LeftOperand; rdfs:comment "Specifies whether an (external) resource is true/false, active/inactive, has happened/not happened, etc. Operator must be idsc:EQUALS with RightOperands of datatype xsd:anyURI. The referenced URI should point to a (remote) resource which returns a xsd:boolean value."@en ; . +# +idsc:SUBSET_SPECIFICATION a ids:LeftOperand; + rdfs:label "subset specification"@en ; + rdfs:comment "Specifies which modification method is applied for data. Operator must be idsc:EQUALS with RightOperands of a jsonPath,xmlPath or rdfPath."@en ; +. + +# +idsc:REPLACE_WITH a ids:LeftOperand; + rdfs:label "repace with"@en ; + rdfs:comment "Specifies a value is replaced by a given value. Operator must be idsc:EQUALS with RightOperands of a value."@en ; +. # space # ----- From 50cb8aa826a0a2c3b518a11749a2064c008e459f Mon Sep 17 00:00:00 2001 From: changqin26 Date: Fri, 28 May 2021 14:01:28 +0200 Subject: [PATCH 020/288] Added OPERAND as instance of LeftOperand. --- codes/Action.ttl | 4 ++-- codes/LeftOperand.ttl | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index db068864..d0f6ee4a 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -58,7 +58,7 @@ idsc:DIVIDE a ids:Action ; rdfs:comment "This action modifies a number by dividing it to a given value."@en ; rdfs:label "divide"@en ; - skos:note "This action modifies a number by dividing it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:operand, respectively."@en ; + skos:note "This action modifies a number by dividing it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; . idsc:DELETE @@ -126,7 +126,7 @@ idsc:MULTIPLY a ids:Action ; rdfs:comment "This action modifies a number by multiplying it to a given value."@en ; rdfs:label "multiply"@en ; - skos:note "This action modifies a number by mu;tiplying it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:operand, respectively."@en ; + skos:note "This action modifies a number by mu;tiplying it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; . idsc:NEXT_POLICY diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 3ef882cb..0765aee3 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -90,6 +90,10 @@ idsc:ABSOLUTE_SPATIAL_POSITION a ids:LeftOperand ; rdfs:comment "The current geospatial position of the *consuming connector*. In case the connector only appears as a virtual entity, the physical location of the hosting server is referenced. Allowed operators are idsc:in. No other spatial operators (close to, north of, etc.) are currently allowed."@en ; . +idsc:OPERAND a ids:LeftOperand ; + rdfs:label "operand"@en ; + rdfs:comment "To indicate the value to be operanded for Action idsc:ADD,idsc:MULTIPLY and idsc:DIVIDE"@en ; +. # role-based # ---------- From bdff6939d1d9fde1efc9d89709569413cba707b4 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Fri, 28 May 2021 14:12:11 +0200 Subject: [PATCH 021/288] Added pxpEndpoint property and its shapes. --- model/contract/Action.ttl | 21 ++++++++++++++++++++- testing/contract/ActionShape.ttl | 30 ++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index 0f4faff4..4720d610 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -15,6 +15,11 @@ ids:Action rdfs:subClassOf odrl:Action; rdfs:comment "A thing one might be permitted to do or prohibited from doing to something."@en; . +ids:PxpEndpoint + a owl:Class; + rdfs:label "pxp endpoint"@en; + rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; +. # Properties # ---------- @@ -40,6 +45,20 @@ ids:pxpEndpoint a owl:ObjectProperty; rdfs:label "has PXP endpoint"@en; rdfs:domain ids:Action; - rdfs:range xsd:anyURI ; + rdfs:range ids:PxpEndpoint ; rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en . + +ids:pxpInterfaceDescription a owl:ObjectProperty; + rdfs:label "pxp interface description"@en; + rdfs:domain ids:PxpEndpoint; + rdfs:range xsd:anyURI; + rdfs:comment "The reference to a URI that prodived the interface description of a PXP."@en; +. + +ids:pxpAccessURI a owl:ObjectProperty; + rdfs:label "pxp access URI"@en; + rdfs:domain ids:PxpEndpoint; + rdfs:range xsd:anyURI; + rdfs:comment "The reference to a URI that expresses an exact endpoint of that PXP."@en; +. diff --git a/testing/contract/ActionShape.ttl b/testing/contract/ActionShape.ttl index 0f33ff41..c8005d5f 100644 --- a/testing/contract/ActionShape.ttl +++ b/testing/contract/ActionShape.ttl @@ -32,4 +32,34 @@ shapes:ActionShape sh:message " (ActionShape): An ids:includedIn property must not have more than one point from an ids:Action to an ids:Action."@en ; ] ; + sh:property [ + a sh:PropertyShape ; + sh:path ids:pxpEndpoint ; + sh:class ids:Action ; + sh:severity sh:Violation ; + sh:message " (ActionShape): An ids:pxpEndpoint property must have an ids:Action to an ids:PxpEndpoint."@en ; + ] ; . + +shapes:pxpEndpointShape + a sh:NodeShape ; + sh:targetClass ids:PxpEndpoint ; + sh:property [ + a sh:PropertyShape ; + sh:path ids:pxpInterfaceDescription ; + sh:nodeKind sh:IRI ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:severity sh:Violation ; + sh:message " (PxpEndpointShape): An ids:pxpInterfaceDescription property must point from an ids:PxpEndpoint to a unit via a URI."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:pxpAccessURI ; + sh:nodeKind sh:IRI ; + sh:minCount 0 ; + sh:severity sh:Violation ; + sh:message " (PxpEndpointShape): An ids:pxpAccessURI property must point from an ids:PxpEndpoint to an xsd:anyURI."@en ; + ] ; + . From 9ed106f9a600a8565772af52ee506b2d0bba743c Mon Sep 17 00:00:00 2001 From: changqin26 Date: Fri, 28 May 2021 14:19:54 +0200 Subject: [PATCH 022/288] Added a . --- codes/Action.ttl | 1 + 1 file changed, 1 insertion(+) diff --git a/codes/Action.ttl b/codes/Action.ttl index d0f6ee4a..aad0343c 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -96,6 +96,7 @@ idsc:HASH idsc:INCREMENT_COUNTER a ids:Action; rdfs:label "increment counter"@en; +. idsc:ENCRYPT a ids:Action ; From d9b8aa80f0e3714a4803be8f0b7069a1f7b983d9 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 10 Jun 2021 14:16:54 +0200 Subject: [PATCH 023/288] Corrected wrong comments of GRANT_USE. --- codes/Action.ttl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index aad0343c..0ae1cdfd 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -82,8 +82,10 @@ idsc:DISTRIBUTE idsc:GRANT_USE a ids:Action; rdfs:label "grant use"@en; - rdfs:comment "An action to be used in the count usage policy where the idsc:COUNT left operand is used."@en ; + rdfs:comment "To grant use of a resource to another party. Does *not* imply any other usage rights."@en ; + skos:broader ; odrl:includedIn idsc:USE ; + skos:note "This action is always evaluated at the consumer side, at the moment a third party intends to access the resource as received by the original consumer."@en ; . idsc:HASH @@ -96,7 +98,8 @@ idsc:HASH idsc:INCREMENT_COUNTER a ids:Action; rdfs:label "increment counter"@en; -. + rdfs:comment "An action to be used in the count usage policy where the idsc:COUNT left operand is used."@en ; + . idsc:ENCRYPT a ids:Action ; From 51897249a7e4b0682e12fbcaf5274a329c24ee96 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 10 Jun 2021 14:51:13 +0200 Subject: [PATCH 024/288] Updated this according to the requirements from Arghavan. --- codes/LeftOperand.ttl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 0765aee3..22bf3a52 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -49,7 +49,7 @@ idsc:DELAY a ids:LeftOperand ; idsc:DATE_TIME a ids:LeftOperand ; rdfs:label "date time"@en ; - rdfs:comment "To be used instead of idsc:POLICY_EVALUATION_TIME."@en ; + rdfs:comment "The date and time of exercising the action of the Rule. Right operand value must be an xsd:dateTimeStamp."@en ; . # @@ -79,7 +79,7 @@ idsc:SUBSET_SPECIFICATION a ids:LeftOperand; # idsc:REPLACE_WITH a ids:LeftOperand; rdfs:label "repace with"@en ; - rdfs:comment "Specifies a value is replaced by a given value. Operator must be idsc:EQUALS with RightOperands of a value."@en ; + rdfs:comment "Specifies a new value for a specific field. The action must be idsc:REPLACE and the operator must be idsc:EQUALS."@en ; . # space @@ -92,7 +92,7 @@ idsc:ABSOLUTE_SPATIAL_POSITION a ids:LeftOperand ; idsc:OPERAND a ids:LeftOperand ; rdfs:label "operand"@en ; - rdfs:comment "To indicate the value to be operanded for Action idsc:ADD,idsc:MULTIPLY and idsc:DIVIDE"@en ; + rdfs:comment "To indicate the second operand value for the Actions idsc:ADD, idsc:MULTIPLY and idsc:DIVIDE."@en ; . # role-based @@ -176,7 +176,7 @@ idsc:ENDPOINT a ids:LeftOperand; idsc:APPLICATION a ids:LeftOperand; rdfs:label "application" ; - rdfs:comment "Certified Data App."@en ; + rdfs:comment "An application is a program or piece of software designed to fulfill a particular purpose. For example, a certified IDS App."@en ; . idsc:CONNECTOR a ids:LeftOperand; From 9571ecad468a6b8a16ba0279be43a7d08d365511 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 17 Jun 2021 11:08:55 +0200 Subject: [PATCH 025/288] Corrected typos. --- codes/Action.ttl | 6 +++--- codes/LeftOperand.ttl | 4 ++-- model/contract/Action.ttl | 2 +- model/contract/Constraint.ttl | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index 0ae1cdfd..6ef79873 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -56,9 +56,9 @@ idsc:COMPENSATE idsc:DIVIDE a ids:Action ; - rdfs:comment "This action modifies a number by dividing it to a given value."@en ; + rdfs:comment "This action modifies dividing something by something else."@en ; rdfs:label "divide"@en ; - skos:note "This action modifies a number by dividing it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; + skos:note "This action modifies dividing something by something else. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; . idsc:DELETE @@ -130,7 +130,7 @@ idsc:MULTIPLY a ids:Action ; rdfs:comment "This action modifies a number by multiplying it to a given value."@en ; rdfs:label "multiply"@en ; - skos:note "This action modifies a number by mu;tiplying it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; + skos:note "This action modifies a number by multiplying it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; . idsc:NEXT_POLICY diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 22bf3a52..03db4aa1 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -73,7 +73,7 @@ idsc:STATE a ids:LeftOperand; # idsc:SUBSET_SPECIFICATION a ids:LeftOperand; rdfs:label "subset specification"@en ; - rdfs:comment "Specifies which modification method is applied for data. Operator must be idsc:EQUALS with RightOperands of a jsonPath,xmlPath or rdfPath."@en ; + rdfs:comment "Specifies which modification method is applied for data. Operator must be idsc:EQUALS with RightOperands of a jsonPath, xmlPath or rdfPath."@en ; . # @@ -128,7 +128,7 @@ idsc:TARGET_POLICY a ids:LeftOperand; # idsc:ARTIFACT_STATE a ids:LeftOperand; rdfs:label "artifact state"@en ; - rdfs:comment "Suggested values exist in the infomodell: idsc:ANONYMIZED, idsc:PSEUDONYMIZED, idsc:ENCRYPTED, idsc:COMBINED . "@en ; + rdfs:comment "Suggested values exist in the Information Model : idsc:ANONYMIZED, idsc:PSEUDONYMIZED, idsc:ENCRYPTED, idsc:COMBINED. "@en ; . # numeric diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index 4720d610..4b5205a3 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -53,7 +53,7 @@ ids:pxpInterfaceDescription a owl:ObjectProperty; rdfs:label "pxp interface description"@en; rdfs:domain ids:PxpEndpoint; rdfs:range xsd:anyURI; - rdfs:comment "The reference to a URI that prodived the interface description of a PXP."@en; + rdfs:comment "The reference to a URI that provides the interface description of a PXP."@en; . ids:pxpAccessURI a owl:ObjectProperty; diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 4152eedf..dccd65ac 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -85,7 +85,7 @@ ids:pipInterfaceDescription a owl:ObjectProperty; rdfs:label "pip interface description"@en; rdfs:domain ids:PipEndpoint; rdfs:range xsd:anyURI; - rdfs:comment "The reference to a URI that prodived the interface description of a PIP."@en; + rdfs:comment "The reference to a URI that provides the interface description of a PIP."@en; . ids:pipAccessURI a owl:ObjectProperty; From 419cdc3180a4f43f1f10862ddac9b0e1b12e7f53 Mon Sep 17 00:00:00 2001 From: "H. Okada" Date: Tue, 22 Jun 2021 15:32:37 +0900 Subject: [PATCH 026/288] Update Action.ttl A typo in the line 81. --- codes/Action.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index e23ab629..d872c072 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -78,7 +78,7 @@ idsc:GRANT_USE idsc:ENCRYPT a ids:Action ; rdfs:comment "The data artifact or parts of it are encrypted and can not be read by neither the ids:DataConsumer nor any other third party. The encryption algorithm might be specified by a constraint."@en ; - rdfs:label "ecrypt"@en ; + rdfs:label "encrypt"@en ; odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the provider side."@en ; . From 7c7e481c3cdb8e755bbaaeaea88d69339fa8c359 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 24 Jun 2021 10:48:08 +0200 Subject: [PATCH 027/288] Replace SUBSET_SPECIFICATION with JSON_PATH and XPATH. --- codes/LeftOperand.ttl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 03db4aa1..535faf33 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -71,9 +71,14 @@ idsc:STATE a ids:LeftOperand; . # -idsc:SUBSET_SPECIFICATION a ids:LeftOperand; - rdfs:label "subset specification"@en ; - rdfs:comment "Specifies which modification method is applied for data. Operator must be idsc:EQUALS with RightOperands of a jsonPath, xmlPath or rdfPath."@en ; +idsc:JSON_PATH a ids:LeftOperand; + rdfs:label "json path"@en ; + rdfs:comment "An expression that refers to a part of a JSON structured data."@en ; +. + +idsc: XPATH a ids:LeftOperand; +rdfs:label "xpath"@en ; +rdfs:comment "An expression that refers to specific elements of an XML document."@en ; . # From be409754cc9bc147a296ada6c13f3aa84dcc5d45 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 24 Jun 2021 11:08:10 +0200 Subject: [PATCH 028/288] Remove pip/pxpEndpoint to UsageControlEndpoint.ttl. --- model/contract/Action.ttl | 28 +------------ model/contract/Constraint.ttl | 25 ----------- model/contract/UsageControlEnpoint.ttl | 58 ++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 52 deletions(-) create mode 100644 model/contract/UsageControlEnpoint.ttl diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index 4b5205a3..6675384b 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -15,11 +15,7 @@ ids:Action rdfs:subClassOf odrl:Action; rdfs:comment "A thing one might be permitted to do or prohibited from doing to something."@en; . -ids:PxpEndpoint - a owl:Class; - rdfs:label "pxp endpoint"@en; - rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; -. + # Properties # ---------- @@ -40,25 +36,3 @@ ids:includedIn rdfs:range ids:Action; rdfs:comment "The subject transitively asserts the object Action."@en ; . - -ids:pxpEndpoint - a owl:ObjectProperty; - rdfs:label "has PXP endpoint"@en; - rdfs:domain ids:Action; - rdfs:range ids:PxpEndpoint ; - rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en -. - -ids:pxpInterfaceDescription a owl:ObjectProperty; - rdfs:label "pxp interface description"@en; - rdfs:domain ids:PxpEndpoint; - rdfs:range xsd:anyURI; - rdfs:comment "The reference to a URI that provides the interface description of a PXP."@en; -. - -ids:pxpAccessURI a owl:ObjectProperty; - rdfs:label "pxp access URI"@en; - rdfs:domain ids:PxpEndpoint; - rdfs:range xsd:anyURI; - rdfs:comment "The reference to a URI that expresses an exact endpoint of that PXP."@en; -. diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index dccd65ac..290a27f2 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -29,11 +29,6 @@ ids:LogicalConstraint rdfs:subClassOf ids:AbstractConstraint ; 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; . -ids:PipEndpoint - a owl:class; - rdfs:label "pip endpoint"@en; - rdfs:comment "Refers to an endpoint which provides a specific piece of information (URI/reference to an associated PIP interface). "@en; -. # Properties # ---------- @@ -74,26 +69,6 @@ ids:unit rdfs:subPropertyOf odrl:unit; rdfs:range xsd:anyURI ; rdfs:comment "The unit of measurement of a Constraint."@en. -ids:pipEndpoint a owl:ObjectProperty; - rdfs:label "has PIP endpoint"@en; - rdfs:domain ids:Constraint; - rdfs:range ids:PipEndpoint ; - rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en -. - -ids:pipInterfaceDescription a owl:ObjectProperty; - rdfs:label "pip interface description"@en; - rdfs:domain ids:PipEndpoint; - rdfs:range xsd:anyURI; - rdfs:comment "The reference to a URI that provides the interface description of a PIP."@en; -. - -ids:pipAccessURI a owl:ObjectProperty; - rdfs:label "pip access URI"@en; - rdfs:domain ids:PipEndpoint; - rdfs:range xsd:anyURI; - rdfs:comment "The reference to a URI that expresses an exact endpoint of that PIP."@en; -. ids:and rdfs:subPropertyOf odrl:and; a owl:ObjectProperty; diff --git a/model/contract/UsageControlEnpoint.ttl b/model/contract/UsageControlEnpoint.ttl new file mode 100644 index 00000000..e2a7ef9c --- /dev/null +++ b/model/contract/UsageControlEnpoint.ttl @@ -0,0 +1,58 @@ +@prefix owl: . +@prefix rdfs: . +@prefix ids: . + +# Classes +# ------- + +ids:UsageControlEndpoint + a owl:Class; + rdfs:label "Usage policy class"@en ; + rdfs:comment "Defined usage control endpoint in the IDS."@en; + . + +ids:PxpEndpoint + a owl:Class; + rdfs:subClassOf ids:UsageControlEndpoint; + rdfs:label "pxp endpoint"@en; + rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; +. + +ids:PipEndpoint + a owl:class; + rdfs:subClassOf ids:UsageControlEndpoint; + rdfs:label "pip endpoint"@en; + rdfs:comment "Refers to an endpoint which provides a specific piece of information (URI/reference to an associated PIP interface). "@en; +. + +# Properties +# ---------- + +ids:pxpEndpoint + a owl:ObjectProperty; + rdfs:label "has PXP endpoint"@en; + rdfs:domain ids:Action; + rdfs:range ids:PxpEndpoint ; + rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en +. + +ids:pipEndpoint a owl:ObjectProperty; + rdfs:label "has PIP endpoint"@en; + rdfs:domain ids:Constraint; + rdfs:range ids:PipEndpoint ; + rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en +. + +ids:InterfaceDescription a owl:ObjectProperty; + rdfs:label "pxp interface description"@en; + rdfs:domain ids:UsageControlEndpoint; + rdfs:range xsd:anyURI; + rdfs:comment "The reference to a URI that provides the interface description of a usage control endpoint."@en; +. + +ids:AccessURI a owl:ObjectProperty; + rdfs:label "pxp access URI"@en; + rdfs:domain ids:UsageControlEndpoint; + rdfs:range xsd:anyURI; + rdfs:comment "The reference to a URI that expresses an exact endpoint of that usage control endpoint."@en; +. From 7802cdc1b1b1ae4fe2aafef6f137aa9faa2d8e5a Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 24 Jun 2021 11:12:08 +0200 Subject: [PATCH 029/288] Corrrected typos. --- model/contract/UsageControlEnpoint.ttl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/model/contract/UsageControlEnpoint.ttl b/model/contract/UsageControlEnpoint.ttl index e2a7ef9c..51e18773 100644 --- a/model/contract/UsageControlEnpoint.ttl +++ b/model/contract/UsageControlEnpoint.ttl @@ -33,14 +33,14 @@ ids:pxpEndpoint rdfs:label "has PXP endpoint"@en; rdfs:domain ids:Action; rdfs:range ids:PxpEndpoint ; - rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en + rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; . ids:pipEndpoint a owl:ObjectProperty; rdfs:label "has PIP endpoint"@en; rdfs:domain ids:Constraint; rdfs:range ids:PipEndpoint ; - rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en + rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en; . ids:InterfaceDescription a owl:ObjectProperty; From fd4858c78d7d89a288b641e13c767630066ca74a Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 24 Jun 2021 11:17:24 +0200 Subject: [PATCH 030/288] Corrected indentation . --- codes/LeftOperand.ttl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 535faf33..50b297fc 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -77,8 +77,8 @@ idsc:JSON_PATH a ids:LeftOperand; . idsc: XPATH a ids:LeftOperand; -rdfs:label "xpath"@en ; -rdfs:comment "An expression that refers to specific elements of an XML document."@en ; + rdfs:label "xpath"@en ; + rdfs:comment "An expression that refers to specific elements of an XML document."@en ; . # From 8b415962a1660fd60f7e2b39b23cbe4546d73c73 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 24 Jun 2021 11:28:41 +0200 Subject: [PATCH 031/288] Corrected indentation. --- codes/LeftOperand.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 50b297fc..896997d9 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -76,7 +76,7 @@ idsc:JSON_PATH a ids:LeftOperand; rdfs:comment "An expression that refers to a part of a JSON structured data."@en ; . -idsc: XPATH a ids:LeftOperand; +idsc:XPATH a ids:LeftOperand; rdfs:label "xpath"@en ; rdfs:comment "An expression that refers to specific elements of an XML document."@en ; . From 7cd1a87650dbe9d97a9a4b6af166d711c72143c5 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 24 Jun 2021 11:31:35 +0200 Subject: [PATCH 032/288] Added missing prefix. --- model/contract/UsageControlEnpoint.ttl | 1 + 1 file changed, 1 insertion(+) diff --git a/model/contract/UsageControlEnpoint.ttl b/model/contract/UsageControlEnpoint.ttl index 51e18773..0f826083 100644 --- a/model/contract/UsageControlEnpoint.ttl +++ b/model/contract/UsageControlEnpoint.ttl @@ -1,6 +1,7 @@ @prefix owl: . @prefix rdfs: . @prefix ids: . +@prefix xsd: . # Classes # ------- From 9f4f167dbda1787b00b75d8b85523d66893227a8 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 24 Jun 2021 13:01:21 +0200 Subject: [PATCH 033/288] Changed the idsc:SUBSET_SPECIFICATION to idsc:JSONPATH/idsc:XPATH --- codes/Action.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index 6ef79873..6e9caa0c 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -42,7 +42,7 @@ idsc:ADD a ids:Action ; rdfs:comment "This action modifies a number by adding a given value to it."@en ; rdfs:label "add"@en ; - skos:note "This action modifies a number by adding a given value to it. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; + skos:note "This action modifies a number by adding a given value to it. The field to be modified and the given value are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:OPERAND, respectively."@en ; . idsc:COMPENSATE From f5e1497ae506728b17137e5694a134de8e22cc64 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 24 Jun 2021 14:42:44 +0200 Subject: [PATCH 034/288] Replaced all subset_specification with idsc:JSONPATH/idsc:XPATH --- codes/Action.ttl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index 6e9caa0c..add3dc84 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -58,7 +58,7 @@ idsc:DIVIDE a ids:Action ; rdfs:comment "This action modifies dividing something by something else."@en ; rdfs:label "divide"@en ; - skos:note "This action modifies dividing something by something else. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; + skos:note "This action modifies dividing something by something else. The field to be modified and the given value are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:OPERAND, respectively."@en ; . idsc:DELETE @@ -92,7 +92,7 @@ idsc:HASH a ids:Action ; rdfs:comment "This action modifies a value by replacing it with a hash of the value."@en ; rdfs:label "hash"@en ; - skos:note "This action modifies a value by replacing it with a hash of the value. The field to be modified and the hash algorithm are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:HASH_ALGORITHM (eg. SHA256), respectively."@en ; + skos:note "This action modifies a value by replacing it with a hash of the value. The field to be modified and the hash algorithm are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:HASH_ALGORITHM (eg. SHA256), respectively."@en ; . idsc:INCREMENT_COUNTER @@ -130,7 +130,7 @@ idsc:MULTIPLY a ids:Action ; rdfs:comment "This action modifies a number by multiplying it to a given value."@en ; rdfs:label "multiply"@en ; - skos:note "This action modifies a number by multiplying it to a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:OPERAND, respectively."@en ; + skos:note "This action modifies a number by multiplying it to a given value. The field to be modified and the given value are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:OPERAND, respectively."@en ; . idsc:NEXT_POLICY @@ -164,14 +164,14 @@ idsc:REPLACE a ids:Action ; rdfs:comment "To replace some value."@en ; rdfs:label "replace"@en ; - skos:note "This action modifies a value by replacing it with a given value. The field to be modified and the given value are specified in the policy as idsc:SUBSET_SPECIFICATION and idsc:REPLACE_WITH, respectively."@en ; + skos:note "This action modifies a value by replacing it with a given value. The field to be modified and the given value are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:REPLACE_WITH, respectively."@en ; . idsc:SHUFFLE a ids:Action ; rdfs:comment "This action modifies a value by replacing it with an anagram of the value."@en ; rdfs:label "shuffle"@en ; - skos:note "This action modifies a value by replacing it with an anagram of the value. The field to be modified is specified in the policy as idsc:SUBSET_SPECIFICATION."@en ; + skos:note "This action modifies a value by replacing it with an anagram of the value. The field to be modified is specified in the policy as idsc:JSONPATH/idsc:XPATH."@en ; . idsc:TRACK_PROVENANCE From c5d3ccf6e993bcf3f1181d1a725a65bc7d06da64 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Fri, 25 Jun 2021 12:42:58 +0200 Subject: [PATCH 035/288] Adjusted UsageControlComponenEndpoint related properties and classes. --- model/contract/Action.ttl | 8 +++++ model/contract/Constraint.ttl | 7 ++++ ...t.ttl => UsageControlComponentEnpoint.ttl} | 33 +++++------------ testing/contract/ActionShape.ttl | 35 ++++--------------- testing/contract/ConstraintShape.ttl | 24 +------------ .../UsageControlComponentEndpointShape.ttl | 34 ++++++++++++++++++ 6 files changed, 65 insertions(+), 76 deletions(-) rename model/contract/{UsageControlEnpoint.ttl => UsageControlComponentEnpoint.ttl} (51%) create mode 100644 testing/contract/UsageControlComponentEndpointShape.ttl diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index 6675384b..48d04bca 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -36,3 +36,11 @@ ids:includedIn rdfs:range ids:Action; rdfs:comment "The subject transitively asserts the object Action."@en ; . + +ids:pxpEndpoint + a owl:ObjectProperty; + rdfs:label "has PXP endpoint"@en; + rdfs:domain ids:Action; + rdfs:range ids:PxpEndpoint ; + rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; +. diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 290a27f2..ea713fa8 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -96,3 +96,10 @@ ids:xone rdfs:subPropertyOf odrl:xone; rdfs:range ids: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 ids:and, ids:or, or ids:xone can be used for a specific ids:LogicalConstraint!"@en ; . + +ids:pipEndpoint a owl:ObjectProperty; + rdfs:label "has PIP endpoint"@en; + rdfs:domain ids:Constraint; + rdfs:range ids:PipEndpoint ; + rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en; +. diff --git a/model/contract/UsageControlEnpoint.ttl b/model/contract/UsageControlComponentEnpoint.ttl similarity index 51% rename from model/contract/UsageControlEnpoint.ttl rename to model/contract/UsageControlComponentEnpoint.ttl index 0f826083..1f282300 100644 --- a/model/contract/UsageControlEnpoint.ttl +++ b/model/contract/UsageControlComponentEnpoint.ttl @@ -6,22 +6,22 @@ # Classes # ------- -ids:UsageControlEndpoint +ids:UsageControlComponentEndpoint a owl:Class; - rdfs:label "Usage policy class"@en ; - rdfs:comment "Defined usage control endpoint in the IDS."@en; + rdfs:label "Usage Control Component Endpoint class"@en ; + rdfs:comment "Defined usage control component endpoints (i.e. PIP, PXP, etc.) in the IDS."@en; . ids:PxpEndpoint a owl:Class; - rdfs:subClassOf ids:UsageControlEndpoint; + rdfs:subClassOf ids:UsageControlComponentEndpoint; rdfs:label "pxp endpoint"@en; rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; . ids:PipEndpoint a owl:class; - rdfs:subClassOf ids:UsageControlEndpoint; + rdfs:subClassOf ids:UsageControlComponentEndpoint; rdfs:label "pip endpoint"@en; rdfs:comment "Refers to an endpoint which provides a specific piece of information (URI/reference to an associated PIP interface). "@en; . @@ -29,31 +29,16 @@ ids:PipEndpoint # Properties # ---------- -ids:pxpEndpoint - a owl:ObjectProperty; - rdfs:label "has PXP endpoint"@en; - rdfs:domain ids:Action; - rdfs:range ids:PxpEndpoint ; - rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; -. - -ids:pipEndpoint a owl:ObjectProperty; - rdfs:label "has PIP endpoint"@en; - rdfs:domain ids:Constraint; - rdfs:range ids:PipEndpoint ; - rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en; -. - -ids:InterfaceDescription a owl:ObjectProperty; +ids:interfaceDescription a owl:ObjectProperty; rdfs:label "pxp interface description"@en; - rdfs:domain ids:UsageControlEndpoint; + rdfs:domain ids:UsageControlComponentEndpoint; rdfs:range xsd:anyURI; rdfs:comment "The reference to a URI that provides the interface description of a usage control endpoint."@en; . -ids:AccessURI a owl:ObjectProperty; +ids:accessURI a owl:ObjectProperty; rdfs:label "pxp access URI"@en; - rdfs:domain ids:UsageControlEndpoint; + rdfs:domain ids:UsageControlComponentEndpoint; 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/testing/contract/ActionShape.ttl b/testing/contract/ActionShape.ttl index c8005d5f..5a7409a6 100644 --- a/testing/contract/ActionShape.ttl +++ b/testing/contract/ActionShape.ttl @@ -33,33 +33,10 @@ shapes:ActionShape ] ; sh:property [ - a sh:PropertyShape ; - sh:path ids:pxpEndpoint ; - sh:class ids:Action ; - sh:severity sh:Violation ; - sh:message " (ActionShape): An ids:pxpEndpoint property must have an ids:Action to an ids:PxpEndpoint."@en ; - ] ; + a sh:PropertyShape ; + sh:path ids:pxpEndpoint ; + sh:class ids:Action ; + sh:severity sh:Violation ; + sh:message " (ActionShape): An ids:pxpEndpoint property must have an ids:Action to an ids:PxpEndpoint."@en ; + ] ; . - -shapes:pxpEndpointShape - a sh:NodeShape ; - sh:targetClass ids:PxpEndpoint ; - sh:property [ - a sh:PropertyShape ; - sh:path ids:pxpInterfaceDescription ; - sh:nodeKind sh:IRI ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:severity sh:Violation ; - sh:message " (PxpEndpointShape): An ids:pxpInterfaceDescription property must point from an ids:PxpEndpoint to a unit via a URI."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:pxpAccessURI ; - sh:nodeKind sh:IRI ; - sh:minCount 0 ; - sh:severity sh:Violation ; - sh:message " (PxpEndpointShape): An ids:pxpAccessURI property must point from an ids:PxpEndpoint to an xsd:anyURI."@en ; - ] ; - . diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index cf89c5a5..37ffdd23 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -107,6 +107,7 @@ shapes:ConstraintShape sh:severity sh:Violation ; sh:message " (ConstraintShape): An ids:pipEndpoint property must point from an ids:Constraint to an xsd:anyURI."@en ; ] ; + . @@ -138,26 +139,3 @@ shapes:LogicalConstraintShape ) ; sh:message " (LogicalConstraintShape): Exactly one ids:and, ids:or, or ids:xone property must point from an ids:LogicalConstraint to ids:Constraints."@en ; . - -shapes:PipEndpointShape - a sh:NodeShape ; - sh:targetClass ids:PipEndpoint ; - sh:property [ - a sh:PropertyShape ; - sh:path ids:pipInterfaceDescription ; - sh:nodeKind sh:IRI ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:severity sh:Violation ; - sh:message " (PipEndpointShape): An ids:pipInterfaceDescription property must point from an ids:PipEndpoint to a unit via a URI."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:pipAccessURI ; - sh:nodeKind sh:IRI ; - sh:minCount 0 ; - sh:severity sh:Violation ; - sh:message " (PipEndpointShape): An ids:pipAccessURI property must point from an ids:PipEndpoint to an xsd:anyURI."@en ; - ] ; - . diff --git a/testing/contract/UsageControlComponentEndpointShape.ttl b/testing/contract/UsageControlComponentEndpointShape.ttl new file mode 100644 index 00000000..8a2eec8f --- /dev/null +++ b/testing/contract/UsageControlComponentEndpointShape.ttl @@ -0,0 +1,34 @@ +@prefix owl: . +@prefix rdfs: . +@prefix dct: . +@prefix xsd: . +@prefix odrl: . +@prefix ids: . + +@prefix sh: . +@prefix shapes: . + + + +shapes:UsageControlComponentEndpointShape + a sh:NodeShape ; + sh:targetClass ids:UsageControlComponentEndpoint ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:interfaceDescription ; + sh:class xsd:anyURI; + sh:severity sh:Violation ; + sh:message " (UsageControlComponentEndpointShape): An ids:interfaceDescription property must have at least one point from an ids:UsageControlComponentEndpoint to an xsd:URI."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:accessURI ; + sh:class xsd:anyURI ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (UsageControlComponentEndpointShape): An ids:accessURI property must not have more than one point from an ids:UsageControlComponentEndpoint to an xsd:URIn."@en ; + ] ; + +. From 25caf992bc00b2df2268045c4e74b7d02ac16a94 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Mon, 28 Jun 2021 15:43:22 +0200 Subject: [PATCH 036/288] interfaceDes to endpointDes; corrected Typos;update Card. --- model/contract/UsageControlComponentEnpoint.ttl | 4 ++-- testing/contract/ActionShape.ttl | 4 +++- testing/contract/ConstraintShape.ttl | 17 +++++++++-------- .../UsageControlComponentEndpointShape.ttl | 15 +++++++++------ 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/model/contract/UsageControlComponentEnpoint.ttl b/model/contract/UsageControlComponentEnpoint.ttl index 1f282300..a6302245 100644 --- a/model/contract/UsageControlComponentEnpoint.ttl +++ b/model/contract/UsageControlComponentEnpoint.ttl @@ -29,11 +29,11 @@ ids:PipEndpoint # Properties # ---------- -ids:interfaceDescription a owl:ObjectProperty; +ids:endpointDescription a owl:ObjectProperty; rdfs:label "pxp interface description"@en; rdfs:domain ids:UsageControlComponentEndpoint; rdfs:range xsd:anyURI; - rdfs:comment "The reference to a URI that provides the interface description of a usage control endpoint."@en; + rdfs:comment "The reference to a URI that provides the endpoint interface description of a usage control endpoint."@en; . ids:accessURI a owl:ObjectProperty; diff --git a/testing/contract/ActionShape.ttl b/testing/contract/ActionShape.ttl index 5a7409a6..0759e865 100644 --- a/testing/contract/ActionShape.ttl +++ b/testing/contract/ActionShape.ttl @@ -35,7 +35,9 @@ shapes:ActionShape sh:property [ a sh:PropertyShape ; sh:path ids:pxpEndpoint ; - sh:class ids:Action ; + sh:class ids:PxpEndpoint ; + sh:minCount 0 ; + sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (ActionShape): An ids:pxpEndpoint property must have an ids:Action to an ids:PxpEndpoint."@en ; ] ; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 37ffdd23..098a4fca 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -53,7 +53,7 @@ shapes:ConstraintShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:Constraint must have exactly one ids:LeftOperand linked through the ids:leftOperand property"@en ; + sh:message " (ConstraintShape): An ids:Constraint must have exactly one ids:LeftOperand linked through the ids:leftOperand property"@en ; ] ; sh:property [ @@ -63,7 +63,7 @@ shapes:ConstraintShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:Constraint must have exactly one ids:BinaryOperator linked through the ids:operator property"@en ; + sh:message " (ConstraintShape): An ids:Constraint must have exactly one ids:BinaryOperator linked through the ids:operator property"@en ; ] ; sh:xone ( @@ -74,7 +74,7 @@ shapes:ConstraintShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): Exactly one ids:rightOperand property must point from an ids::Constraint to Literals or rdfs:Resources. Note that ids:rightOperand and ids:rightOperandReference cannot be used in the same statement."@en ; + sh:message " (ConstraintShape): Exactly one ids:rightOperand property must point from an ids::Constraint to Literals or rdfs:Resources. Note that ids:rightOperand and ids:rightOperandReference cannot be used in the same statement."@en ; ] ] [ @@ -85,7 +85,7 @@ shapes:ConstraintShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): Exactly one ids:rightOperandReference property must point from an ids::Constraint to an IRI. Note that ids:rightOperand and ids:rightOperandReference cannot be used in the same statement."@en ; + sh:message " (ConstraintShape): Exactly one ids:rightOperandReference property must point from an ids::Constraint to an IRI. Note that ids:rightOperand and ids:rightOperandReference cannot be used in the same statement."@en ; ] ] ) ; @@ -96,16 +96,17 @@ shapes:ConstraintShape sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:unit property must point from an ids:Constraint to a unit via a URI."@en ; + sh:message " (ConstraintShape): An ids:unit property must point from an ids:Constraint to a unit via a URI."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path ids:pipEndpoint ; - sh:nodeKind sh:IRI ; + sh:class ids:PipEndpoint ; + sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:pipEndpoint property must point from an ids:Constraint to an xsd:anyURI."@en ; + sh:message " (ConstraintShape): An ids:pipEndpoint property must have exactly one point from an ids:Constraint to an ids:PipEndpoint."@en ; ] ; . @@ -137,5 +138,5 @@ shapes:LogicalConstraintShape sh:severity sh:Violation ; ] ) ; - sh:message " (LogicalConstraintShape): Exactly one ids:and, ids:or, or ids:xone property must point from an ids:LogicalConstraint to ids:Constraints."@en ; + sh:message " (LogicalConstraintShape): Exactly one ids:and, ids:or, or ids:xone property must point from an ids:LogicalConstraint to ids:Constraints."@en ; . diff --git a/testing/contract/UsageControlComponentEndpointShape.ttl b/testing/contract/UsageControlComponentEndpointShape.ttl index 8a2eec8f..2446b250 100644 --- a/testing/contract/UsageControlComponentEndpointShape.ttl +++ b/testing/contract/UsageControlComponentEndpointShape.ttl @@ -16,19 +16,22 @@ shapes:UsageControlComponentEndpointShape sh:property [ a sh:PropertyShape ; - sh:path ids:interfaceDescription ; - sh:class xsd:anyURI; + sh:path ids:endpointDescription ; + sh:nodeKind sh:IRI ; + sh:minCount 1 ; + sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (UsageControlComponentEndpointShape): An ids:interfaceDescription property must have at least one point from an ids:UsageControlComponentEndpoint to an xsd:URI."@en ; + sh:message " (UsageControlComponentEndpointShape): An ids:endpointDescription property must have exactly one point from an ids:UsageControlComponentEndpoint to an xsd:URI."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path ids:accessURI ; - sh:class xsd:anyURI ; + sh:nodeKind sh:IRI ; + sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (UsageControlComponentEndpointShape): An ids:accessURI property must not have more than one point from an ids:UsageControlComponentEndpoint to an xsd:URIn."@en ; + sh:message " (UsageControlComponentEndpointShape): An ids:accessURI property must have exactly one point from an ids:UsageControlComponentEndpoint to an xsd:URI."@en ; ] ; - + . From e268063e441dbc0d0ccb37b2973748cfe9efb46b Mon Sep 17 00:00:00 2001 From: changqin26 Date: Wed, 30 Jun 2021 08:34:11 +0200 Subject: [PATCH 037/288] Corrected typos. --- model/contract/UsageControlComponentEnpoint.ttl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/model/contract/UsageControlComponentEnpoint.ttl b/model/contract/UsageControlComponentEnpoint.ttl index a6302245..0e7c4893 100644 --- a/model/contract/UsageControlComponentEnpoint.ttl +++ b/model/contract/UsageControlComponentEnpoint.ttl @@ -16,28 +16,28 @@ ids:PxpEndpoint a owl:Class; rdfs:subClassOf ids:UsageControlComponentEndpoint; rdfs:label "pxp endpoint"@en; - rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; + rdfs:comment "The reference to the endpoint that operates a specific action, URI or reference to an associated PXP interface."@en; . ids:PipEndpoint a owl:class; rdfs:subClassOf ids:UsageControlComponentEndpoint; rdfs:label "pip endpoint"@en; - rdfs:comment "Refers to an endpoint which provides a specific piece of information (URI/reference to an associated PIP interface). "@en; + rdfs:comment "Refers to an endpoint that provides a specific piece of information (URI/reference to an associated PIP interface). "@en; . # Properties # ---------- ids:endpointDescription a owl:ObjectProperty; - rdfs:label "pxp interface description"@en; + rdfs:label "endpoint description"@en; rdfs:domain ids:UsageControlComponentEndpoint; rdfs:range xsd:anyURI; rdfs:comment "The reference to a URI that provides the endpoint interface description of a usage control endpoint."@en; . ids:accessURI a owl:ObjectProperty; - rdfs:label "pxp access URI"@en; + rdfs:label "access URI"@en; rdfs:domain ids:UsageControlComponentEndpoint; rdfs:range xsd:anyURI; rdfs:comment "The reference to a URI that expresses an exact endpoint of that usage control endpoint."@en; From a8151c5da137151b03138d121003faa88a79015f Mon Sep 17 00:00:00 2001 From: changqin26 Date: Thu, 1 Jul 2021 10:34:22 +0200 Subject: [PATCH 038/288] Updated all PIP/PXP related files. --- model/contract/Action.ttl | 4 +- model/contract/Constraint.ttl | 4 +- model/contract/UsageControlComponent.ttl | 44 +++++++++++++++++++ .../contract/UsageControlComponentEnpoint.ttl | 44 ------------------- testing/contract/ActionShape.ttl | 4 +- testing/contract/ConstraintShape.ttl | 4 +- ...ape.ttl => UsageControlComponentShape.ttl} | 14 +++--- 7 files changed, 59 insertions(+), 59 deletions(-) create mode 100644 model/contract/UsageControlComponent.ttl delete mode 100644 model/contract/UsageControlComponentEnpoint.ttl rename testing/contract/{UsageControlComponentEndpointShape.ttl => UsageControlComponentShape.ttl} (62%) diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index 48d04bca..6c241f8d 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -41,6 +41,6 @@ ids:pxpEndpoint a owl:ObjectProperty; rdfs:label "has PXP endpoint"@en; rdfs:domain ids:Action; - rdfs:range ids:PxpEndpoint ; - rdfs:comment "The reference to the endpoint which operates a specific action, URI or reference to an associated PXP interface."@en; + rdfs:range ids:PXP ; + rdfs:comment "The reference to the PXP which operates a specific action, URI or reference to an associated PXP interface."@en; . diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index ea713fa8..c2f41f24 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -100,6 +100,6 @@ ids:xone rdfs:subPropertyOf odrl:xone; ids:pipEndpoint a owl:ObjectProperty; rdfs:label "has PIP endpoint"@en; rdfs:domain ids:Constraint; - rdfs:range ids:PipEndpoint ; - rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en; + rdfs:range ids:PIP ; + rdfs:comment "The reference to the PIP which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en; . diff --git a/model/contract/UsageControlComponent.ttl b/model/contract/UsageControlComponent.ttl new file mode 100644 index 00000000..bf7e8282 --- /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/contract/UsageControlComponentEnpoint.ttl b/model/contract/UsageControlComponentEnpoint.ttl deleted file mode 100644 index 0e7c4893..00000000 --- a/model/contract/UsageControlComponentEnpoint.ttl +++ /dev/null @@ -1,44 +0,0 @@ -@prefix owl: . -@prefix rdfs: . -@prefix ids: . -@prefix xsd: . - -# Classes -# ------- - -ids:UsageControlComponentEndpoint - a owl:Class; - rdfs:label "Usage Control Component Endpoint class"@en ; - rdfs:comment "Defined usage control component endpoints (i.e. PIP, PXP, etc.) in the IDS."@en; - . - -ids:PxpEndpoint - a owl:Class; - rdfs:subClassOf ids:UsageControlComponentEndpoint; - rdfs:label "pxp endpoint"@en; - rdfs:comment "The reference to the endpoint that operates a specific action, URI or reference to an associated PXP interface."@en; -. - -ids:PipEndpoint - a owl:class; - rdfs:subClassOf ids:UsageControlComponentEndpoint; - rdfs:label "pip endpoint"@en; - rdfs:comment "Refers to an endpoint that provides a specific piece of information (URI/reference to an associated PIP interface). "@en; -. - -# Properties -# ---------- - -ids:endpointDescription a owl:ObjectProperty; - rdfs:label "endpoint description"@en; - rdfs:domain ids:UsageControlComponentEndpoint; - rdfs:range xsd:anyURI; - rdfs:comment "The reference to a URI that provides the endpoint interface description of a usage control endpoint."@en; -. - -ids:accessURI a owl:ObjectProperty; - rdfs:label "access URI"@en; - rdfs:domain ids:UsageControlComponentEndpoint; - 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/testing/contract/ActionShape.ttl b/testing/contract/ActionShape.ttl index 0759e865..9292ee4a 100644 --- a/testing/contract/ActionShape.ttl +++ b/testing/contract/ActionShape.ttl @@ -35,10 +35,10 @@ shapes:ActionShape sh:property [ a sh:PropertyShape ; sh:path ids:pxpEndpoint ; - sh:class ids:PxpEndpoint ; + sh:class ids:PXP ; sh:minCount 0 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ActionShape): An ids:pxpEndpoint property must have an ids:Action to an ids:PxpEndpoint."@en ; + sh:message " (ActionShape): An ids:pxpEndpoint property must have an ids:Action to an ids:PXP."@en ; ] ; . diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 098a4fca..ac0a9c4e 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -102,11 +102,11 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; sh:path ids:pipEndpoint ; - sh:class ids:PipEndpoint ; + sh:class ids:PIP ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:pipEndpoint property must have exactly one point from an ids:Constraint to an ids:PipEndpoint."@en ; + sh:message " (ConstraintShape): An ids:pipEndpoint property must have exactly one point from an ids:Constraint to an ids:PIP."@en ; ] ; . diff --git a/testing/contract/UsageControlComponentEndpointShape.ttl b/testing/contract/UsageControlComponentShape.ttl similarity index 62% rename from testing/contract/UsageControlComponentEndpointShape.ttl rename to testing/contract/UsageControlComponentShape.ttl index 2446b250..81ad39af 100644 --- a/testing/contract/UsageControlComponentEndpointShape.ttl +++ b/testing/contract/UsageControlComponentShape.ttl @@ -10,28 +10,28 @@ -shapes:UsageControlComponentEndpointShape +shapes:UsageControlComponentShape a sh:NodeShape ; - sh:targetClass ids:UsageControlComponentEndpoint ; + sh:targetClass ids:UsageControlComponent ; sh:property [ a sh:PropertyShape ; - sh:path ids:endpointDescription ; + sh:path ids:interfaceDescription ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (UsageControlComponentEndpointShape): An ids:endpointDescription property must have exactly one point from an ids:UsageControlComponentEndpoint to an xsd:URI."@en ; + 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:accessURI ; + sh:path ids:endpointURI ; sh:nodeKind sh:IRI ; - sh:minCount 1 ; + sh:minCount 0 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (UsageControlComponentEndpointShape): An ids:accessURI property must have exactly one point from an ids:UsageControlComponentEndpoint to an xsd:URI."@en ; + sh:message " (UsageControlComponentShape): An ids:endpointURI property must point from an ids:UsageControlComponent to an xsd:URI."@en ; ] ; . From 9a60402cd592220f0f7fac121076fba27553508b Mon Sep 17 00:00:00 2001 From: Christoph Lange Date: Wed, 7 Jul 2021 12:53:59 +0200 Subject: [PATCH 039/288] 2020 Tech Talk --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cdbb386c..92585e5c 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,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 From b78a1c82c8d40a6a777b17463f254acb0700cfe1 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Mon, 12 Jul 2021 16:55:11 +0200 Subject: [PATCH 040/288] Corrected owl:class to owl:Class --- model/contract/UsageControlComponent.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/contract/UsageControlComponent.ttl b/model/contract/UsageControlComponent.ttl index bf7e8282..5d603c10 100644 --- a/model/contract/UsageControlComponent.ttl +++ b/model/contract/UsageControlComponent.ttl @@ -20,7 +20,7 @@ ids:PXP . ids:PIP - a owl:class; + 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; From 735fd8d08fdc04fd802459d5a8e65e932c4cd5b6 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Tue, 20 Jul 2021 12:34:02 +0200 Subject: [PATCH 041/288] Related update of Payment Modalities. --- codes/PaymentModalities.ttl | 27 +++++++++++++++++++++++++++ model/content/PaymentModalities.ttl | 16 ++++++++++++++++ model/content/Resource.ttl | 7 +++++++ testing/content/ResourceShape.ttl | 9 +++++++++ 4 files changed, 59 insertions(+) create mode 100644 codes/PaymentModalities.ttl create mode 100644 model/content/PaymentModalities.ttl diff --git a/codes/PaymentModalities.ttl b/codes/PaymentModalities.ttl new file mode 100644 index 00000000..ac5bcb3a --- /dev/null +++ b/codes/PaymentModalities.ttl @@ -0,0 +1,27 @@ +@prefix owl: . +@prefix rdfs: . +@prefix dct: . +@prefix xsd: . +@prefix ids: . +@prefix idsc: . + +# Instances +# --------- + +idsc:FREE + a ids:PaymentModalities ; + rdfs:comment "To express that the exchange of resource is free"@en ; + rdfs:label "free"@en ; +. + +idsc:FIXED_PRICE + a ids:PaymentModalities ; + 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:PaymentModalities ; + rdfs:comment "To express that the exchange of resource is negotiation-based."@en ; + rdfs:label "free"@en ; +. diff --git a/model/content/PaymentModalities.ttl b/model/content/PaymentModalities.ttl new file mode 100644 index 00000000..1b66fd96 --- /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:PaymentModalities + a owl:Class; + rdfs:label "Payment Modalities"@en ; + rdfs:comment "Various pricing modalities such as "free", "fixed price", "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/Resource.ttl b/model/content/Resource.ttl index 9fa963e4..034e6a09 100644 --- a/model/content/Resource.ttl +++ b/model/content/Resource.ttl @@ -57,6 +57,13 @@ ids:contractOffer rdfs:label "contract offer"@en; rdfs:comment "Reference to a Contract Offer defining the authorized use of the Resource."@en. +ids:paymentModalities + a owl:ObjectProperty; + rdfs:domain ids:Resource; + rdfs:range ids:PaymentModalities; + rdfs:label "payment modalities"@en; + rdfs:comment "Various pricing modalities such as "free", "fixed price", "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. + ids:publisher a owl:ObjectProperty ; rdfs:subPropertyOf dct:publisher ; diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index d5ee8f88..165ac43c 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -47,6 +47,7 @@ shapes:ResourceShape 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 ; @@ -55,6 +56,14 @@ shapes:ResourceShape 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 ids:paymentModalities ; + sh:class ids:PaymentModalities ; + sh:severity sh:Violation ; + sh:message " (ResourceShape): An ids:Resource must have at least one ids:PaymentModalities linked through the ids:paymentModalities property"@en ; + ] ; + sh:property [ a sh:PropertyShape ; sh:path ids:publisher ; From f4be30ef0c2df409dcf9f1d66dd252fe691166a8 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Tue, 20 Jul 2021 12:45:50 +0200 Subject: [PATCH 042/288] Updated the name of instances in the comment. --- model/content/PaymentModalities.ttl | 2 +- model/content/Resource.ttl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/model/content/PaymentModalities.ttl b/model/content/PaymentModalities.ttl index 1b66fd96..6d93aae2 100644 --- a/model/content/PaymentModalities.ttl +++ b/model/content/PaymentModalities.ttl @@ -12,5 +12,5 @@ ids:PaymentModalities a owl:Class; rdfs:label "Payment Modalities"@en ; - rdfs:comment "Various pricing modalities such as "free", "fixed price", "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; + 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/Resource.ttl b/model/content/Resource.ttl index 034e6a09..4c988cc1 100644 --- a/model/content/Resource.ttl +++ b/model/content/Resource.ttl @@ -62,7 +62,7 @@ ids:paymentModalities rdfs:domain ids:Resource; rdfs:range ids:PaymentModalities; rdfs:label "payment modalities"@en; - rdfs:comment "Various pricing modalities such as "free", "fixed price", "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. + 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. ids:publisher a owl:ObjectProperty ; From 05bc4cd04eb1a35efe032e59fff08f5eba52b3bd Mon Sep 17 00:00:00 2001 From: changqin26 Date: Tue, 20 Jul 2021 13:11:02 +0200 Subject: [PATCH 043/288] Renamed from plural to singular form. --- codes/{PaymentModalities.ttl => PaymentModality.ttl} | 8 ++++---- model/content/PaymentModalities.ttl | 4 ++-- model/content/Resource.ttl | 6 +++--- testing/content/ResourceShape.ttl | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) rename codes/{PaymentModalities.ttl => PaymentModality.ttl} (84%) diff --git a/codes/PaymentModalities.ttl b/codes/PaymentModality.ttl similarity index 84% rename from codes/PaymentModalities.ttl rename to codes/PaymentModality.ttl index ac5bcb3a..ec363564 100644 --- a/codes/PaymentModalities.ttl +++ b/codes/PaymentModality.ttl @@ -9,19 +9,19 @@ # --------- idsc:FREE - a ids:PaymentModalities ; + a ids:PaymentModality ; rdfs:comment "To express that the exchange of resource is free"@en ; rdfs:label "free"@en ; . idsc:FIXED_PRICE - a ids:PaymentModalities ; + 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:PaymentModalities ; + a ids:PaymentModality ; rdfs:comment "To express that the exchange of resource is negotiation-based."@en ; - rdfs:label "free"@en ; + rdfs:label "negotiation basis"@en ; . diff --git a/model/content/PaymentModalities.ttl b/model/content/PaymentModalities.ttl index 6d93aae2..cec14b87 100644 --- a/model/content/PaymentModalities.ttl +++ b/model/content/PaymentModalities.ttl @@ -9,8 +9,8 @@ # Classes # ------- -ids:PaymentModalities +ids:PaymentModality a owl:Class; - rdfs:label "Payment Modalities"@en ; + 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/Resource.ttl b/model/content/Resource.ttl index 4c988cc1..cf455f36 100644 --- a/model/content/Resource.ttl +++ b/model/content/Resource.ttl @@ -57,11 +57,11 @@ ids:contractOffer rdfs:label "contract offer"@en; rdfs:comment "Reference to a Contract Offer defining the authorized use of the Resource."@en. -ids:paymentModalities +ids:paymentModality a owl:ObjectProperty; rdfs:domain ids:Resource; - rdfs:range ids:PaymentModalities; - rdfs:label "payment modalities"@en; + rdfs:range ids:PaymentModality; + 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. ids:publisher diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index 165ac43c..d3d42cae 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -58,10 +58,10 @@ shapes:ResourceShape sh:property [ a sh:PropertyShape ; - sh:path ids:paymentModalities ; - sh:class ids:PaymentModalities ; + sh:path ids:paymentModality ; + sh:class ids:PaymentModality ; sh:severity sh:Violation ; - sh:message " (ResourceShape): An ids:Resource must have at least one ids:PaymentModalities linked through the ids:paymentModalities property"@en ; + sh:message " (ResourceShape): An ids:Resource must have at least one ids:PaymentModality linked through the ids:paymentModality property"@en ; ] ; sh:property [ From 04b0400b4927b1013c2448c486aa1523ee5e0e84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Fri, 23 Jul 2021 10:38:22 +0200 Subject: [PATCH 044/288] Revert "Application Profile for DCAT (DCAT-AP) Following European Best Practices" --- .../dcat-ap/DcatApplicationProfileShapes.ttl | 202 ------------------ 1 file changed, 202 deletions(-) delete mode 100644 testing/dcat-ap/DcatApplicationProfileShapes.ttl diff --git a/testing/dcat-ap/DcatApplicationProfileShapes.ttl b/testing/dcat-ap/DcatApplicationProfileShapes.ttl deleted file mode 100644 index 2d641d20..00000000 --- a/testing/dcat-ap/DcatApplicationProfileShapes.ttl +++ /dev/null @@ -1,202 +0,0 @@ -@prefix adms: . -@prefix dash: . -@prefix dc: . -@prefix owl: . -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix dcat: . -@prefix dct: . -@prefix foaf: . -@prefix ids: . -@prefix idsm: . -@prefix prov: . -@prefix sh: . -@prefix skos: . -@prefix shapes: . -@prefix vcard: . - -shapes:CategoryShape - a sh:NodeShape ; - sh:name "Category"@en ; - rdfs:seeAlso ; - rdfs:seeAlso ; - sh:property [ - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:path skos:prefLabel ; - sh:severity sh:Violation - ] ; - sh:targetClass skos:Concept . - -shapes:DatasetShape - a sh:NodeShape ; - sh:name "Dataset"@en ; - rdfs:seeAlso ; - rdfs:seeAlso ; - sh:property [ - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:path dct:description ; - sh:severity sh:Violation - ], [ - sh:minCount 1 ; - sh:nodeKind sh:Literal ; - sh:path dct:title ; - sh:severity sh:Violation - ], [ - sh:nodeKind sh:Literal ; - sh:path dct:identifier ; - sh:severity sh:Violation - ], [ - sh:class vcard:Kind ; - sh:path dcat:contactPoint ; - sh:severity sh:Violation - ], [ - sh:class dcat:Distribution ; - sh:path dcat:distribution ; - sh:severity sh:Violation - ], [ - sh:nodeKind sh:Literal ; - sh:path dcat:keyword ; - sh:severity sh:Violation - ], [ - sh:class foaf:Agent ; - sh:maxCount 1 ; - sh:path dct:publisher ; - sh:severity sh:Violation - ], [ - sh:class dct:Location ; - sh:path dct:spatial ; - sh:severity sh:Violation - ], [ - sh:class dct:PeriodOfTime ; - sh:path dct:temporal ; - sh:severity sh:Violation - ], [ - sh:class skos:Concept ; - sh:path dcat:theme ; - sh:severity sh:Violation - ], [ - sh:class dct:RightsStatement ; - sh:maxCount 1 ; - sh:path dct:accessRights ; - sh:severity sh:Violation - ], [ - sh:class dct:Frequency ; - sh:maxCount 1 ; - sh:path dct:accrualPeriodicity ; - sh:severity sh:Violation - ], [ - sh:class dct:Standard ; - sh:path dct:conformsTo ; - sh:severity sh:Violation - ], [ - sh:class dcat:Dataset ; - sh:path dct:hasVersion ; - sh:severity sh:Violation - ], [ - sh:class dcat:Dataset ; - sh:path dct:isVersionOf ; - sh:severity sh:Violation - ], [ - sh:maxCount 1 ; - sh:path dct:issued ; - sh:severity sh:Violation ; - sh:shape shapes:DateOrDateTimeDataTypeShape - ], [ - sh:class dct:LinguisticSystem ; - sh:path dct:language ; - sh:severity sh:Violation - ], [ - sh:maxCount 1 ; - sh:path dct:modified ; - sh:severity sh:Violation ; - sh:shape shapes:DateOrDateTimeDataTypeShape - ], [ - sh:class dct:ProvenanceStatement ; - sh:path dct:provenance ; - sh:severity sh:Violation - ], [ - sh:nodeKind sh:BlankNodeOrIRI ; - sh:path dct:relation ; - sh:severity sh:Violation - ], [ - sh:class dcat:Dataset ; - sh:path dct:source ; - sh:severity sh:Violation - ], [ - sh:class skos:Concept ; - sh:path dct:type ; - sh:severity sh:Violation - ], [ - sh:maxCount 1 ; - sh:nodeKind sh:Literal ; - sh:path owl:versionInfo ; - sh:severity sh:Violation - ], [ - sh:nodeKind sh:Literal ; - sh:path adms:versionNotes ; - sh:severity sh:Violation - ], [ - sh:class adms:Identifier ; - sh:path adms:identifier ; - sh:severity sh:Violation - ], [ - sh:class dcat:Distribution ; - sh:path adms:sample ; - sh:severity sh:Violation - ], [ - sh:class foaf:Document ; - sh:path dcat:landingPage ; - sh:severity sh:Violation - ], [ - sh:class foaf:Document ; - sh:path foaf:page ; - sh:severity sh:Violation - ], [ - sh:class dcat:Relationship ; - sh:path dcat:qualifiedRelation ; - sh:severity sh:Violation - ], [ - sh:nodeKind sh:BlankNodeOrIRI ; - sh:path dc:isReferencedBy ; - sh:severity sh:Violation - ], [ - sh:class prov:Attribution ; - sh:path prov:qualifiedAttribution ; - sh:severity sh:Violation - ], [ - sh:class prov:Activity ; - sh:path prov:wasGeneratedBy ; - sh:severity sh:Violation - ], [ - sh:datatype xsd:duration ; - sh:path dcat:temporalResolution ; - sh:severity sh:Violation - ], [ - sh:datatype xsd:decimal ; - sh:path dcat:spatialResolutionInMeters ; - sh:severity sh:Violation - ], [ - sh:class foaf:Agent ; - sh:maxCount 1 ; - sh:path dct:creator ; - sh:severity sh:Violation - ] ; - sh:targetClass dcat:Dataset . - -shapes:DateOrDateTimeDataTypeShape - a sh:NodeShape ; - rdfs:seeAlso ; - rdfs:seeAlso ; - rdfs:comment "Date time date disjunction shape checks that a datatype property receives a date or a dateTime literal" ; - rdfs:label "Date time date disjunction" ; - sh:message "The values must be data typed as either xsd:date or xsd:dateTime" ; - sh:or ([ - sh:datatype xsd:date - ] - [ - sh:datatype xsd:dateTime - ] - ) . From 7fc687cf0515f73fd3a1bab22ad70027802e2992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Fri, 23 Jul 2021 12:14:58 +0200 Subject: [PATCH 045/288] add more frequencies --- codes/Frequency.ttl | 56 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/codes/Frequency.ttl b/codes/Frequency.ttl index b7e00a88..f2ae16a5 100644 --- a/codes/Frequency.ttl +++ b/codes/Frequency.ttl @@ -162,7 +162,7 @@ idsc:THREE_TIMES_A_WEEK a ids:Frequency; idsc:DAILY a ids:Frequency; a skos:Concept ; rdfs:label "Daily"@en ; - skos:prefLabel "Daily"@en ; + skos:prefLabel "Daily" @en ; rdfs:comment "The event occurs once a day."@en ; owl:sameAs ; rdfs:isDefinedBy ; @@ -170,6 +170,60 @@ 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 2 times per day." @en ; +. + +idsc:EVERY_THREE_HOURS a ids:Frequency; + a skos:Concept ; + rdfs:label "Every three hours" @en ; + rdfs:comment "The event occurs every 3 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:CONTINUOUS a ids:Frequency; a skos:Concept ; rdfs:label "Continuous"@en ; From 5b0725246d2cacfdfcc21d65eca34862ebd5d45e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Fri, 23 Jul 2021 12:15:32 +0200 Subject: [PATCH 046/288] add title / description information to representations --- model/content/Representation.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/content/Representation.ttl b/model/content/Representation.ttl index 6b7070b7..f1617898 100644 --- a/model/content/Representation.ttl +++ b/model/content/Representation.ttl @@ -12,7 +12,7 @@ ids:Representation a owl:Class ; - rdfs:subClassOf ids:DescribedSemantically, ids:Asset, dcat:Distribution;# covers the generalizable parts of a Distribution + rdfs:subClassOf ids:Described, ids:DescribedSemantically, ids:Asset, dcat:Distribution;# covers the generalizable parts of a Distribution rdfs:label "Representation"@en; rdfs:comment "Syntactic template of a Resource."@en; . From 85a28c1f9fb3fa059ecd48274e1d16bbca34b56d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Fri, 23 Jul 2021 12:27:25 +0200 Subject: [PATCH 047/288] some linguistics --- codes/Frequency.ttl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codes/Frequency.ttl b/codes/Frequency.ttl index f2ae16a5..c4c1a7fe 100644 --- a/codes/Frequency.ttl +++ b/codes/Frequency.ttl @@ -173,13 +173,13 @@ idsc:DAILY a ids:Frequency; idsc:TWO_TIMES_A_DAY a ids:Frequency; a skos:Concept ; rdfs:label "Two times a day" @en ; - rdfs:comment "The event occurs 2 times per 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 3 hours." @en ; + rdfs:comment "The event occurs every three hours." @en ; . idsc:BIHOURLY a ids:Frequency; From 115e3a0fed95ac2ef10fcd21941a0cb5fbc94045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Fri, 23 Jul 2021 12:43:10 +0200 Subject: [PATCH 048/288] fix small bug in shapes. CommandMessage can be used directly --- testing/taxonomies/MessageShape.ttl | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index 829101d4..0ed933a1 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -52,24 +52,7 @@ shapes:ResponseMessageShape sh:severity sh:Violation ; sh:message " (ResponseMessageShape): An ids:Message must have exactly one URI reference to an ids:Message linked through the ids:correlationMessage property"@en ; ] . - -shapes:CommandMessageShape - a sh:NodeShape ; - sh:targetClass ids:CommandMessage ; - - sh:sparql [ - a sh:SPARQLConstraint ; - sh:message " (CommandMessageShape): An ids:CommandMessage 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:CommandMessage) - } - """ ; - ] . - + shapes:QueryMessageShape a sh:NodeShape ; From 30d97e003a2b93de390c7aedea84f222e22f3543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Fri, 23 Jul 2021 15:25:26 +0200 Subject: [PATCH 049/288] update changelogs for 4.2.0 pre-release --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 132d1a58..213c5919 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ 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-Pre-release] 2021-07-23 +Pre-release 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`. +* Title (`ids:title`) and description (`ids:description`) properties for `ids:Representation`. + ## [4.1.0] 2021-05-26 Version 4.1.0 of the IDS Information Model From ddc0a02490ab203256d6a5d7dfb738e9351eb0ea Mon Sep 17 00:00:00 2001 From: changqin26 Date: Mon, 26 Jul 2021 15:51:26 +0200 Subject: [PATCH 050/288] Add Protocol related classes and properties. --- codes/IdsProtocolSpecification.ttl | 35 ++++++++++++++++++++++++++++++ model/communication/Endpoint.ttl | 12 +++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 codes/IdsProtocolSpecification.ttl 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/model/communication/Endpoint.ttl b/model/communication/Endpoint.ttl index e0434a00..989b21c7 100644 --- a/model/communication/Endpoint.ttl +++ b/model/communication/Endpoint.ttl @@ -41,7 +41,11 @@ ids:GenericEndpoint rdfs:comment "Generic endpoints describe non-IDS-specific endpoints, e.g., to integrate external services."@en ; . - +ids:IdsProtocolSpecification + a owl:Class ; + rdfs:label "Protocol Specification" ; + rdfs:comment "List of all defined Protocol Specifications, for instance IDS-CP or IDS over Multipart."@en ; +. # Properties # ------- @@ -98,6 +102,12 @@ ids:outboundPath rdfs:range xsd:string; rdfs:comment "Relative path used for outbound communication via this endpoint, i.e., output messages and faults only."@en. +ids:apiSpecifiation a owl:ObjectProperty ; + rdfs:label "follows API specification" ; + rdfs:comment "Declares which endpoint specification is supported by this IDS endpoint." ; + rdfs:domain ids:Endpoint ; + rdfs:range ids:IdsProtocolSpecification ; +. ids:appEndpointType a owl:ObjectProperty ; From 62d237eb057385037bd8848147f4d7ab0fb81fa7 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Tue, 10 Aug 2021 17:58:57 +0200 Subject: [PATCH 051/288] Setting the ids:paymentModality to 0 or 1 --- testing/content/ResourceShape.ttl | 1 + 1 file changed, 1 insertion(+) diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index d3d42cae..38bd3a9a 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -60,6 +60,7 @@ shapes:ResourceShape a sh:PropertyShape ; sh:path ids:paymentModality ; sh:class ids:PaymentModality ; + sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (ResourceShape): An ids:Resource must have at least one ids:PaymentModality linked through the ids:paymentModality property"@en ; ] ; From 53c7c93e3d4bd84f7189d8d514aef23d7d9f9b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20B=C3=B6ckmann?= Date: Tue, 17 Aug 2021 16:17:34 +0200 Subject: [PATCH 052/288] Update MessageShape.ttl AppNotificationMessage was required to have a property that is not defined in the ontology. --- testing/taxonomies/MessageShape.ttl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index 0ed933a1..d3aae85e 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -368,13 +368,13 @@ shapes:AppNotificationMessageShape sh:property [ a sh:PropertyShape ; - sh:path ids:affectedAppResource ; + sh:path ids:affectedResource ; sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AppNotificationMessageShape): An ids:AppNotificationMessage must have exactly one IRI reference to an ids:Resource linked through the ids:affectedAppResource property"@en ; + sh:message " (AppNotificationMessageShape): An ids:AppNotificationMessage must have exactly one IRI reference to an ids:Resource linked through the ids:affectedResource property"@en ; ] . shapes:AppRegistrationRequestMessageShape From fec76c30fa3dfeb9ca483df1e970dc1573a5cacc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Wed, 18 Aug 2021 11:20:25 +0200 Subject: [PATCH 053/288] add appresource shape --- testing/taxonomies/ResourceShape.ttl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/testing/taxonomies/ResourceShape.ttl b/testing/taxonomies/ResourceShape.ttl index dcd4ecfa..789d3789 100644 --- a/testing/taxonomies/ResourceShape.ttl +++ b/testing/taxonomies/ResourceShape.ttl @@ -126,4 +126,24 @@ shapes:SoftwareResourceShape sh:severity sh:Violation ; sh:message " (SoftwareResourceShape): An ids:defaultRepresentation property must point from an ids:SoftwareResource to an ids:SoftwareRepresentation."@en ; ] ; +. + +shapes:AppResourceShape + a sh:NodeShape; + sh:targetClass ids:AppResource; + sh:property [ + a sh:PropertyShape ; + sh:path ids:representation ; + sh:class ids:AppRepresentation ; + sh:severity sh:Violation ; + sh:message " (AppResourceShape): An ids:representation property must point from an ids:AppResourceShape to an ids:AppRepresentation."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:defaultRepresentation ; + sh:class ids:ImageRepresentation ; + sh:severity sh:Violation ; + sh:message " (AppResourceShape): An ids:defaultRepresentation property must point from an ids:AppResource to an ids:AppRepresentation."@en ; + ] ; . \ No newline at end of file From 02720b225c0537f6a422fff78c97ee24e534c23a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Wed, 18 Aug 2021 11:24:55 +0200 Subject: [PATCH 054/288] fix other shapes --- testing/taxonomies/ResourceShape.ttl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/testing/taxonomies/ResourceShape.ttl b/testing/taxonomies/ResourceShape.ttl index 789d3789..73ee9908 100644 --- a/testing/taxonomies/ResourceShape.ttl +++ b/testing/taxonomies/ResourceShape.ttl @@ -42,7 +42,7 @@ shapes:AudioResourceShape sh:property [ a sh:PropertyShape ; sh:path ids:defaultRepresentation ; - sh:class ids:ImageRepresentation ; + sh:class ids:AudioRepresentation ; sh:severity sh:Violation ; sh:message " (AudioResourceShape): An ids:defaultRepresentation property must point from an ids:AudioResource to an ids:AudioRepresentation."@en ; ] ; @@ -62,7 +62,7 @@ shapes:VideoResourceShape sh:property [ a sh:PropertyShape ; sh:path ids:defaultRepresentation ; - sh:class ids:ImageRepresentation ; + sh:class ids:VideoRepresentation ; sh:severity sh:Violation ; sh:message " (VideoResourceShape): An ids:defaultRepresentation property must point from an ids:VideoResource to an ids:VideoRepresentation."@en ; ] ; @@ -82,7 +82,7 @@ shapes:TextResourceShape sh:property [ a sh:PropertyShape ; sh:path ids:defaultRepresentation ; - sh:class ids:ImageRepresentation ; + sh:class ids:TextRepresentation ; sh:severity sh:Violation ; sh:message " (TextResourceShape): An ids:defaultRepresentation property must point from an ids:TextResource to an ids:TextRepresentation."@en ; ] ; @@ -102,7 +102,7 @@ shapes:DataResourceShape sh:property [ a sh:PropertyShape ; sh:path ids:defaultRepresentation ; - sh:class ids:ImageRepresentation ; + sh:class ids:DataRepresentation ; sh:severity sh:Violation ; sh:message " (DataResourceShape): An ids:defaultRepresentation property must point from an ids:DataResource to an ids:DataRepresentation."@en ; ] ; @@ -122,7 +122,7 @@ shapes:SoftwareResourceShape sh:property [ a sh:PropertyShape ; sh:path ids:defaultRepresentation ; - sh:class ids:ImageRepresentation ; + sh:class ids:SoftwareRepresentation ; sh:severity sh:Violation ; sh:message " (SoftwareResourceShape): An ids:defaultRepresentation property must point from an ids:SoftwareResource to an ids:SoftwareRepresentation."@en ; ] ; @@ -142,7 +142,7 @@ shapes:AppResourceShape sh:property [ a sh:PropertyShape ; sh:path ids:defaultRepresentation ; - sh:class ids:ImageRepresentation ; + sh:class ids:AppRepresentation ; sh:severity sh:Violation ; sh:message " (AppResourceShape): An ids:defaultRepresentation property must point from an ids:AppResource to an ids:AppRepresentation."@en ; ] ; From 9efacf09e2c4d5dcc367f0c5ab8a85a4deb5f9f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 19 Aug 2021 15:20:20 +0200 Subject: [PATCH 055/288] add instances for media types --- codes/Mediatype.ttl | 14 ++++++++++++++ model/content/MediaType.ttl | 10 ---------- 2 files changed, 14 insertions(+), 10 deletions(-) create mode 100644 codes/Mediatype.ttl diff --git a/codes/Mediatype.ttl b/codes/Mediatype.ttl new file mode 100644 index 00000000..9e44d43c --- /dev/null +++ b/codes/Mediatype.ttl @@ -0,0 +1,14 @@ +@prefix owl: . +@prefix rdfs: . +@prefix ids: . + + + + a ids:IANAMediaType ; + rdfs:label "JSON"@en ; + rdfs:comment "JSON media type."@en. + +idsc:OTHER_MEDIATYPE + a ids:CustomMediaType ; + rdfs:label "Other mediatype"@en ; + rdfs:comment "Other custom mediatype."@en. \ No newline at end of file diff --git a/model/content/MediaType.ttl b/model/content/MediaType.ttl index a3905eaf..ea16bbee 100644 --- a/model/content/MediaType.ttl +++ b/model/content/MediaType.ttl @@ -34,16 +34,6 @@ ids:IANAMediaType # Properties # ---------- -#ids:magicNumber -# a owl:DatatypeProperty ; -# rdfs:label "magic number"@en ; -# rdfs:label "file signature"@en ; -# rdfs:domain ids:MediaType ; -# rdfs:range xsd:string ; -# rdfs:comment "Alphanumeric sequence (located within a file) used to identify the file format."@en ; -# rdfs:seeAlso ; -# . - ids:filenameExtension # similar to , but does not contain dot separator a owl:DatatypeProperty ; From 47a5a1a3e48fc7dbdb3c0089b3c7497632452940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 19 Aug 2021 15:23:07 +0200 Subject: [PATCH 056/288] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 213c5919..4669e3b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ Pre-release version 4.2.0 of the IDS Information Model * Class `ids:PaymentModality` and property `ids:paymentModality` to document pricing modalities (free/ Fixed price/ negotiation basis). Property is directly attached to the `ids:Resource`. * Title (`ids:title`) and description (`ids:description`) properties for `ids:Representation`. - +* Shapes for AppResources ## [4.1.0] 2021-05-26 Version 4.1.0 of the IDS Information Model From 487dbcf25cfd4a3bde60e54eb8d7ebfbc1b5643b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 19 Aug 2021 15:26:50 +0200 Subject: [PATCH 057/288] add missing prefix --- codes/Mediatype.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codes/Mediatype.ttl b/codes/Mediatype.ttl index 9e44d43c..e17baf05 100644 --- a/codes/Mediatype.ttl +++ b/codes/Mediatype.ttl @@ -1,7 +1,7 @@ @prefix owl: . @prefix rdfs: . @prefix ids: . - +@prefix idsc: . a ids:IANAMediaType ; From ad969662aee2ada3bc0f44fc7c516440da74adb9 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 26 Aug 2021 14:06:11 +0200 Subject: [PATCH 058/288] Remove ids:Agent Remove ids:Agent Replace it by foaf:Agent --- model/communication/Message.ttl | 5 +++-- model/content/Resource.ttl | 5 +++-- model/infrastructure/Connector.ttl | 3 ++- model/participant/Participant.ttl | 8 +------- testing/communication/MessageShape.ttl | 6 ++---- testing/content/ResourceShape.ttl | 6 ++---- testing/infrastructure/ConnectorShape.ttl | 1 - 7 files changed, 13 insertions(+), 21 deletions(-) diff --git a/model/communication/Message.ttl b/model/communication/Message.ttl index 1133b9cf..f9765348 100644 --- a/model/communication/Message.ttl +++ b/model/communication/Message.ttl @@ -2,6 +2,7 @@ @prefix rdf: . @prefix rdfs: . @prefix xsd: . +@prefix foaf: . @prefix dct: . @prefix ids: . @@ -59,14 +60,14 @@ ids:senderAgent a owl:DatatypeProperty; rdfs:label "sender agent"@en; rdfs:domain ids:Message; - rdfs:range ids:Agent; + rdfs:range foaf:Agent; rdfs:comment "The Agent which initiated the Message."@en. ids:recipientAgent a owl:DatatypeProperty; rdfs:label "recipient agent"@en; rdfs:domain ids:Message; - rdfs:range ids:Agent; + rdfs:range foaf:Agent; rdfs:comment "The Agent for which the Mesaage is intended."@en. ids:securityToken diff --git a/model/content/Resource.ttl b/model/content/Resource.ttl index 0b231a84..3767ba3b 100644 --- a/model/content/Resource.ttl +++ b/model/content/Resource.ttl @@ -1,6 +1,7 @@ @prefix dct: . @prefix ids: . +@prefix foaf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -68,14 +69,14 @@ ids:publisher a owl:ObjectProperty ; rdfs:subPropertyOf dct:publisher ; rdfs:domain ids:Resource ; - rdfs:range ids:Agent ; + rdfs:range foaf:Agent ; rdfs:label "publisher"@en; rdfs:comment "The publisher of the resource (which may differ from the sovereign)."@en. ids:sovereign a owl:ObjectProperty ; rdfs:domain ids:Resource ; - rdfs:range ids:Agent ; + rdfs:range foaf:Agent ; rdfs:label "sovereign"@en; rdfs:comment "The 'owner', i.e. sovereign of the data."@en. diff --git a/model/infrastructure/Connector.ttl b/model/infrastructure/Connector.ttl index d27731f5..edb18b71 100644 --- a/model/infrastructure/Connector.ttl +++ b/model/infrastructure/Connector.ttl @@ -1,6 +1,7 @@ @prefix rdf: . @prefix owl: . @prefix rdfs: . +@prefix foaf: . @prefix xsd: . @prefix ids: . @@ -75,7 +76,7 @@ ids:resourceCatalog a owl:ObjectProperty; ids:hasAgent a owl:ObjectProperty; rdfs:label "has Agent"@en; rdfs:domain ids:Connector; - rdfs:range ids:Agent; + rdfs:range foaf:Agent; rdfs:comment "The Agents for which this Connector may initiate and receive Messages."@en. # TODO: maybe needed for configuration model later. diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 44a93991..bd0b49a1 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -11,15 +11,9 @@ # Classes # ------- -ids:Agent - a owl:Class; - rdfs:subClassOf ids:Described, odrl:Party, foaf:Agent ;# odrl:Party makes it a reliable party in contracting - rdfs:label "Agent"@en; - rdfs:comment "Internal or external Agent interacting with the International Data Spaces, not necessarily an IDS Participant."@en. - ids:Participant a owl:Class; - rdfs:subClassOf ids:Agent, ids:ManagedEntity, org:Organization; # foaf:Organization is implied + rdfs:subClassOf foaf:Agent, ids:ManagedEntity, org:Organization; # foaf:Organization is implied rdfs:label "Participant"@en; rdfs:comment "Stakeholder in the International Data Spaces, assuming one or more of the predefined roles; every participant is given a unique identity by the Identity Provider."@en; . diff --git a/testing/communication/MessageShape.ttl b/testing/communication/MessageShape.ttl index a515914a..aa86d2cd 100644 --- a/testing/communication/MessageShape.ttl +++ b/testing/communication/MessageShape.ttl @@ -94,22 +94,20 @@ shapes:MessageShape a sh:PropertyShape ; sh:path ids:senderAgent ; sh:nodeKind sh:IRI ; - #sh:class ids:Agent ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (MessageShape): An ids:Message must have exactly one ids:Agent linked as an IRI through the ids:senderAgent property"@en ; + sh:message " (MessageShape): An ids:Message must have exactly one foaf:Agent linked as an IRI through the ids:senderAgent property"@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path ids:recipientAgent ; sh:nodeKind sh:IRI ; - #sh:class ids:Agent ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; - sh:message " (MessageShape): An ids:recipientAgent property must point from an ids:Message to an ids:Agent via an IRI."@en ; + sh:message " (MessageShape): An ids:recipientAgent property must point from an ids:Message to an foaf:Agent via an IRI."@en ; ] ; sh:property [ diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index 38bd3a9a..280fe982 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -68,21 +68,19 @@ shapes:ResourceShape sh:property [ a sh:PropertyShape ; sh:path ids:publisher ; - #sh:class ids:Agent ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ResourceShape): An ids:publisher property must not have more than one point from an ids:Resource to an ids:Agent."@en ; + sh:message " (ResourceShape): An ids: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:class ids:Agent ; 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 ids:Agent."@en ; + sh:message " (ResourceShape): An ids:sovereign property must not have more than one point from an ids:Resource to an foaf:Agent."@en ; ] ; sh:property [ diff --git a/testing/infrastructure/ConnectorShape.ttl b/testing/infrastructure/ConnectorShape.ttl index 72858c08..efcf2bc5 100644 --- a/testing/infrastructure/ConnectorShape.ttl +++ b/testing/infrastructure/ConnectorShape.ttl @@ -59,7 +59,6 @@ shapes:ConnectorShape a sh:PropertyShape ; sh:path ids:hasAgent ; sh:nodeKind sh:IRI ; - #sh:class ids:Agent ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; sh:message " (ConnectorShape): The ids:hasAgents property must point from an ids:Connector to a list of Agends using an IRI."@en ; From 7815a934a1d488ea70a845880452a2a9a57a107b Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 26 Aug 2021 14:47:49 +0200 Subject: [PATCH 059/288] Remove ids:Person Remove ids:Person and replace it by foaf:Person --- model/participant/Participant.ttl | 18 ++++++------------ testing/participant/ParticipantShape.ttl | 16 ++++++++-------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index bd0b49a1..895f217f 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -18,12 +18,6 @@ ids:Participant rdfs:comment "Stakeholder in the International Data Spaces, assuming one or more of the predefined roles; every participant is given a unique identity by the Identity Provider."@en; . -ids:Person rdfs:subClassOf foaf:Person; - a owl:Class; - rdfs:label "Person"@en; - rdfs:comment "The class of persons (people)"@en; -. - ids:Site a owl:Class; rdfs:subClassOf org:Site; rdfs:label "Site"@en; @@ -123,41 +117,41 @@ ids:jurisdiction ids:memberPerson rdfs:subPropertyOf org:hasMember; a owl:ObjectProperty; rdfs:domain ids:Participant; - rdfs:range ids:Person; + rdfs:range foaf:Person; rdfs:label "memberPerson"@en; rdfs:comment "Indicates membership of a person to an organization."@en. ids:familyName rdfs:subPropertyOf foaf:familyName; a owl:DatatypeProperty; - rdfs:domain ids:Person; + rdfs:domain foaf:Person; rdfs:range xsd:string; rdfs:label "familyName"@en; rdfs:comment "Family name of a Person."@en. ids:givenName rdfs:subPropertyOf foaf:givenName; a owl:DatatypeProperty; - rdfs:domain ids:Person; + rdfs:domain foaf:Person; rdfs:range xsd:string; rdfs:label "givenName"@en; rdfs:comment "Given name of a Person."@en. ids:phoneNumber rdfs:subPropertyOf foaf:phone; a owl:DatatypeProperty; - rdfs:domain ids:Person; + rdfs:domain foaf:Person; rdfs:range xsd:string; rdfs:label "phoneNumber"@en; rdfs:comment "Phone number of a person."@en. ids:emailAddress rdfs:subPropertyOf foaf:mbox; a owl:DatatypeProperty; - rdfs:domain ids:Person; + rdfs:domain foaf:Person; rdfs:range xsd:string; rdfs:label "emailAddress"@en; rdfs:comment "Email contact of a person."@en. ids:homepage rdfs:subPropertyOf foaf:homepage; a owl:DatatypeProperty; - rdfs:domain ids:Person; + rdfs:domain foaf:Person; rdfs:range xsd:string; rdfs:label "homepage"@en; rdfs:comment "Website providing additional information about a person."@en. diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index e654461d..40124e15 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -114,9 +114,9 @@ shapes:ParticipantShape sh:property [ a sh:PropertyShape ; sh:path ids:memberPerson ; - sh:class ids:Person ; + sh:class foaf:Person ; sh:severity sh:Violation ; - sh:message " (ParticipantShape): An ids:memberPerson property must point from an ids:Participant to an ids:Person."@en ; + sh:message " (ParticipantShape): An ids:memberPerson property must point from an ids:Participant to an foaf:Person."@en ; ] ; sh:property [ @@ -132,7 +132,7 @@ shapes:ParticipantShape shapes:PersonShape a sh:NodeShape ; - sh:targetClass ids:Person ; + sh:targetClass foaf:Person ; sh:property [ a sh:PropertyShape ; @@ -140,7 +140,7 @@ shapes:PersonShape sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:familyName property must not have more than one point from an ids:Person to an xsd:string."@en ; + sh:message " (PersonShape): An ids:familyName property must not have more than one point from an foaf:Person to an xsd:string."@en ; ] ; sh:property [ @@ -149,7 +149,7 @@ shapes:PersonShape sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:givenName property must not have more than one point from an ids:Person to an xsd:string."@en ; + sh:message " (PersonShape): An ids:givenName property must not have more than one point from an foaf:Person to an xsd:string."@en ; ] ; sh:property [ @@ -157,7 +157,7 @@ shapes:PersonShape sh:path ids:phoneNumber ; sh:datatype xsd:string ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:phoneNumber property must point from an ids:Person to an xsd:string."@en ; + sh:message " (PersonShape): An ids:phoneNumber property must point from an foaf:Person to an xsd:string."@en ; ] ; sh:property [ @@ -165,7 +165,7 @@ shapes:PersonShape sh:path ids:emailAddress ; sh:datatype xsd:string ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:emailAddress property must point from an ids:Person to an xsd:string."@en ; + sh:message " (PersonShape): An ids:emailAddress property must point from an foaf:Person to an xsd:string."@en ; ] ; sh:property [ @@ -174,7 +174,7 @@ shapes:PersonShape sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:homepage property must not have more than one point from an ids:Person to an xsd:string."@en ; + sh:message " (PersonShape): An ids:homepage property must not have more than one point from an foaf:Person to an xsd:string."@en ; ] . From 556d9cf9ceaa0a2244ba49c531b98a36389ca487 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 26 Aug 2021 14:58:58 +0200 Subject: [PATCH 060/288] Remove ids:Site Remove, use only org:hasPrimarySite --- examples/PARTICIPANT_1.jsonld | 3 ++- examples/PARTICIPANT_1.ttl | 3 ++- examples/PARTICIPANT_2.ttl | 3 ++- examples/PARTICIPANT_3.ttl | 7 ++++--- model/participant/Participant.ttl | 9 ++------- testing/participant/ParticipantShape.ttl | 8 ++++---- 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index bd378478..ed07e4dc 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -5,6 +5,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#", + "org": "", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ @@ -50,7 +51,7 @@ }, { "@id": "_:ub97bL15C21", - "@type": "ids:Site", + "@type": "org:hasPrimarySite", "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..bcbe39bc 100644 --- a/examples/PARTICIPANT_1.ttl +++ b/examples/PARTICIPANT_1.ttl @@ -1,6 +1,7 @@ @prefix ids: . @prefix xsd: . @prefix idsc: . +@prefix org: . # Participant URI is resolved by Identity Manager @prefix part1: . @@ -14,7 +15,7 @@ part1: ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. ids:primarySite [ - a ids:Site ; + a org:hasPrimarySite ; 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..84b82243 100644 --- a/examples/PARTICIPANT_2.ttl +++ b/examples/PARTICIPANT_2.ttl @@ -1,5 +1,6 @@ @prefix ids: . @prefix idsc: . +@prefix org: . @prefix xsd: . @prefix part2: . @@ -11,7 +12,7 @@ part2: ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. ids:primarySite [ - a ids:Site ; + a org:hasPrimarySite ; 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..b666fa21 100644 --- a/examples/PARTICIPANT_3.ttl +++ b/examples/PARTICIPANT_3.ttl @@ -1,4 +1,5 @@ @prefix ids: . +@prefix org: . @prefix xsd: . @prefix idsc: . @prefix part3: . @@ -11,7 +12,7 @@ part3: ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. ids:primarySite [ - a ids:Site ; + a org:hasPrimarySite ; ids:siteAddress "Supercargo Gmbh, Musterstraße 5, Köln, Deutschland" ; ] ; ids:participantCertification [ @@ -32,7 +33,7 @@ part3:ru # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 ids:primarySite [ - a ids:Site ; + a org:hasPrimarySite ; ids:siteAddress "Supercargo OOO, Yлица пример 120, Москва, Россия" ; ] . @@ -46,7 +47,7 @@ part3:hk # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 ids:primarySite [ - a ids:Site ; + a org:hasPrimarySite ; ids:siteAddress "Sample Road 15c, Hongkong" ; ] . diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 895f217f..b46d3ecd 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -18,11 +18,6 @@ ids:Participant rdfs:comment "Stakeholder in the International Data Spaces, assuming one or more of the predefined roles; every participant is given a unique identity by the Identity Provider."@en; . -ids:Site a owl:Class; - rdfs:subClassOf org:Site; - rdfs:label "Site"@en; - rdfs:comment "An office or other premise at which the organization is located"@en. - # Properties for describing a Participant # --------------------------------------- @@ -38,7 +33,7 @@ ids:primarySite rdfs:subPropertyOf org:hasPrimarySite; a owl:ObjectProperty; rdfs:label "primarySite"@en; rdfs:domain ids:Participant; - rdfs:range ids:Site; + rdfs:range org:hasPrimarySite; 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. ids:corporateEmailAddress rdfs:subPropertyOf foaf:mbox; @@ -163,7 +158,7 @@ ids:siteAddress # rdfs:subPropertyOf org:siteAddress; # a owl:ObjectProperty; a owl:DatatypeProperty ; - rdfs:domain ids:Site; + rdfs:domain org:hasPrimarySite; rdfs:range xsd:string; rdfs:label "site address"@en; rdfs:comment "Indicates an address for the site."@en. diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 40124e15..7ed1bb86 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -30,10 +30,10 @@ shapes:ParticipantShape sh:property [ a sh:PropertyShape ; sh:path ids:primarySite ; - sh:class ids:Site ; + sh:class org:hasPrimarySite ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ParticipantShape): An ids:Participant must not have more than one ids:Site linked through the ids:primarySite property"@en ; + sh:message " (ParticipantShape): An ids:Participant must not have more than one org:hasPrimarySite linked through the ids:primarySite property"@en ; ] ; sh:property [ @@ -180,7 +180,7 @@ shapes:PersonShape shapes:SiteShape a sh:NodeShape ; - sh:targetClass ids:Site ; + sh:targetClass org:hasPrimarySite ; sh:property [ a sh:PropertyShape ; @@ -188,5 +188,5 @@ shapes:SiteShape sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (SiteShape): An ids:siteAddress property must not have more than one point from an ids:Site to an xsd:string."@en ; + sh:message " (SiteShape): An ids:siteAddress property must not have more than one point from an org:hasPrimarySite to an xsd:string."@en ; ] . From 466fec104a38f13f06e79c0889aa8bdd75ade70b Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 1 Sep 2021 17:06:09 +0200 Subject: [PATCH 061/288] Add extension from odrl:Party Added extension from odrl:Party in Participant.ttl --- model/participant/Participant.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index b46d3ecd..801988f2 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -13,7 +13,7 @@ ids:Participant a owl:Class; - rdfs:subClassOf foaf:Agent, ids:ManagedEntity, org:Organization; # foaf:Organization is implied + rdfs:subClassOf foaf:Agent, odrl:Party, ids:ManagedEntity, org:Organization; # foaf:Organization is implied rdfs:label "Participant"@en; rdfs:comment "Stakeholder in the International Data Spaces, assuming one or more of the predefined roles; every participant is given a unique identity by the Identity Provider."@en; . From fb6e93d78e4de4cbe857b59c782b3ae5dbbeda79 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 1 Sep 2021 18:19:03 +0200 Subject: [PATCH 062/288] Remove, instead use skos:Concept Remove, instead use skos:Concept --- .DS_Store | Bin 0 -> 6148 bytes model/.DS_Store | Bin 0 -> 6148 bytes model/content/Concept.ttl | 21 --------------------- model/content/DigitalContent.ttl | 2 +- model/shared/Described.ttl | 7 ------- testing/content/ConceptShape.ttl | 6 +++--- testing/taxonomies/DigitalContentShape.ttl | 2 +- 7 files changed, 5 insertions(+), 33 deletions(-) create mode 100644 .DS_Store create mode 100644 model/.DS_Store delete mode 100644 model/content/Concept.ttl diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..cb4db93fa1f6212bc7eaedf5636a141e5b155fe5 GIT binary patch literal 6148 zcmeHK!Ab)$5KU^;v?A_7P;a?->!B-E@E|O;9=r)FdQfS1*`f>EjdZsbt(E-_{Ud+C z-*F~MrKNiCBBC=ed6UUZLf$T!gfYgOgUDsfVT=h-#8L&CPXxzN=cHskh+NN+gv0DM zOjI}*OOD^k0Dikg)?q)gX;BJ&$h&gs6y0 z+u0h8-1=@!?zrx_Cc$p(*W}(_V?3^ijcxbfxYN6T7(I@ko(;7e{y{Bk7ANom#?&6~ z{C=9K^cuXAj7cORF+dCu1OI~od-{o$|FK=#B{4t@e1iczA0#NEXR$D-j}B>`ErBR4dKL?VFap9&DxgW__KCqwI{2lH^DGtyO*-RxWthjV%>(#+8bvWam zL28KsVqlhm1=Dq~{vUn){+~^v9x*@+{3!-_x#hQ-uq9ht=QfA6R)TgwQ82DB_>lsJ iF2xXwrFaum3-~1(fS$#|Ab3FNBA{uYh8Xx!2HpWV`cX#! literal 0 HcmV?d00001 diff --git a/model/.DS_Store b/model/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..639a3cb995cbea7c6488aaf9ac1c2392dcd5b950 GIT binary patch literal 6148 zcmeHK%}xR_5N>6af+2D+QE$C?mu@nEt+Ja{u%qX#vxD?~PdmcZgh5wp*sZ{!R3 zI?lAk2&gAx4C!p9-?W|SX1=69LkOX@QOhNyNC;t|h)y1wF9hdN7i7hZIDk~GF(QIQ zb6ew;i# zYmzCPNlG>hPT>WNA9B9)2cj#*EqLJyS;dZk6Ri!WTfDT4%;h=9!jwCU%fo=#A8dVj zQnHy?1}p==!~mWT92C(rm}*o<2Q;b#0K{j660otBz!+}OGni_G84#*N0d*)fB?i^u zFwTviXE4>M!wEIT2Q`1Drb40W@31~s?u2?8ZEG2@49qf+(cL26|Ht3g|Fc21XBn^z zEENOPsr&UBq-5^ah2-$A<)BSa6!c3qst{<*b*v1$inl?Pz#K;d&@-57gb@(?5KuJO K#xn4y47>x!ew*h2 literal 0 HcmV?d00001 diff --git a/model/content/Concept.ttl b/model/content/Concept.ttl deleted file mode 100644 index 319bff56..00000000 --- a/model/content/Concept.ttl +++ /dev/null @@ -1,21 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix owl: . -@prefix dct: . -@prefix skos: . -@prefix ids: . - - -# Classes -# ------- - -ids:Concept - a owl:Class; - rdfs:subClassOf skos:Concept; - - rdfs:label "Concept"@en ; - rdfs:comment "Class of categories for classification of Resources."@en; - rdfs:seeAlso - , - . - diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 61850bc6..e9cec9b4 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -102,7 +102,7 @@ ids:theme # ... "topic" / "subject" ? rdfs:subPropertyOf dcat:theme; # is a sub-property of dct:subject, comparable to qb:concept (?) rdfs:label "theme"@en; rdfs:domain ids:DigitalContent; - rdfs:range ids:Concept; # former "ContentCategory", skos:Concepts organized in a skos:ConceptScheme + rdfs:range skos:Concept; # former "ContentCategory", skos:Concepts organized in a skos:ConceptScheme rdfs:comment "Abstract or concrete concept related to or referred by the content."@en. diff --git a/model/shared/Described.ttl b/model/shared/Described.ttl index 96c6360b..096be3f6 100644 --- a/model/shared/Described.ttl +++ b/model/shared/Described.ttl @@ -11,13 +11,6 @@ # ------- -### Removing this class, as it is already defined in model/content/Concept.ttl -#ids:Concept -# a owl:Class ; -# rdfs:subClassOf skos:Concept ; -# rdfs:label "Concept"@en . - - ids:Described a owl:Class ; diff --git a/testing/content/ConceptShape.ttl b/testing/content/ConceptShape.ttl index bb4e9823..fd17f2a5 100644 --- a/testing/content/ConceptShape.ttl +++ b/testing/content/ConceptShape.ttl @@ -25,17 +25,17 @@ shapes: shapes:ConceptShape a sh:NodeShape ; - sh:targetClass ids:Concept ; + sh:targetClass skos:Concept ; sh:sparql [ a sh:SPARQLConstraint ; - sh:message " (ConceptShape): An ids:Concept is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:message " (ConceptShape): An skos:Concept 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:Concept) + FILTER (?type = skos:Concept) } """ ; ] . diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 28ffed37..1666f8ef 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -84,7 +84,7 @@ shapes:DigitalContentShape sh:path ids:theme ; sh:nodeKind sh:IRI ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:theme property must point from an ids:DigitalContent to an ids:Concept."@en ; + sh:message " (DigitalContentShape): An ids:theme property must point from an ids:DigitalContent to an skos:Concept."@en ; ] ; sh:property [ From 990b24ab1c5c269a581e648f077a2290758cb8f3 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 2 Sep 2021 12:35:50 +0200 Subject: [PATCH 063/288] Remove ids:ContentType, instead use dct:DCMIType Remove ids:ContentType, instead use dct:DCMIType --- .gitignore | 1 + codes/ContentType.ttl | 4 ++-- model/content/ContentType.ttl | 16 ---------------- model/content/DigitalContent.ttl | 3 ++- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 5 files changed, 7 insertions(+), 21 deletions(-) delete mode 100644 model/content/ContentType.ttl diff --git a/.gitignore b/.gitignore index f25f3a61..1a7c4e67 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ artifacts /IDSInformationModelAll.ttl /catalog-v001.xml *.project +model/content/.DS_Store diff --git a/codes/ContentType.ttl b/codes/ContentType.ttl index bde70e98..a292015e 100644 --- a/codes/ContentType.ttl +++ b/codes/ContentType.ttl @@ -10,12 +10,12 @@ # --------- idsc:INTERFACE_DEFINITION - a ids:ContentType; + a dct:DCMIType; rdfs:label "Interface definition"; rdfs:comment "Formal, machine-interpretable definition of a protocol-specific API, e.g., OpenAPI, GraphQL, API Blueprint, WSDL."@en . idsc:SCHEMA_DEFINITION - a ids:ContentType; + a dct:DCMIType; rdfs:label "Schema definition"; rdfs:comment "Formal, machine-interpretable definition of a data schema, e.g., XMLSchema, JSONSchema"@en . diff --git a/model/content/ContentType.ttl b/model/content/ContentType.ttl deleted file mode 100644 index da3f924c..00000000 --- a/model/content/ContentType.ttl +++ /dev/null @@ -1,16 +0,0 @@ -@prefix owl: . -@prefix rdfs: . -@prefix dct: . -@prefix ids: . -@prefix xsd: . - -# Classes -# ------- - -ids:ContentType - a owl:Class; - rdfs:subClassOf dct:DCMIType ; - rdfs:label "Content type"@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 ; - . - diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index e9cec9b4..8b0673c5 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -3,6 +3,7 @@ @prefix rdfs: . @prefix dct: . @prefix dcat: . +@prefix skos: . @prefix ids: . @prefix xsd: . @@ -35,7 +36,7 @@ ids:contentType a owl:ObjectProperty; rdfs:subPropertyOf dct:type ; rdfs:domain ids:DigitalContent; - rdfs:range ids:ContentType; + rdfs:range dct:DCMIType; rdfs:label "content type"@en; rdfs:comment "Detailed type, genre or interpretation of the Digital Content."@en. diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 1666f8ef..77139a38 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -41,10 +41,10 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path ids:contentType ; - sh:class ids:ContentType ; + sh:class dct:DCMIType ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:contentType property must not have more than one point from an ids:DigitalContent to an ids:ContentType."@en ; + sh:message " (DigitalContentShape): An ids:contentType property must not have more than one point from an ids:DigitalContent to an dct:DCMIType."@en ; ] ; sh:property [ From 47100f6886be23eb1fb8487b1ea3225497bfc36a Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 2 Sep 2021 14:02:05 +0200 Subject: [PATCH 064/288] Remove ids:MediaType, instead use dct:MediaType Remove ids:MediaType, instead use dct:MediaType --- model/communication/Endpoint.ttl | 2 +- model/content/MediaType.ttl | 15 ++++----------- model/content/Representation.ttl | 2 +- testing/communication/EndpointShape.ttl | 4 ++-- testing/content/MediaTypeShape.ttl | 8 ++++---- testing/content/RepresentationShape.ttl | 4 ++-- 6 files changed, 14 insertions(+), 21 deletions(-) diff --git a/model/communication/Endpoint.ttl b/model/communication/Endpoint.ttl index e0434a00..c875a2a2 100644 --- a/model/communication/Endpoint.ttl +++ b/model/communication/Endpoint.ttl @@ -118,7 +118,7 @@ ids:appEndpointPort ids:appEndpointMediaType a owl:ObjectProperty ; rdfs:domain ids:AppEndpoint ; - rdfs:range ids:MediaType ; + rdfs:range dct:MediaType ; rdfs:label "app endpoint media type"@en ; rdfs:comment "Mediatype, such as IANA types, of the data an endpoint expects or returns ."@en ; . diff --git a/model/content/MediaType.ttl b/model/content/MediaType.ttl index a3905eaf..43d423ac 100644 --- a/model/content/MediaType.ttl +++ b/model/content/MediaType.ttl @@ -8,22 +8,15 @@ # Classes # ------- -ids:MediaType - a owl:Class; - rdfs:subClassOf dct:MediaType ; # *not* restricted to IANA media types - rdfs:label "Media Type"@en ; - rdfs:comment "General class of media types (formerly known as MIME types). ids:CustomMediaType is used only when no ids:IANAMediaType available."@en ; - . - ids:CustomMediaType a owl:Class ; - rdfs:subClassOf ids:MediaType; + rdfs:subClassOf dct:MediaType; rdfs:label "Custom Media Type"@en ; rdfs:comment "A selection of custom media types to be used for data published on the IDS when no IANA type is available."@en. ids:IANAMediaType a owl:Class ; - rdfs:subClassOf ids:MediaType; + rdfs:subClassOf dct:MediaType; rdfs:label "IANA Media Type"@en ; rdfs:comment "The class of media types registered with IANA."@en; rdfs:seeAlso ; # authoritative IANA list @@ -38,7 +31,7 @@ ids:IANAMediaType # a owl:DatatypeProperty ; # rdfs:label "magic number"@en ; # rdfs:label "file signature"@en ; -# rdfs:domain ids:MediaType ; +# rdfs:domain dct:MediaType ; # rdfs:range xsd:string ; # rdfs:comment "Alphanumeric sequence (located within a file) used to identify the file format."@en ; # rdfs:seeAlso ; @@ -49,7 +42,7 @@ ids:filenameExtension a owl:DatatypeProperty ; rdfs:label "filename extension"@en ; # rdfs:label "Dateiendung"@de ; - rdfs:domain ids:MediaType ; + rdfs:domain dct:MediaType ; rdfs:range xsd:string ; rdfs:comment "Suffix of a file name, typically separated by a period, indicating the nature and intended processing of the file."@en ; rdfs:seeAlso ; diff --git a/model/content/Representation.ttl b/model/content/Representation.ttl index f1617898..06d89eb1 100644 --- a/model/content/Representation.ttl +++ b/model/content/Representation.ttl @@ -47,7 +47,7 @@ ids:mediaType # consider alternatives: dcterms:FileFormat/dcterms:MediaType etc. rdfs:subPropertyOf dcat:mediaType ; rdfs:domain ids:Representation ; - rdfs:range ids:MediaType ; + rdfs:range dct:MediaType ; rdfs:label "media type"@en ; rdfs:comment "Media Type of the Representation."@en. diff --git a/testing/communication/EndpointShape.ttl b/testing/communication/EndpointShape.ttl index a09105f8..22bb771b 100644 --- a/testing/communication/EndpointShape.ttl +++ b/testing/communication/EndpointShape.ttl @@ -136,10 +136,10 @@ shapes:AppEndpointShape sh:property [ a sh:PropertyShape ; sh:path ids:appEndpointMediaType ; - sh:class ids:MediaType ; + sh:class dct:MediaType ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AppEndpointShape): An ids:appEndpointMediaType property must not have more than one point from an ids:AppEndpoint to an ids:MediaType."@en ; + sh:message " (AppEndpointShape): An ids:appEndpointMediaType property must not have more than one point from an ids:AppEndpoint to an dct:MediaType."@en ; ] ; sh:property [ diff --git a/testing/content/MediaTypeShape.ttl b/testing/content/MediaTypeShape.ttl index 4d78e3d1..1cb91348 100644 --- a/testing/content/MediaTypeShape.ttl +++ b/testing/content/MediaTypeShape.ttl @@ -22,17 +22,17 @@ shapes: shapes:MediaTypeShape a sh:NodeShape ; - sh:targetClass ids:MediaType ; + sh:targetClass dct: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:message " (MediaTypeShape): An dct: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) + FILTER (?type = dct:MediaType) } """ ; ] ; @@ -43,5 +43,5 @@ shapes:MediaTypeShape 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 ; + sh:message " (MediaTypeShape): An ids:filenameExtension property must not have more than one point from an dct:MediaType to an xsd:string."@en ; ] . diff --git a/testing/content/RepresentationShape.ttl b/testing/content/RepresentationShape.ttl index 203c2afa..4272772c 100644 --- a/testing/content/RepresentationShape.ttl +++ b/testing/content/RepresentationShape.ttl @@ -36,10 +36,10 @@ shapes:RepresentationShape sh:property [ a sh:PropertyShape ; sh:path ids:mediaType ; - sh:class ids:MediaType ; + sh:class dct:MediaType ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RepresentationShape): An ids:Representation must not have more than one ids:MediaType linked through the ids:mediaType property"@en ; + sh:message " (RepresentationShape): An ids:Representation must not have more than one dct:MediaType linked through the ids:mediaType property"@en ; ] ; sh:property [ From 0c597cb524fca598c8ab263744ef984291f4c4e8 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 2 Sep 2021 15:55:26 +0200 Subject: [PATCH 065/288] Remove ids:Representation, instead use dcat:Distribution Remove ids:Representation, instead use dcat:Distribution --- docs/sections/crossref-en.html | 2 +- docs/sections/crossref-en_source.html | 2 +- docs/serializations/ontology.json | 4 ++-- docs/serializations/ontology.jsonld | 4 ++-- docs/serializations/ontology.n3 | 4 ++-- docs/serializations/ontology.nt | 4 ++-- docs/serializations/ontology.rdf | 4 ++-- docs/serializations/ontology.ttl | 4 ++-- docs/serializations/ontology.xml | 4 ++-- docs/webvowl/data/ontology.json | 4 ++-- examples/DATA2.ttl | 3 ++- .../README.md | 4 ++-- model/communication/AppRoute.ttl | 2 +- model/content/Asset.ttl | 2 +- model/content/DigitalContent.ttl | 12 ++++++------ model/content/Representation.ttl | 13 +++---------- taxonomies/Representation.ttl | 13 +++++++------ testing/content/RepresentationShape.ttl | 15 ++++++++------- testing/taxonomies/DigitalContentShape.ttl | 10 +++++----- 19 files changed, 53 insertions(+), 57 deletions(-) diff --git a/docs/sections/crossref-en.html b/docs/sections/crossref-en.html index 0aad48ff..fa4a5db7 100644 --- a/docs/sections/crossref-en.html +++ b/docs/sections/crossref-en.html @@ -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 ids:temporalCoverage, 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.
diff --git a/docs/sections/crossref-en_source.html b/docs/sections/crossref-en_source.html index 2670ff95..2691d012 100644 --- a/docs/sections/crossref-en_source.html +++ b/docs/sections/crossref-en_source.html @@ -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
diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 301cc9f4..4213838c 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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", @@ -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 ids:temporalCoverage, 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" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 301cc9f4..4213838c 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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", @@ -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 ids:temporalCoverage, 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" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 756004cf..154a6330 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 ids:temporalCoverage, 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 . @@ -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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index b6e18a49..544cab10 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 ids:temporalCoverage, 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 . . # @@ -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 . diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 6e382242..c60e1be9 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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 ids:temporalCoverage, 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 @@ -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 diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 756004cf..154a6330 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 ids:temporalCoverage, 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 . @@ -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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index 6e382242..c60e1be9 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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 ids:temporalCoverage, 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 @@ -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 diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 363b7e48..8af1f404 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -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", @@ -17591,7 +17591,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 ids:temporalCoverage, 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" diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 091c2dbb..5d8780d6 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -2,6 +2,7 @@ @prefix idsc: . @prefix rdf: . @prefix xsd: . +@prefix dcat: . @prefix conn2: . @prefix data2: . @@ -26,7 +27,7 @@ data2: a ids:Resource ; # Compressed representation of an overall resource snapshot # ids:representation [ - a ids:Representation ; + a dcat:Distribution ; ids:mediaType ; ids:instance data2:tar_gzip_archive ; ] ; diff --git a/examples/domain-specific-semantics-using-SHACL/README.md b/examples/domain-specific-semantics-using-SHACL/README.md index 8227ae38..45f897a0 100644 --- a/examples/domain-specific-semantics-using-SHACL/README.md +++ b/examples/domain-specific-semantics-using-SHACL/README.md @@ -10,11 +10,11 @@ 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 _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 / dcat:Distribution_. ``` ids:shapesGraph ""; diff --git a/model/communication/AppRoute.ttl b/model/communication/AppRoute.ttl index 03c7abd3..dbc702f0 100644 --- a/model/communication/AppRoute.ttl +++ b/model/communication/AppRoute.ttl @@ -77,7 +77,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/content/Asset.ttl b/model/content/Asset.ttl index 72f70916..751ec75a 100644 --- a/model/content/Asset.ttl +++ b/model/content/Asset.ttl @@ -16,7 +16,7 @@ ids:Asset rdfs:subClassOf odrl:Asset ; rdfs:label "Asset"@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; . diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 8b0673c5..4e6be33d 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -77,7 +77,7 @@ ids:representation #rdfs:subPropertyOf dcat:distribution ; # Links to non-materialized part of Distribution rdfs:label "representation"@en; rdfs:domain ids:DigitalContent; - rdfs:range ids:Representation; + rdfs:range dcat:Distribution; rdfs:comment "Representation of the content."@en. ids:defaultRepresentation @@ -85,14 +85,14 @@ ids:defaultRepresentation rdfs:subPropertyOf ids:representation ; rdfs:label "Default representation"@en; rdfs:domain ids:DigitalContent; - rdfs:range ids:Representation; + rdfs:range dcat:Distribution; rdfs:comment "Default representation of the content."@en. ids:language a owl:ObjectProperty; rdfs:subPropertyOf dct:language; rdfs:domain [ rdf:type owl:Class ; - owl:unionOf ( ids:DigitalContent ids:Representation ids:AppEndpoint) + owl:unionOf ( ids:DigitalContent dcat:Distribution ids:AppEndpoint) ] ; rdfs:range ids:Language; # does not fit the defined range of dct:language - dct:LinguisticSystem ! rdfs:label "language"@en; @@ -161,20 +161,20 @@ ids:created rdfs:subPropertyOf dct:issued; rdfs:domain [ owl:unionOf ( ids:DigitalContent - ids:Representation + dcat:Distribution ids:UsageControlObject ) ] ; rdfs:range xsd:dateTimeStamp; rdfs:label "created"@en; rdfs:seeAlso dct:created ; - 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 ids:temporalCoverage, 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. ids:modified a owl:DatatypeProperty; rdfs:subPropertyOf dct:modified; rdfs:domain [ rdf:type owl:Class ; - owl:unionOf ( ids:DigitalContent ids:Representation ids:UsageControlObject) + owl:unionOf ( ids:DigitalContent dcat:Distribution ids:UsageControlObject) ] ; rdfs:range xsd:dateTimeStamp; rdfs:label "modified"@en; diff --git a/model/content/Representation.ttl b/model/content/Representation.ttl index 06d89eb1..322244bb 100644 --- a/model/content/Representation.ttl +++ b/model/content/Representation.ttl @@ -10,13 +10,6 @@ # Classes # ------- -ids:Representation - a owl:Class ; - rdfs:subClassOf ids:Described, ids:DescribedSemantically, ids:Asset, dcat:Distribution;# covers the generalizable parts of a Distribution - rdfs:label "Representation"@en; - rdfs:comment "Syntactic template of a Resource."@en; -. - ids:RepresentationInstance a owl:Class ; rdfs:label "Representation instance"@en; @@ -37,7 +30,7 @@ ids:Value ids:instance a owl:ObjectProperty ; - rdfs:domain ids:Representation ; + 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. @@ -46,7 +39,7 @@ ids:mediaType a owl:ObjectProperty ; # consider alternatives: dcterms:FileFormat/dcterms:MediaType etc. rdfs:subPropertyOf dcat:mediaType ; - rdfs:domain ids:Representation ; + rdfs:domain dcat:Distribution ; rdfs:range dct:MediaType ; rdfs:label "media type"@en ; rdfs:comment "Media Type of the Representation."@en. @@ -55,7 +48,7 @@ ids:mediaType ids:representationStandard a owl:DatatypeProperty ; rdfs:subPropertyOf dct:conformsTo ; - rdfs:domain ids:Representation; + 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. diff --git a/taxonomies/Representation.ttl b/taxonomies/Representation.ttl index b24f864a..29442d9f 100644 --- a/taxonomies/Representation.ttl +++ b/taxonomies/Representation.ttl @@ -1,6 +1,7 @@ @prefix owl: . @prefix rdfs: . @prefix dct: . +@prefix dcat: . @prefix ids: . @prefix xsd: . @@ -11,7 +12,7 @@ ids:DataRepresentation a owl:Class ; - rdfs:subClassOf ids:Representation ; + rdfs:subClassOf dcat:Distribution ; rdfs:label "Data representation"@en ; rdfs:comment "Physical representation of (structured) data."@en . @@ -30,12 +31,12 @@ ids:dataTypeSchema a owl:ObjectProperty ; rdfs:comment "Indicates the data type schema of the Representation."@en . ids:TextRepresentation a owl:Class ; - rdfs:subClassOf ids:Representation ; + rdfs:subClassOf dcat:Distribution ; rdfs:label "Text representation"@en ; rdfs:comment "Representation of a textual content."@en . ids:AudioRepresentation a owl:Class ; - rdfs:subClassOf ids:Representation ; + rdfs:subClassOf dcat:Distribution ; rdfs:label "Audio Representation"@en ; rdfs:comment "Audio representation"@en . @@ -46,7 +47,7 @@ ids:samplingRate a owl:DatatypeProperty ; rdfs:comment "Audio sampling rate."@en . ids:ImageRepresentation a owl:Class ; - rdfs:subClassOf ids:Representation ; + rdfs:subClassOf dcat:Distribution ; rdfs:label "Image Representation"@en ; rdfs:comment "Image representation"@en . @@ -63,7 +64,7 @@ ids:height a owl:DatatypeProperty ; rdfs:comment "Height of the visible frame."@en . ids:VideoRepresentation a owl:Class ; - rdfs:subClassOf ids:Representation ; + rdfs:subClassOf dcat:Distribution ; rdfs:label "Video Representation"@en ; rdfs:comment "Video representation"@en . @@ -74,7 +75,7 @@ ids:frameRate a owl:DatatypeProperty ; rdfs:comment "Video frame rate, as frames/second."@en . ids:SoftwareRepresentation a owl:Class ; - rdfs:subClassOf ids:Representation ; + rdfs:subClassOf dcat:Distribution ; rdfs:label "Software Representation"@en ; rdfs:comment "Software representation"@en . diff --git a/testing/content/RepresentationShape.ttl b/testing/content/RepresentationShape.ttl index 4272772c..847d2189 100644 --- a/testing/content/RepresentationShape.ttl +++ b/testing/content/RepresentationShape.ttl @@ -1,6 +1,7 @@ @prefix owl: . @prefix rdfs: . @prefix dct: . +@prefix dcat: . @prefix rdf: . @prefix xsd: . @prefix ids: . @@ -23,14 +24,14 @@ shapes: shapes:RepresentationShape a sh:NodeShape ; - sh:targetClass ids:Representation ; + 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 an ids:Representation to an ids:RepresentationInstance."@en ; + sh:message " (RepresentationShape): An ids:instance property must point from a dcat:Distribution to an ids:RepresentationInstance."@en ; ] ; sh:property [ @@ -39,7 +40,7 @@ shapes:RepresentationShape sh:class dct:MediaType ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RepresentationShape): An ids:Representation must not have more than one dct:MediaType linked through the ids:mediaType property"@en ; + sh:message " (RepresentationShape): A dcat:Distribution must not have more than one dct:MediaType linked through the ids:mediaType property"@en ; ] ; sh:property [ @@ -48,7 +49,7 @@ shapes:RepresentationShape 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 an ids:Representation to a IRI containing the standard."@en ; + 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 ; ] ; sh:property [ @@ -57,7 +58,7 @@ shapes:RepresentationShape sh:class ids:Language ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RepresentationShape): An ids:language property must point from an ids:Representation to an ids:Language."@en ; + sh:message " (RepresentationShape): An ids:language property must point from a dcat:Distribution to an ids:Language."@en ; ] ; sh:property [ @@ -66,7 +67,7 @@ shapes:RepresentationShape sh:maxCount 1 ; sh:datatype xsd:dateTimeStamp ; sh:severity sh:Violation ; - sh:message " (RepresentationShape): An ids:Representation must have at most one ids:modified attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; + sh:message " (RepresentationShape): An dcat:Distribution must have at most one ids:modified attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; ] ; sh:property [ @@ -75,7 +76,7 @@ shapes:RepresentationShape sh:datatype xsd:dateTimeStamp ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RepresentationShape): An ids:Representation must have at most one ids:created attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; + sh:message " (RepresentationShape): An dcat:Distribution must have at most one ids:created attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; ] ; . diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 77139a38..ab47ff57 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -1,6 +1,6 @@ @prefix dct: . @prefix ids: . - +@prefix dcat: . @prefix owl: . @prefix rdfs: . @prefix xsd: . @@ -58,17 +58,17 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path ids:representation ; - sh:class ids:Representation ; + sh:class dcat:Distribution ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:representation property must point from an ids:DigitalContent to an ids:Representation."@en ; + sh:message " (DigitalContentShape): An ids:representation property must point from an ids:DigitalContent to an dcat:Distribution."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path ids:defaultRepresentation ; - sh:class ids:Representation ; + sh:class dcat:Distribution ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:defaultRepresentation property must point from an ids:DigitalContent to an ids:Representation."@en ; + sh:message " (DigitalContentShape): An ids:defaultRepresentation property must point from an ids:DigitalContent to an dcat:Distribution."@en ; ] ; sh:property [ From 18da06fca099d34a13f59ff129aa465ceb9a483f Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 2 Sep 2021 16:28:15 +0200 Subject: [PATCH 066/288] Remove ids:Asset, instead use odrl:Asset Remove ids:Asset, instead use odrl:Asset --- docs/sections/crossref-en.html | 4 ++-- docs/serializations/ontology.json | 4 ++-- docs/serializations/ontology.jsonld | 4 ++-- docs/serializations/ontology.n3 | 4 ++-- docs/serializations/ontology.nt | 4 ++-- docs/serializations/ontology.rdf | 4 ++-- docs/serializations/ontology.ttl | 4 ++-- docs/serializations/ontology.xml | 4 ++-- docs/webvowl/data/ontology.json | 2 +- model/content/Artifact.ttl | 3 ++- model/content/Asset.ttl | 15 +++------------ model/content/Resource.ttl | 4 +++- model/contract/Rule.ttl | 2 +- testing/content/AssetShape.ttl | 7 ++++--- testing/contract/RuleShape.ttl | 4 ++-- 15 files changed, 32 insertions(+), 37 deletions(-) diff --git a/docs/sections/crossref-en.html b/docs/sections/crossref-en.html index fa4a5db7..f59a1005 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
@@ -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.
diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 4213838c..3c9467b5 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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", @@ -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." diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 4213838c..3c9467b5 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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", @@ -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." diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 154a6330..9f3d651e 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 . @@ -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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index 544cab10..d7bb8178 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 . @@ -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 diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index c60e1be9..c5ff61ad 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 @@ -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 diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 154a6330..9f3d651e 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 . @@ -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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index c60e1be9..c5ff61ad 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 @@ -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 diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 8af1f404..8527af4b 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -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", diff --git a/model/content/Artifact.ttl b/model/content/Artifact.ttl index 883e4bb9..084bfb4c 100644 --- a/model/content/Artifact.ttl +++ b/model/content/Artifact.ttl @@ -3,6 +3,7 @@ @prefix owl: . @prefix rdf: . @prefix rdfs: . +@prefix odrl: . @prefix xsd: . @prefix ids: . @@ -12,7 +13,7 @@ ids:Artifact a owl:Class; - rdfs:subClassOf ids:Asset, ids:RepresentationInstance; # dcat:Distribution partial subclass of dcat:Distribution w.r.t materialization aspects + rdfs:subClassOf odrl:Asset, ids:RepresentationInstance; # dcat:Distribution partial subclass of dcat:Distribution w.r.t materialization aspects rdfs:label "Artifact"@en ; rdfs:comment "Instance of a Representation materialized at a partiuclar version and point in time. Possesses characteristics like file name, size, creation date etc."@en ; owl:disjointWith ids:Value . diff --git a/model/content/Asset.ttl b/model/content/Asset.ttl index 751ec75a..018e2596 100644 --- a/model/content/Asset.ttl +++ b/model/content/Asset.ttl @@ -11,20 +11,11 @@ # Classes # ------- -ids:Asset - a owl:Class; - rdfs:subClassOf odrl:Asset ; - 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; -. - - ids:AssetCollection a owl:Class; - rdfs:subClassOf ids:Asset, odrl:AssetCollection ; + rdfs:subClassOf odrl:Asset, odrl:AssetCollection ; rdfs:label "Asset Collection"@en ; - 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; . @@ -45,5 +36,5 @@ ids:assetSource a owl:ObjectProperty ; # rdfs:label "asset refinement"@en ; # rdfs:domain ids:AssetCollection ; # rdfs:range ids:AbstractConstraint ; -# 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 ; #. diff --git a/model/content/Resource.ttl b/model/content/Resource.ttl index 3767ba3b..a4a4d085 100644 --- a/model/content/Resource.ttl +++ b/model/content/Resource.ttl @@ -6,6 +6,8 @@ @prefix rdf: . @prefix rdfs: . @prefix xsd: . +@prefix odrl: . + # Classes # ------- @@ -13,7 +15,7 @@ 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, ids:Asset ; + 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 ; diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index 1832592d..c5ae7a92 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -74,7 +74,7 @@ ids:assigner rdfs:subPropertyOf odrl:assigner; ids:target a owl:ObjectProperty; rdfs:domain ids:Rule; - rdfs:range ids:Asset; + rdfs:range odrl:Asset; rdfs:label "target"@en; rdfs:comment "The subject of the policy statement (ids:Rule)."@en. diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index d84189d9..0c33241f 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -3,6 +3,7 @@ @prefix owl: . @prefix rdf: . @prefix rdfs: . +@prefix odrl: . @prefix xsd: . @prefix ids: . @@ -24,17 +25,17 @@ shapes: shapes:AssetShape a sh:NodeShape ; - sh:targetClass ids:Asset ; + sh:targetClass odrl:Asset ; sh:sparql [ a sh:SPARQLConstraint ; - sh:message " (AssetShape): An ids:Asset is an abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:message " (AssetShape): An odrl:Asset is an 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:Asset) + FILTER (?type = odrl:Asset) } """ ; ] ; diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 5eca95d4..fba2b7ac 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -79,11 +79,11 @@ shapes:RuleShape sh:path ids:target ; sh:or ( [ sh:nodeKind sh:IRI ; ] - [ sh:class ids:Asset ; ] + [ sh:class odrl:Asset ; ] ); sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:target property must not have more than one point from an ids:Rule to an ids:Asset."@en ; + sh:message " (RuleShape): An ids:target property must not have more than one point from an ids:Rule to an odrl:Asset."@en ; ] ; sh:property [ From 8e503573a40a3b8254dfe4041c2a8b6606cf4af8 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 2 Sep 2021 16:53:54 +0200 Subject: [PATCH 067/288] Remove ids:AssetCollection, instead use odrl:AssetCollection Remove ids:AssetCollection, instead use odrl:AssetCollection --- .../USAGE_CONTROL_OBJECT.ttl | 3 ++- .../TargetTemplates/ASSET_TEMPLATE.jsonld | 6 +++--- .../templates/TargetTemplates/ASSET_TEMPLATE.ttl | 7 ++++--- .../TargetTemplates/AssetTemplateShape.ttl | 5 +++-- model/content/Asset.ttl | 15 ++------------- model/contract/Rule.ttl | 4 ++-- testing/content/AssetShape.ttl | 6 +++--- 7 files changed, 19 insertions(+), 27 deletions(-) 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/TargetTemplates/ASSET_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld index e58750f0..991267c4 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld @@ -7,12 +7,12 @@ { "@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" @@ -26,7 +26,7 @@ } | // or { - "@type": "ids:AssetCollection", + "@type": "odrl:AssetCollection", "ids:assetRefinement": [ { "@type": "ids:LogicalConstraint", // A Collection with more than one condition to describe its members. 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..d6e88ef4 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,12 +18,12 @@ ?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 ; + a odrl: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 @@ -34,7 +35,7 @@ ] | # or [ - a ids:AssetCollection ; + a odrl:AssetCollection ; ids:assetRefinement [ a ids:LogicalConstraint ; # A Collection with more than one condition to describe its members. ?IdsOperand # The operand to connect the constraints, for instance ?IdsOperand := ids:or diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index 4bf3454d..57b1ca52 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,7 +17,7 @@ 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 ; @@ -26,7 +27,7 @@ shapes:AssetTemplateShape ] ; ] [ - 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 ); diff --git a/model/content/Asset.ttl b/model/content/Asset.ttl index 018e2596..7e175df4 100644 --- a/model/content/Asset.ttl +++ b/model/content/Asset.ttl @@ -8,24 +8,13 @@ @prefix xsd: . @prefix odrl: . -# Classes -# ------- - -ids:AssetCollection - a owl:Class; - rdfs:subClassOf odrl:Asset, odrl:AssetCollection ; - rdfs:label "Asset Collection"@en ; - rdfs:comment "An AssetCollection is a bracket object combining several odrl:Asset."@en; -. - - # Properties # ---------- ids:assetSource a owl:ObjectProperty ; rdfs:subPropertyOf odrl:source ; rdfs:label "asset source"@en ; - rdfs:domain ids:AssetCollection ; + rdfs:domain odrl:AssetCollection ; rdfs:range xsd:anyURI ; rdfs:comment "A remote link to the location (PIP) where this AssetCollection and its members are maintained."@en ; . @@ -34,7 +23,7 @@ ids:assetSource a owl:ObjectProperty ; #ids:assetRefinement a owl:ObjectProperty ; # rdfs:subPropertyOf odrl:refinement ; # rdfs:label "asset refinement"@en ; -# rdfs:domain ids:AssetCollection ; +# rdfs:domain odrl:AssetCollection ; # rdfs:range ids:AbstractConstraint ; # rdfs:comment "Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection."@en ; #. diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index c5ae7a92..770bf1c7 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -90,9 +90,9 @@ ids:assetRefinement rdfs:subPropertyOf odrl:refinement ; rdfs:label "content refinement"@en; rdfs:domain [ rdf:type owl:Class ; - owl:unionOf ( ids:Rule ids:AssetCollection)]; + owl:unionOf ( ids:Rule odrl:AssetCollection)]; rdfs:range ids:AbstractConstraint; - rdfs:comment "AssetRefinement define constraints that refine a (composite) Digital Content in an ids:Rule respectively the ids:AssetCollection."@en. + rdfs:comment "AssetRefinement define constraints that refine a (composite) Digital Content in an ids:Rule respectively the odrl:AssetCollection."@en. ids:preDuty rdfs:subPropertyOf odrl:duty; a owl:ObjectProperty; diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index 0c33241f..f208a4e8 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -44,7 +44,7 @@ shapes:AssetShape shapes:AssetCollectionShape a sh:NodeShape ; - sh:targetClass ids:AssetCollection ; + sh:targetClass odrl:AssetCollection ; sh:property [ a sh:PropertyShape ; @@ -52,7 +52,7 @@ shapes:AssetCollectionShape sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AssetCollectionShape): An ids:assetSource property must not have more than one point from an ids:AssetCollection to an IRI."@en ; + sh:message " (AssetCollectionShape): An ids:assetSource property must not have more than one point from an odrl:AssetCollection to an IRI."@en ; ] ; sh:property [ @@ -61,6 +61,6 @@ shapes:AssetCollectionShape sh:class ids:AbstractConstraint ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AssetCollectionShape): An ids:assetRefinement property must not have more than one point from an ids:AssetCollection to an ids:Constraint or ids:LogicalConstraint."@en ; + sh:message " (AssetCollectionShape): An ids:assetRefinement property must not have more than one point from an odrl:AssetCollection to an ids:Constraint or ids:LogicalConstraint."@en ; ] ; . From 945051328bfe20cda915d04ae60defe272a7bc11 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 7 Sep 2021 17:35:02 +0200 Subject: [PATCH 068/288] Remove ids:License, instead use dct:License Remove ids:License, instead use dct:License --- .DS_Store | Bin 6148 -> 6148 bytes .gitignore | 2 ++ examples/TEXT_RESOURCE.jsonld | 5 +++-- model/.DS_Store | Bin 6148 -> 6148 bytes model/governance/License.ttl | 14 -------------- 5 files changed, 5 insertions(+), 16 deletions(-) delete mode 100644 model/governance/License.ttl diff --git a/.DS_Store b/.DS_Store index cb4db93fa1f6212bc7eaedf5636a141e5b155fe5..6f38002bf6f69068efd17e51e20fc37be224e4f5 100644 GIT binary patch delta 20 bcmZoMXffEZl8N2e*iuKq$awPxrVvp8LbnC! delta 20 bcmZoMXffEZl8N2Wz*I-U$Z+!prVvp8LP`bR diff --git a/.gitignore b/.gitignore index 1a7c4e67..725464d1 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ artifacts /catalog-v001.xml *.project model/content/.DS_Store +model/governance/.DS_Store +model/.DS_Store diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index 99d20a0f..1add49a9 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -5,7 +5,8 @@ "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#", + "dct": "http://purl.org/dc/terms/" }, "@type": "ids:TextResource", "@id": "https://connector.fit.fraunhofer.de/autogen/textResource/a1247d97-fa1d-4fb4-b22f-590b2f53fa6e", @@ -42,7 +43,7 @@ } ], "standardLicense": { - "@type": "ids:License", + "@type": "dct:License", "@id": "https://example.org/OTHERCOMMERCIALLICENSE" }, "language": { diff --git a/model/.DS_Store b/model/.DS_Store index 639a3cb995cbea7c6488aaf9ac1c2392dcd5b950..d1d9b87f9ab194ae14288a634931c4985bea7080 100644 GIT binary patch delta 103 zcmZoMXfc@J&&akhU^g=(+ay-G%~~v+Orl&2=?wV{WelkdMGScii9nppkUH6hwV%Vp n*hELc$jD^!K^7-PtjfxQi}G^v^U@g@7#JrO9^K5&@s}R}_-Gl! delta 35 rcmZoMXfc@J&&aYdU^g=(%OqC0%~~v+Op{&N4{dA^V%*Hm@s}R}x_=5~ diff --git a/model/governance/License.ttl b/model/governance/License.ttl deleted file mode 100644 index f8c8f50b..00000000 --- a/model/governance/License.ttl +++ /dev/null @@ -1,14 +0,0 @@ -@prefix owl: . -@prefix rdfs: . -@prefix dct: . -@prefix xsd: . -@prefix ids: . - -# Classes -# ------- - -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. - From 0493addfc0b0b960161aff2f1bef82d10e04a486 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 7 Sep 2021 18:00:49 +0200 Subject: [PATCH 069/288] Remove ids:Instant, instead use time:Instant Remove ids:Instant, instead use time:Instant --- codes/BinaryOperators.ttl | 6 +++--- docs/sections/crossref-en_source.html | 2 +- docs/serializations/ontology.json | 8 ++++---- docs/serializations/ontology.jsonld | 8 ++++---- docs/serializations/ontology.n3 | 8 ++++---- docs/serializations/ontology.nt | 8 ++++---- docs/serializations/ontology.rdf | 8 ++++---- docs/serializations/ontology.ttl | 8 ++++---- docs/serializations/ontology.xml | 8 ++++---- docs/webvowl/data/ontology.json | 8 ++++---- examples/DATA1.ttl | 5 +++-- examples/DATA2.ttl | 4 ++-- examples/TEXT_RESOURCE.jsonld | 9 +++++---- examples/TEXT_RESOURCE.ttl | 6 ++++-- .../main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 5 +++-- .../main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 7 +++++-- model/context/TemporalEntity.ttl | 13 ++++--------- testing/context/TemporalEntityShape.ttl | 12 ++++++------ 18 files changed, 68 insertions(+), 65 deletions(-) diff --git a/codes/BinaryOperators.ttl b/codes/BinaryOperators.ttl index f4d51fc4..b51a7493 100644 --- a/codes/BinaryOperators.ttl +++ b/codes/BinaryOperators.ttl @@ -127,7 +127,7 @@ 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 ; + skos:note "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 ; . @@ -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, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids: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 ; . diff --git a/docs/sections/crossref-en_source.html b/docs/sections/crossref-en_source.html index 2691d012..1ee470c5 100644 --- a/docs/sections/crossref-en_source.html +++ b/docs/sections/crossref-en_source.html @@ -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 3c9467b5..23eff22b 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval." } ] }, { "@id" : "https://w3id.org/idsa/code/CONTINUOUS", @@ -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, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval." } ] }, { "@id" : "https://w3id.org/idsa/code/DV", @@ -6036,7 +6036,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 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", @@ -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" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 3c9467b5..23eff22b 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval." } ] }, { "@id" : "https://w3id.org/idsa/code/CONTINUOUS", @@ -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, ids:Interval or xsd:dateTimeStamp with an instance of ids:Interval. Evaluates to false if compared to a non ids:Interval." } ] }, { "@id" : "https://w3id.org/idsa/code/DV", @@ -6036,7 +6036,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 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", @@ -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" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 9f3d651e..7180a2e8 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -5503,7 +5503,7 @@ owl:Class rdf:type owl:Class . 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 @@ -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 @@ -7334,7 +7334,7 @@ owl:Class rdf:type owl:Class . ### 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 . @@ -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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index d7bb8178..c8adad01 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -4888,7 +4888,7 @@ _:genid47 "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, 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 . @@ -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, 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 . @@ -6271,7 +6271,7 @@ _:genid47 . . - "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 . @@ -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 . . # diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index c5ff61ad..bc9eba76 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -9013,7 +9013,7 @@ 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. @@ -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. @@ -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. @@ -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 diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 9f3d651e..7180a2e8 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -5503,7 +5503,7 @@ owl:Class rdf:type owl:Class . 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 @@ -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 @@ -7334,7 +7334,7 @@ owl:Class rdf:type owl:Class . ### 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 . @@ -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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index c5ff61ad..bc9eba76 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -9013,7 +9013,7 @@ 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. @@ -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. @@ -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. @@ -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 diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 8527af4b..5ee9668a 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -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" : [ { @@ -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" : [ { @@ -12471,7 +12471,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", @@ -18666,7 +18666,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/examples/DATA1.ttl b/examples/DATA1.ttl index 5cd1d35f..10ba2273 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -2,6 +2,7 @@ @prefix idsc: . @prefix rdf: . @prefix xsd: . +@prefix time: . @prefix conn2: . @prefix data1: . @@ -15,11 +16,11 @@ data1: ids:temporalCoverage [ a ids:Interval ; ids:begin [ - a ids:Instant ; + a time:Instant ; ids:dateTime "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; ids:end [ - a ids:Instant ; + a time:Instant; ids:dateTime "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; ] ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 5d8780d6..2eb3118c 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -55,11 +55,11 @@ data2:generic_content ids:temporalCoverage [ a ids:Interval ; ids:begin [ - a ids:Instant ; + a time:Instant ; ids:dateTime "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; ids:end [ - a ids:Instant ; + a time:Instant ; ids:dateTime "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; ] ; diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index 1add49a9..02a7db2e 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -6,6 +6,7 @@ "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#", + "time": "http://www.w3.org/2006/time#", "dct": "http://purl.org/dc/terms/" }, "@type": "ids:TextResource", @@ -27,14 +28,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" @@ -101,14 +102,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" diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 328dad3b..a9f5c89f 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -4,6 +4,8 @@ @prefix xsd: . @prefix conn2: . @prefix data1: . +@prefix time: . + data1: @@ -26,11 +28,11 @@ data1: ids:temporalCoverage [ a ids:Interval ; ids:begin [ - a ids:Instant; + a time:Instant; ids:dateTime "2000-12-01T13:20:00Z"^^xsd:dateTimeStamp; ] ; ids:end [ - a ids:Instant; + a time:Instant; ids:dateTime "2002-12-31T13:20:00Z"^^xsd:dateTimeStamp; ] ; ] ; 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..fd1e4425 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,7 @@ @prefix xsd: . @prefix admingeo: . @prefix interval: . +@prefix time: . @prefix life_expectancy: . @prefix life_expectancy-geo: . @@ -34,9 +35,9 @@ life_expectancy:Resource # Temporal period covered by the content of the resource ids:temporalCoverage [ a ids:Interval ; - ids:begin [a ids:Instant ; + ids:begin [a time:Instant ; ids:dateTime "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; - ids:end [a ids:Instant ; + ids:end [a time:Instant ; ids:dateTime "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; ] ; 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..f33543a0 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 @@ -11,6 +11,9 @@ @prefix interval: . @prefix life_expectancy: . +@prefix time: . + + @prefix sdmx-concept: . @prefix sdmx-dimension: . @prefix sdmx-attribute: . @@ -35,9 +38,9 @@ life_expectancy:Resource # Temporal period covered by the content of the resource ids:temporalCoverage [ a ids:Interval ; - ids:begin [ a ids:Instant ; + ids:begin [ a time:Instant ; ids:dateTime "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; - ids:end [ a ids:Instant ; + ids:end [ a time:Instant ; ids:dateTime "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; ] ; diff --git a/model/context/TemporalEntity.ttl b/model/context/TemporalEntity.ttl index 9e0e6141..b13a2297 100644 --- a/model/context/TemporalEntity.ttl +++ b/model/context/TemporalEntity.ttl @@ -17,11 +17,6 @@ ids:TemporalEntity rdfs:label "TemporalEntity"@en ; rdfs:comment "A temporal interval, instant or a relative duration."@en. -ids:Instant - a owl:Class; - rdfs:subClassOf time:Instant, ids:TemporalEntity ; - rdfs:label "Instant"@en ; - rdfs:comment "A defined point in time with zero duration."@en. ids:Interval a owl:Class; @@ -46,7 +41,7 @@ ids:Frequency ids:dateTime a owl:DatatypeProperty; rdfs:subPropertyOf time:inXSDDateTimeStamp;# time-zone is mandatory - rdfs:domain ids:Instant; + rdfs:domain time:Instant; #rdfs:range xsd:dateTime; rdfs:range xsd:dateTimeStamp; rdfs:label "date time"@en; @@ -58,7 +53,7 @@ ids:begin a owl:ObjectProperty ; rdfs:subPropertyOf time:hasBeginning; rdfs:domain ids:Interval; - rdfs:range ids:Instant; + rdfs:range time:Instant; rdfs:label "beginning"@en; rdfs:comment "Beginning of an Interval."@en. @@ -66,7 +61,7 @@ ids:end a owl:ObjectProperty ; rdfs:subPropertyOf time:hasEnd; rdfs:domain ids:Interval; - rdfs:range ids:Instant; + rdfs:range time:Instant; rdfs:label "end"@en; rdfs:comment "End of an Interval."@en. @@ -76,7 +71,7 @@ ids:hasDuration rdfs:domain ids:TemporalEntity; rdfs:range xsd:duration; rdfs:label "has 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 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. diff --git a/testing/context/TemporalEntityShape.ttl b/testing/context/TemporalEntityShape.ttl index 43e6f8b4..a4afe18d 100644 --- a/testing/context/TemporalEntityShape.ttl +++ b/testing/context/TemporalEntityShape.ttl @@ -37,7 +37,7 @@ shapes:TemporalEntityShape shapes:InstantShape a sh:NodeShape ; - sh:targetClass ids:Instant ; + sh:targetClass time:Instant ; sh:property [ a sh:PropertyShape ; @@ -45,7 +45,7 @@ shapes:InstantShape sh:datatype xsd:dateTimeStamp ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (InstantShape): An ids:dateTime property must not have more than one point from an ids:Instant to an xsd:dateTimeStamp."@en ; + sh:message " (InstantShape): An ids:dateTime property must not have more than one point from an time:Instant to an xsd:dateTimeStamp."@en ; ] . @@ -56,20 +56,20 @@ shapes:IntervalShape sh:property [ a sh:PropertyShape ; sh:path ids:begin ; - sh:class ids:Instant ; + sh:class time:Instant; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (IntervalShape): An ids:begin property must point from an ids:Interval to exactly one ids:Instant."@en ; + sh:message " (IntervalShape): An ids:begin property must point from an ids:Interval to exactly one time:Instant."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path ids:end ; - sh:class ids:Instant ; + sh:class time:Instant ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (IntervalShape): An ids:end property must not have more than one point from an ids:Interval to an ids:Instant."@en ; + sh:message " (IntervalShape): An ids:end property must not have more than one point from an ids:Interval to an time:Instant."@en ; ] . From 948140e819fe19bcb6adbf374ab99d0e7226f3a4 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 7 Sep 2021 18:28:54 +0200 Subject: [PATCH 070/288] Remove ids:Interval, instead use time:Interval Remove ids:Interval, instead use time:Interval --- codes/BinaryOperators.ttl | 18 +++++++++--------- docs/serializations/ontology.json | 20 ++++++++++---------- docs/serializations/ontology.jsonld | 20 ++++++++++---------- docs/serializations/ontology.nt | 20 ++++++++++---------- docs/serializations/ontology.rdf | 20 ++++++++++---------- model/context/TemporalEntity.ttl | 14 +++----------- testing/context/TemporalEntityShape.ttl | 6 +++--- 7 files changed, 55 insertions(+), 63 deletions(-) diff --git a/codes/BinaryOperators.ttl b/codes/BinaryOperators.ttl index b51a7493..030ce6a1 100644 --- a/codes/BinaryOperators.ttl +++ b/codes/BinaryOperators.ttl @@ -127,7 +127,7 @@ 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 time: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 ; . @@ -144,7 +144,7 @@ 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 time: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 @@ -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 ; . diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 23eff22b..38ed081d 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -3452,7 +3452,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@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." + "@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", @@ -3733,7 +3733,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@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." + "@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", @@ -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", @@ -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", @@ -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", diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 23eff22b..912766a4 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -3452,7 +3452,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@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." + "@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", @@ -3733,7 +3733,7 @@ } ], "http://www.w3.org/2004/02/skos/core#note" : [ { "@language" : "en", - "@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." + "@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", @@ -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", @@ -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", @@ -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", diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index c8adad01..9dd24e98 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -4888,7 +4888,7 @@ _:genid47 "contains"@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 . + "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 . @@ -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 time: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 . @@ -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 . @@ -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 . @@ -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 . diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index bc9eba76..5a30432f 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -9013,7 +9013,7 @@ contains - 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. + 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. @@ -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 time: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. @@ -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. @@ -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 @@ -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 diff --git a/model/context/TemporalEntity.ttl b/model/context/TemporalEntity.ttl index b13a2297..666a0798 100644 --- a/model/context/TemporalEntity.ttl +++ b/model/context/TemporalEntity.ttl @@ -17,19 +17,11 @@ ids:TemporalEntity rdfs:label "TemporalEntity"@en ; rdfs:comment "A temporal interval, instant or a relative duration."@en. - -ids:Interval - a owl:Class; - rdfs:subClassOf time:Interval, ids:TemporalEntity, dct:PeriodOfTime ; - rdfs:label "Interval"@en ; - rdfs:comment "A temporal entity with extent or duration, fixed in time (different to ids:DurationEntity)."@en; -. - ids:DurationEntity a owl:Class; rdfs:subClassOf ids:TemporalEntity; rdfs:label "Duration"@en ; - rdfs:comment "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; + rdfs:comment "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."@en; . ids:Frequency @@ -52,7 +44,7 @@ ids:dateTime ids:begin a owl:ObjectProperty ; rdfs:subPropertyOf time:hasBeginning; - rdfs:domain ids:Interval; + rdfs:domain time:Interval; rdfs:range time:Instant; rdfs:label "beginning"@en; rdfs:comment "Beginning of an Interval."@en. @@ -60,7 +52,7 @@ ids:begin ids:end a owl:ObjectProperty ; rdfs:subPropertyOf time:hasEnd; - rdfs:domain ids:Interval; + rdfs:domain time:Interval; rdfs:range time:Instant; rdfs:label "end"@en; rdfs:comment "End of an Interval."@en. diff --git a/testing/context/TemporalEntityShape.ttl b/testing/context/TemporalEntityShape.ttl index a4afe18d..a0fd3444 100644 --- a/testing/context/TemporalEntityShape.ttl +++ b/testing/context/TemporalEntityShape.ttl @@ -51,7 +51,7 @@ shapes:InstantShape shapes:IntervalShape a sh:NodeShape ; - sh:targetClass ids:Interval ; + sh:targetClass time:Interval ; sh:property [ a sh:PropertyShape ; @@ -60,7 +60,7 @@ shapes:IntervalShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (IntervalShape): An ids:begin property must point from an ids:Interval to exactly one time:Instant."@en ; + sh:message " (IntervalShape): An ids:begin property must point from an time:Interval to exactly one time:Instant."@en ; ] ; sh:property [ @@ -69,7 +69,7 @@ shapes:IntervalShape sh:class time:Instant ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (IntervalShape): An ids:end property must not have more than one point from an ids:Interval to an time:Instant."@en ; + sh:message " (IntervalShape): An ids:end property must not have more than one point from an time:Interval to an time:Instant."@en ; ] . From abf05546acf2c1e49c9ec98b96b95c71c63b59bc Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 8 Sep 2021 12:33:03 +0200 Subject: [PATCH 071/288] Remove Event.ttl Instead of ids:Event, use schema:Event --- .DS_Store | Bin 6148 -> 6148 bytes .gitignore | 3 +++ model/.DS_Store | Bin 6148 -> 8196 bytes model/context/Event.ttl | 22 ---------------------- 4 files changed, 3 insertions(+), 22 deletions(-) delete mode 100644 model/context/Event.ttl diff --git a/.DS_Store b/.DS_Store index 6f38002bf6f69068efd17e51e20fc37be224e4f5..b22fc1a48ddb279e5a94d2e4a9337fa11cbbe8e1 100644 GIT binary patch delta 46 zcmZoMXffEJ%EWkbvKmtZmqc~7k%gg-f~CpijZAWkGbdkQl4qQ?`2&+U>t;5NfBXPT Cx(;0c delta 47 zcmZoMXffEJ%EWkTvKmtZw`6s-v9YC&f|0S| DR?`lQ diff --git a/.gitignore b/.gitignore index 725464d1..0dcc609a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,6 @@ artifacts model/content/.DS_Store model/governance/.DS_Store model/.DS_Store +model/.DS_Store +.DS_Store +model/.DS_Store diff --git a/model/.DS_Store b/model/.DS_Store index d1d9b87f9ab194ae14288a634931c4985bea7080..c7976511d85554547d2e6b2c96246802809c7ae8 100644 GIT binary patch delta 174 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aMA$gweCH}hr%jz7$c**Q2SHn1>q zOk$PWti{5~G+CFGhrfcMB&oc(ASow538?MlWDnK`E{W=DBMUDR0sqD+(5z=q-SH{cjn3bGM*q47?>cYfh=Iy9M3a{82}3<5w!pS diff --git a/model/context/Event.ttl b/model/context/Event.ttl deleted file mode 100644 index 893481fa..00000000 --- a/model/context/Event.ttl +++ /dev/null @@ -1,22 +0,0 @@ -@prefix owl: . -@prefix rdfs: . -@prefix schema: . -@prefix ids: . - -@prefix time: . - -# Classes -# ------- - -ids:Event - a owl:Class; - rdfs:subClassOf schema:Event ; - rdfs:label "event"@en ; - rdfs:comment "Named event with a known or unknown temporal location or duration."@en ; - rdfs:seeAlso ; - . - -# Properties for describing events -# -------------------------------- - -# tbc. \ No newline at end of file From cefdaee895e2bded2b14b6fea4dab26c63644988 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 8 Sep 2021 13:21:41 +0200 Subject: [PATCH 072/288] Remove ids:AbstractConstraint, instead use odlr:Constraint Remove ids:AbstractConstraint, instead use odlr:Constraint --- .../templates/TargetTemplates/AssetTemplateShape.ttl | 2 +- model/content/Asset.ttl | 9 --------- model/contract/Constraint.ttl | 10 ++-------- model/contract/Rule.ttl | 4 ++-- model/participant/Participant.ttl | 2 +- testing/content/AssetShape.ttl | 2 +- testing/contract/ConstraintShape.ttl | 6 +++--- testing/contract/RuleShape.ttl | 6 +++--- testing/participant/ParticipantShape.ttl | 2 +- 9 files changed, 14 insertions(+), 29 deletions(-) diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index 57b1ca52..647323dc 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -44,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/model/content/Asset.ttl b/model/content/Asset.ttl index 7e175df4..4d4be463 100644 --- a/model/content/Asset.ttl +++ b/model/content/Asset.ttl @@ -18,12 +18,3 @@ ids:assetSource a owl:ObjectProperty ; rdfs:range xsd:anyURI ; rdfs:comment "A remote link to the location (PIP) where this AssetCollection and its members are maintained."@en ; . - -# united with ids:assetRefinement of the ids:Rule class. -#ids:assetRefinement a owl:ObjectProperty ; -# rdfs:subPropertyOf odrl:refinement ; -# rdfs:label "asset refinement"@en ; -# rdfs:domain odrl:AssetCollection ; -# rdfs:range ids:AbstractConstraint ; -# rdfs:comment "Conditions which specify whether an arbitrary odrl:Asset is a member of this AssetCollection."@en ; -#. diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 50033427..f276b31e 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -10,19 +10,13 @@ # Classes # ------- -ids:AbstractConstraint rdfs:subClassOf odrl:Constraint; - a owl:Class; - rdfs:label "Abstract Constraint"@en; - rdfs:comment "The upper class of Constraints and LogicalConstraints is solely intended as a placholder at the range of IDS Properties."@en; -. - -ids:Constraint rdfs:subClassOf ids:AbstractConstraint ; +ids:Constraint rdfs:subClassOf odrl:Constraint; a owl:Class; rdfs:label "Constraint"@en; rdfs:comment "The class of Constraints that restrict a Rule."@en; . -ids:LogicalConstraint rdfs:subClassOf ids:AbstractConstraint ; +ids:LogicalConstraint rdfs:subClassOf odrl:Constraint ; rdfs:subClassOf odrl:LogicalConstraint; a owl:Class; rdfs:label "Logical Constraint"@en; diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index 770bf1c7..621dcd31 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -82,7 +82,7 @@ ids:constraint rdfs:subPropertyOf odrl:constraint; a owl:ObjectProperty; rdfs:label "constraint"@en; rdfs:domain ids:Rule; - rdfs:range ids:AbstractConstraint; + rdfs:range odrl:Constraint; rdfs:comment "The constraint to be used for a specific rule."@en. ids:assetRefinement @@ -91,7 +91,7 @@ ids:assetRefinement rdfs:label "content refinement"@en; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( ids:Rule odrl:AssetCollection)]; - rdfs:range ids:AbstractConstraint; + rdfs:range odrl:Constraint; rdfs:comment "AssetRefinement define constraints that refine a (composite) Digital Content in an ids:Rule respectively the odrl:AssetCollection."@en. ids:preDuty rdfs:subPropertyOf odrl:duty; diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 801988f2..59fd4665 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -68,7 +68,7 @@ ids:participantRefinement a owl:ObjectProperty; rdfs:label "participant refinment"@en; rdfs:domain ids:Participant ; - rdfs:range ids:AbstractConstraint ; + rdfs:range odrl:Constraint ; rdfs:comment "Conditions which needs to be satisfied that a single Participant can be seen as a member of the subject Participant. For instance, all Participants with their headquarter in Europe might be a potential consumer of GDPR-releated data."@en; . diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index f208a4e8..b2800a55 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -58,7 +58,7 @@ shapes:AssetCollectionShape sh:property [ a sh:PropertyShape ; sh:path ids:assetRefinement ; - sh:class ids:AbstractConstraint ; + sh:class odrl:Constraint ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (AssetCollectionShape): An ids:assetRefinement property must not have more than one point from an odrl:AssetCollection to an ids:Constraint or ids:LogicalConstraint."@en ; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 5e02db59..e402a3ce 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -25,17 +25,17 @@ shapes: shapes:AbstractConstraintShape a sh:NodeShape ; - sh:targetClass ids:AbstractConstraint ; + sh:targetClass odrl:Constraint ; sh:sparql [ a sh:SPARQLConstraint ; - sh:message " (AbstractConstraintShape): An ids:AbstractConstraint is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:message " (AbstractConstraintShape): An odrl:Constraint 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:AbstractConstraint) + FILTER (?type = odrl:Constraint) } """ ; ] ; diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index fba2b7ac..6527c496 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -89,16 +89,16 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; sh:path ids:assetRefinement ; - sh:class ids:AbstractConstraint ; + sh:class odrl:Constraint ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:assetRefinement must not have more than one point from an ids:Rule to an ids:AbstractConstraint."@en ; + sh:message " (RuleShape): An ids:assetRefinement must not have more than one point from an ids:Rule to an odrl:Constraint."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path ids:constraint ; - sh:class ids:AbstractConstraint ; + sh:class odrl:Constraint ; sh:severity sh:Violation ; sh:message " (RuleShape): An ids:constraint property must point from an ids:Rule to an ids:Constraint or ids:LogicalConstraint."@en ; ] . diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 7ed1bb86..c139daae 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -122,7 +122,7 @@ shapes:ParticipantShape sh:property [ a sh:PropertyShape ; sh:path ids:participantRefinement ; - sh:class ids:AbstractConstraint ; + sh:class odrl:Constraint ; sh:severity sh:Violation ; sh:maxCount 1 ; sh:message " (ParticipantShape): At maximum one ids:participantRefinement property must not have more than one point from an ids:Participant to an ids:Constraint or ids:LogicalConstraint."@en ; From 4b03140ba48aa6929fdfecc3d66553a5e6fb383e Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 8 Sep 2021 13:36:31 +0200 Subject: [PATCH 073/288] include prefix for time include prefix for time --- examples/DATA2.ttl | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 2eb3118c..f02a45d8 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -3,6 +3,7 @@ @prefix rdf: . @prefix xsd: . @prefix dcat: . +@prefix time: . @prefix conn2: . @prefix data2: . From 9ba0c3ff4e1195fe7d664a3fbfc8c5aca9550c18 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 8 Sep 2021 15:30:51 +0200 Subject: [PATCH 074/288] Remove ids:LogicalConstraint, instead use odlr:LogicalConstraint Remove ids:LogicalConstraint, instead use odlr:LogicalConstraint --- docs/serializations/ontology.json | 6 +++--- docs/serializations/ontology.jsonld | 6 +++--- docs/serializations/ontology.n3 | 6 +++--- docs/serializations/ontology.nt | 6 +++--- docs/serializations/ontology.rdf | 6 +++--- docs/serializations/ontology.ttl | 6 +++--- docs/serializations/ontology.xml | 6 +++--- docs/webvowl/data/ontology.json | 6 +++--- .../ActionTemplates/ACTION_TEMPLATE.jsonld | 2 +- .../ActionTemplates/ACTION_TEMPLATE.ttl | 3 ++- .../CONSTRAINT_TEMPLATE.jsonld | 2 +- .../CONSTRAINT_TEMPLATE.ttl | 3 ++- .../TEMPORAL_CONSTRAINT_TEMPLATE.ttl | 3 ++- .../PARTICIPANT_TEMPLATE.jsonld | 2 +- .../PARTICIPANT_TEMPLATE.ttl | 3 ++- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 3 ++- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 3 ++- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 3 ++- .../TargetTemplates/ASSET_TEMPLATE.jsonld | 2 +- .../TargetTemplates/ASSET_TEMPLATE.ttl | 2 +- .../TargetTemplates/AssetTemplateShape.ttl | 2 +- model/.DS_Store | Bin 8196 -> 8196 bytes model/contract/Constraint.ttl | 19 ++++++------------ testing/content/AssetShape.ttl | 2 +- testing/contract/ConstraintShape.ttl | 4 ++-- testing/contract/RuleShape.ttl | 2 +- testing/participant/ParticipantShape.ttl | 2 +- 27 files changed, 55 insertions(+), 55 deletions(-) diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 38ed081d..170eb81c 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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 ids:and, ids:or, or ids: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" @@ -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 ids:and, ids:or, or ids: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" @@ -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 ids:and, ids:or, or ids: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 912766a4..a979bbef 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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 ids:and, ids:or, or ids: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" @@ -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 ids:and, ids:or, or ids: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" @@ -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 ids:and, ids:or, or ids: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 7180a2e8..127d590a 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "and operand"@en . @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "or operand"@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 ids:and, ids:or, or ids: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 9dd24e98..5f474dd9 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 ids:and, ids:or, or ids: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 . @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en . "or operand"@en . # "A Permission granted by the Contract."@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 ids:and, ids:or, or ids: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 5a30432f..f6e38626 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! and operand @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! or operand @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! exclusive or diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 7180a2e8..127d590a 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "and operand"@en . @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "or operand"@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 ids:and, ids:or, or ids: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 bc9eba76..f0d9424d 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! and operand @@ -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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! or operand @@ -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 ids:and, ids:or, or ids: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 5ee9668a..db87e5c4 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -15512,7 +15512,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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "476" @@ -16124,7 +16124,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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "560" @@ -18173,7 +18173,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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "801" 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..924e991e 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld @@ -26,7 +26,7 @@ "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" ( 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..bccecea7 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: . @@ -33,7 +34,7 @@ a ids:Action ; ids: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" 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..99387b32 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld @@ -14,7 +14,7 @@ } | // 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" ( 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..726e370b 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: . @@ -24,7 +25,7 @@ ] | # 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$" 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..6d52d218 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: . @@ -35,7 +36,7 @@ ) | # 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. ids: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. [ 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..d14d4ef5 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld @@ -29,7 +29,7 @@ "@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" ( 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..828c5845 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: . @@ -36,7 +37,7 @@ [ 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" 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..c122891b 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: . @@ -25,7 +26,7 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - a ids:LogicalConstraint ; + a odrl:LogicalConstraint ; ids:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; 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..5cdd74b5 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: . @@ -37,7 +38,7 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - a ids:LogicalConstraint ; + a odrl:LogicalConstraint ; ids:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; 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..e737447d 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: . @@ -37,7 +38,7 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - a ids:LogicalConstraint ; + a odrl:LogicalConstraint ; ids:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; 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 991267c4..59a46727 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld @@ -29,7 +29,7 @@ "@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" ( 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 d6e88ef4..b7b2d923 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl @@ -37,7 +37,7 @@ [ a odrl:AssetCollection ; ids:assetRefinement [ - 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 := 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" diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index 647323dc..d2e444b6 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -33,7 +33,7 @@ shapes:AssetTemplateShape sh:or ( ids:or ids:and ids:xone ); ]; sh:minInclusive 2 ; - sh:class ids:LogicalConstraint ; + sh:class odrl:LogicalConstraint ; sh:property [ sh:path ids:assetRefinement ; sh:class ids:Constraint ; diff --git a/model/.DS_Store b/model/.DS_Store index c7976511d85554547d2e6b2c96246802809c7ae8..249e6c5744fbf63041844892662a8a13e5719828 100644 GIT binary patch delta 56 zcmZp1XmOa}&&atkU^hP_=OjV7%~}F{%={b-$qe}nc?=~CMGT1y$(z-M6&N=c$V_3L M*ub-yUE(i00H8k(-T(jq delta 37 tcmZp1XmOa}&&aVcU^hP_$0R|y%~}F{%$p;G`58C6^BiE_%r5bl9RSgx3ef-n diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index f276b31e..36a56f05 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -16,13 +16,6 @@ ids:Constraint rdfs:subClassOf odrl:Constraint; rdfs:comment "The class of Constraints that restrict a Rule."@en; . -ids:LogicalConstraint rdfs:subClassOf odrl:Constraint ; - rdfs:subClassOf odrl:LogicalConstraint; - 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; -. - # Properties # ---------- @@ -72,26 +65,26 @@ ids:pipEndpoint a owl:ObjectProperty; ids:and rdfs:subPropertyOf odrl:and; a owl:ObjectProperty; rdfs:label "and operand"@en ; - rdfs:domain ids:LogicalConstraint; + rdfs:domain odrl:LogicalConstraint; #rdfs:range rdf:List; rdfs:range ids: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 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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; . ids:or rdfs:subPropertyOf odrl:or; a owl:ObjectProperty; rdfs:label "or operand"@en ; - rdfs:domain ids:LogicalConstraint; + rdfs:domain odrl:LogicalConstraint; #rdfs:range rdf:List; rdfs:range ids: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 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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; . ids:xone rdfs:subPropertyOf odrl:xone; a owl:ObjectProperty; rdfs:label "exclusive or"@en ; - rdfs:domain ids:LogicalConstraint; + rdfs:domain odrl:LogicalConstraint; #rdfs:range rdf:List; rdfs:range ids: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 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 ids:and, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; . diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index b2800a55..957c8717 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -61,6 +61,6 @@ shapes:AssetCollectionShape sh:class odrl:Constraint ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AssetCollectionShape): An ids:assetRefinement property must not have more than one point from an odrl:AssetCollection to an ids:Constraint or ids:LogicalConstraint."@en ; + sh:message " (AssetCollectionShape): An ids:assetRefinement property must not have more than one point from an odrl:AssetCollection to an ids:Constraint or odrl:LogicalConstraint."@en ; ] ; . diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index e402a3ce..2e36d9b3 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -112,7 +112,7 @@ shapes:ConstraintShape shapes:LogicalConstraintShape a sh:NodeShape ; - sh:targetClass ids:LogicalConstraint ; + sh:targetClass odrl:LogicalConstraint ; sh:xone ( [ sh:path ids:and ; @@ -136,5 +136,5 @@ shapes:LogicalConstraintShape sh:severity sh:Violation ; ] ) ; - sh:message " (LogicalConstraintShape): Exactly one ids:and, ids:or, or ids:xone property must point from an ids:LogicalConstraint to ids:Constraints."@en ; + sh:message " (LogicalConstraintShape): Exactly one ids:and, ids:or, or ids:xone property must point from an odrl:LogicalConstraint to ids:Constraints."@en ; . diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 6527c496..04704dd4 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -100,7 +100,7 @@ shapes:RuleShape sh:path ids:constraint ; sh:class odrl:Constraint ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:constraint property must point from an ids:Rule to an ids:Constraint or ids:LogicalConstraint."@en ; + sh:message " (RuleShape): An ids:constraint property must point from an ids:Rule to an ids:Constraint or odrl:LogicalConstraint."@en ; ] . diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index c139daae..6ba5d0e5 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -125,7 +125,7 @@ shapes:ParticipantShape sh:class odrl:Constraint ; sh:severity sh:Violation ; sh:maxCount 1 ; - sh:message " (ParticipantShape): At maximum one ids:participantRefinement property must not have more than one point from an ids:Participant to an ids:Constraint or ids:LogicalConstraint."@en ; + sh:message " (ParticipantShape): At maximum one ids:participantRefinement property must not have more than one point from an ids:Participant to an ids:Constraint or odrl:LogicalConstraint."@en ; ] ; . From b6305000159aa3a5885cc7191317dd201dbf5805 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 10:54:36 +0200 Subject: [PATCH 075/288] Remove ids:LeftOperand, instead use odrl:LeftOperand Remove ids:LeftOperand, instead use odrl:LeftOperand --- codes/LeftOperand.ttl | 34 +++++++++++++-------------- examples/TEXT_RESOURCE.jsonld | 5 ++-- model/contract/Constraint.ttl | 2 +- model/contract/LeftOperand.ttl | 12 ++-------- testing/contract/ConstraintShape.ttl | 4 ++-- testing/contract/LeftOperandShape.ttl | 6 ++--- 6 files changed, 28 insertions(+), 35 deletions(-) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 908ca42f..f8d6c53c 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -15,12 +15,12 @@ # business # -------- -idsc:PAYMENT a ids:LeftOperand; +idsc:PAYMENT a odrl:LeftOperand; rdfs:label "payment"@en; rdfs:comment "Monetary payment, without any further sepcification on the type, amount or purpose."@en ; . -idsc:PAY_AMOUNT a ids:LeftOperand; +idsc:PAY_AMOUNT a odrl:LeftOperand; skos:broader odrl:payAmount; ids:broader idsc:PAYMENT ; rdfs:label "payAmount"@en; @@ -30,33 +30,33 @@ idsc:PAY_AMOUNT a ids:LeftOperand; # time # ---- -idsc:POLICY_EVALUATION_TIME a ids:LeftOperand; +idsc:POLICY_EVALUATION_TIME a odrl:LeftOperand; skos:broader odrl:dateTime; rdfs:label "policy evaluation time"@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 ids:TemporalEntity."@en ; . -idsc:ELAPSED_TIME a ids:LeftOperand ; +idsc:ELAPSED_TIME a odrl:LeftOperand ; skos:broader odrl:elapsedTime; rdfs:label "elapsed time"@en ; rdfs:comment "A continuous elapsed time period which may be used for exercising of the action of the Rule. Allowed operators are idsc:SHORTER, idsc:SHORTER_EQ, idsc:LONGER, idsc:LONGER_EQ, and idsc:DURATION_EQ with datatype xsd:duration."@en ; . -idsc:DELAY a ids:LeftOperand ; +idsc:DELAY a odrl:LeftOperand ; rdfs:label "delay"@en ; rdfs:comment "Delay the action. Use idsc:DURATION_EQ, idsc:LONGER, idsc:LONGER_EQ, idsc:SHORTER_EQ, or idsc:SHORTER with datatype xsd:duration."@en ; . # # ----------- -idsc:EVENT a ids:LeftOperand; +idsc:EVENT a odrl:LeftOperand; rdfs:label "current event"@en ; rdfs:comment "The feature dimension regarding whether current events are happening. Does NOT refer 'events' as in real-time data, sensor observations, or Complex Event Processing but rather as 'World Cup 2018' or 'Hannover Trade Fair'."@en ; . # -idsc:STATE a ids:LeftOperand; +idsc:STATE a odrl:LeftOperand; rdfs:label "state"@en ; rdfs:comment "Specifies whether an (external) resource is true/false, active/inactive, has happened/not happened, etc. Operator must be idsc:EQUALS with RightOperands of datatype xsd:anyURI. The referenced URI should point to a (remote) resource which returns a xsd:boolean value."@en ; . @@ -64,7 +64,7 @@ idsc:STATE a ids:LeftOperand; # space # ----- -idsc:ABSOLUTE_SPATIAL_POSITION a ids:LeftOperand ; +idsc:ABSOLUTE_SPATIAL_POSITION a odrl:LeftOperand ; skos:broader odrl:absoluteSpatialPosition ; rdfs:label "Absolute geo-spatial position"@en ; rdfs:comment "The current geospatial position of the *consuming connector*. In case the connector only appears as a virtual entity, the physical location of the hosting server is referenced. Allowed operators are idsc:in. No other spatial operators (close to, north of, etc.) are currently allowed."@en ; @@ -73,13 +73,13 @@ idsc:ABSOLUTE_SPATIAL_POSITION a ids:LeftOperand ; # role-based # ---------- -idsc:USER a ids:LeftOperand ; +idsc:USER a odrl:LeftOperand ; rdfs:label "user"@en ; rdfs:comment "The user of a system at the *consuming connector* requesting access to a resource. Recommended usage for checking whether the user's role is sufficient for his/her desired action. Allowed operators are idsc:MEMBER_OF, idsc:HAS_MEMBERSHIP, idsc:HAS_SITE with a RightOperand referencing a (set of) acceptable organisations (ids:Participant),memberships, sites. Preferred behaviour is that the RightOperand dereferences to an endpoint hosting the required role information."@en ; . # -idsc:PURPOSE a ids:LeftOperand; +idsc:PURPOSE a odrl:LeftOperand; skos:broader odrl:purpose; rdfs:label "purpose"@en ; rdfs:comment "A defined purpose for exercising the action of the Rule. Use with idsc:IN or idsc:SAME_AS and RDF Resources."@en ; @@ -88,18 +88,18 @@ idsc:PURPOSE a ids:LeftOperand; # numeric # ------- -idsc:COUNT a ids:LeftOperand; +idsc:COUNT a odrl:LeftOperand; skos:broader odrl:count; rdfs:label "count"@en ; rdfs:comment "Numeric count of executions of the Rule. Operators can be idsc:LT, idsc:LTEQ, idsc:EQ, idsc:GT, idsc:GTEQ. Datatype is xsd:double."@en ; . -idsc:QUANTITY a ids:LeftOperand; +idsc:QUANTITY a odrl:LeftOperand; rdfs:label "quantity"; rdfs:comment "Quantity limitation for exercising the action of the Rule. Operators can be idsc:LT, idsc:LTEQ, idsc:EQ, idsc:GT, idsc:GTEQ. Datatype is xsd:double." ; . -idsc:RECURRENCE_RATE a ids:LeftOperand; +idsc:RECURRENCE_RATE a odrl:LeftOperand; rdfs:label "recurrence rate"; rdfs:comment "The limit how often exercising the action of the Rule may be possible. Operators can be idsc:LT, idsc:LTEQ, idsc:EQ, idsc:GT, idsc:GTEQ. Datatype is xsd:double."; . @@ -107,12 +107,12 @@ idsc:RECURRENCE_RATE a ids:LeftOperand; # Execution Environment # --------------------- -idsc:SECURITY_LEVEL a ids:LeftOperand; +idsc:SECURITY_LEVEL a odrl:LeftOperand; rdfs:label "security level"; rdfs:comment "The security level the consuming connector must have. Use together with idsc:SAME_AS or idsc:IN. The value decides which attribute dimension is regarded."@en ; . -idsc:SYSTEM a ids:LeftOperand; +idsc:SYSTEM a odrl:LeftOperand; rdfs:label "execution system" ; rdfs:comment "Execution system or execution environment that is used to access the asset under consideration, usually an IDS Connector. The regarded data object should correspond to the IDS Connector class and its attributes. Must be used together with idsc:SAME_AS, idsc:NOT, idsc:HAS_STATE, idsc:IN, idsc:COVERED_BY idsc:INSIDE, idsc:SPATIAL_EQUALS, idsc:DISJOINT, or idsc:INSIDE_NETWORK operators. RightOperandReference must be a URI identifying the target system(s)."@en ; . @@ -120,7 +120,7 @@ idsc:SYSTEM a ids:LeftOperand; # interaction # ----------- -idsc:ENDPOINT a ids:LeftOperand; +idsc:ENDPOINT a odrl:LeftOperand; rdfs:label "endpoint" ; rdfs:comment "Remote target for an action or information provider (PIP). Must be used together with idsc:IS or idsc:IN operators. RightOperand must be a xsd:anyURI or an URL which should point to an actually deployed endpoint. An example is a refinment of idsc:NOTIFY where idsc:REMOTE points to a Clearing House."@en ; . @@ -128,7 +128,7 @@ idsc:ENDPOINT a ids:LeftOperand; # attribute # --------- -idsc:PATH a ids:LeftOperand ; +idsc:PATH a odrl:LeftOperand ; rdfs:label "path to attribute" ; rdfs:comment "Path to specific attribute (default JsonPath). Must be used together with idsc:STRING_EQ, idsc:STRING_CONTAINS, idsc:STRING_IS_CONTAINED, or idsc:MATCHES operators. RightOperand must be a xsd:string."@en ; . diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index 02a7db2e..ae662a74 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -7,6 +7,7 @@ "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "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", @@ -92,7 +93,7 @@ "constraint": { "@type": "ids:Constraint", "leftOperand": { - "@type": "ids:LeftOperand", + "@type": "odrl:LeftOperand", "@id": "https://w3id.org/idsa/code/POLICY_EVALUATION_TIME" }, "operator": { @@ -125,7 +126,7 @@ "constraint": { "@type": "ids:Constraint", "leftOperand": { - "@type": "ids:LeftOperand", + "@type": "odrl:LeftOperand", "@id": "https://w3id.org/idsa/code/PAY_AMOUNT" }, diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 36a56f05..79382e3e 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -24,7 +24,7 @@ ids:leftOperand rdfs:subPropertyOf odrl:leftOperand; rdfs:label "leftOperand"@en ; rdfs:domain ids:Constraint; - rdfs:range ids:LeftOperand ; + rdfs:range odrl:LeftOperand ; rdfs:comment "The left operand in a constraint expression."@en. ids:operator rdfs:subPropertyOf odrl:operator; diff --git a/model/contract/LeftOperand.ttl b/model/contract/LeftOperand.ttl index b71d1030..8a6b29bc 100644 --- a/model/contract/LeftOperand.ttl +++ b/model/contract/LeftOperand.ttl @@ -7,14 +7,6 @@ @prefix skos: . -# Classes -# ------- - -ids:LeftOperand rdfs:subClassOf odrl:LeftOperand; - a owl:Class; - rdfs:label "LeftOperand"@en; - rdfs:comment "Instances of the LeftOperand class are used as the leftOperand of a Constraint."@en. - # Properties # ---------- @@ -23,7 +15,7 @@ ids:broader skos:broader odrl:includedIn ; rdfs:seeAlso ; rdfs:label "broader LeftOperand"@en; - rdfs:domain ids:LeftOperand; - rdfs:range ids:LeftOperand; + rdfs:domain odrl:LeftOperand; + rdfs:range odrl:LeftOperand; rdfs:comment "This LeftOperand is transitively included in the object LeftOperand."@en ; . diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 2e36d9b3..d8db787e 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -49,11 +49,11 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; sh:path ids:leftOperand ; - sh:class ids:LeftOperand ; + sh:class odrl:LeftOperand ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:Constraint must have exactly one ids:LeftOperand linked through the ids:leftOperand property"@en ; + sh:message " (ConstraintShape): An ids:Constraint must have exactly one odrl:LeftOperand linked through the ids:leftOperand property"@en ; ] ; sh:property [ diff --git a/testing/contract/LeftOperandShape.ttl b/testing/contract/LeftOperandShape.ttl index ffa55bbb..de58af68 100644 --- a/testing/contract/LeftOperandShape.ttl +++ b/testing/contract/LeftOperandShape.ttl @@ -25,14 +25,14 @@ shapes: shapes:LeftOperandShape a sh:NodeShape ; - sh:targetClass ids:LeftOperand ; + sh:targetClass odrl:LeftOperand ; sh:property [ a sh:PropertyShape ; sh:path ids:broader ; - sh:class ids:LeftOperand ; + sh:class odrl:LeftOperand ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (LeftOperandShape): An ids:broader must not have more than one point from an ids:LeftOperand to an ids:LeftOperand."@en ; + sh:message " (LeftOperandShape): An ids:broader must not have more than one point from an odrl:LeftOperand to an odrl:LeftOperand."@en ; ] ; . From 52ddd57b1536fdb979517c16541d2e0036aa2880 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 11:16:10 +0200 Subject: [PATCH 076/288] Remove ids:Rule, instead use odrl:Rule Remove ids:Rule, instead use odrl:Rule --- docs/serializations/ontology.json | 2 +- docs/serializations/ontology.jsonld | 2 +- docs/serializations/ontology.n3 | 2 +- docs/serializations/ontology.nt | 2 +- docs/serializations/ontology.rdf | 2 +- docs/serializations/ontology.ttl | 2 +- docs/serializations/ontology.xml | 2 +- docs/webvowl/data/ontology.json | 2 +- model/content/UsageControlObject.ttl | 8 ------- model/contract/Rule.ttl | 35 +++++++++------------------- testing/contract/RuleShape.ttl | 18 +++++++------- 11 files changed, 28 insertions(+), 49 deletions(-) diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 170eb81c..e1999886 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index a979bbef..bee3385d 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 127d590a..4682dc7d 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index 5f474dd9..b7ccdd2a 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 . diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index f6e38626..4824160c 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -14527,7 +14527,7 @@ sovereign - The subject of the policy statement (ids:Rule). + The subject of the policy statement (odrl:Rule). target diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 127d590a..4682dc7d 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index f0d9424d..d12b0d16 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -14527,7 +14527,7 @@ sovereign - The subject of the policy statement (ids:Rule). + The subject of the policy statement (odrl:Rule). target diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index db87e5c4..5f72832f 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -17998,7 +17998,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" 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/Rule.ttl b/model/contract/Rule.ttl index 621dcd31..81b98fdb 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -10,28 +10,21 @@ # Classes # ------- -ids:Rule - a owl:Class; - rdfs:subClassOf ids:Described, odrl:Rule; - - rdfs:label "Rule"@en; - rdfs:comment "Superclass of Permissions, Prohibitions and Duties."@en; -. -ids:Permission rdfs:subClassOf ids:Rule; +ids:Permission rdfs:subClassOf odrl:Rule; rdfs:subClassOf odrl:Permission; a owl:Class; rdfs:label "Permission"@en; rdfs:comment "The class of Permissions as defined in the ODRL ontology."@en; . -ids:Prohibition rdfs:subClassOf ids:Rule; +ids:Prohibition rdfs:subClassOf odrl:Rule; rdfs:subClassOf odrl:Prohibition; a owl:Class; rdfs:label "Prohibition"@en; rdfs:comment "The class of Prohibitions as defined in the ODRL ontology."@en. -ids:Duty rdfs:subClassOf ids:Rule; +ids:Duty rdfs:subClassOf odrl:Rule; rdfs:subClassOf odrl:Duty; a owl:Class; rdfs:label "Duty"@en; @@ -46,42 +39,36 @@ ids:action a owl:ObjectProperty; rdfs:label "action"@en; rdfs:domain [ rdf:type owl:Class ; - owl:unionOf ( ids:Rule ids:UsageControlObject)] ; + owl:unionOf ( odrl:Rule ids:UsageControlObject)] ; rdfs:range ids:Action; rdfs:comment "The operation relating to the asset / data object. "@en. ids:assignee rdfs:subPropertyOf odrl:assignee; a owl:ObjectProperty; - rdfs:domain ids:Rule; + rdfs:domain odrl:Rule; rdfs:range ids:Participant; rdfs:label "assignee"@en; rdfs:comment "The recipient of the policy statement."@en. -# "all X but ..." -# ids:useAssigneeComplement a owl:DatatypeProperty; -# rdfs:label "useAssigneeComplement"@en; -# rdfs:domain ids:Rule; -# rdfs:range xsd:boolean; -# rdfs:comment "When set to true, Assignees are all Participants that are not explicitly provided."@en. ids:assigner rdfs:subPropertyOf odrl:assigner; a owl:ObjectProperty; - rdfs:domain ids:Rule; + rdfs:domain odrl:Rule; rdfs:range ids:Participant; rdfs:label "assigner"@en; rdfs:comment "The issuer of the policy statement."@en. ids:target a owl:ObjectProperty; - rdfs:domain ids:Rule; + rdfs:domain odrl:Rule; rdfs:range odrl:Asset; rdfs:label "target"@en; - rdfs:comment "The subject of the policy statement (ids:Rule)."@en. + rdfs:comment "The subject of the policy statement (odrl:Rule)."@en. ids:constraint rdfs:subPropertyOf odrl:constraint; a owl:ObjectProperty; rdfs:label "constraint"@en; - rdfs:domain ids:Rule; + rdfs:domain odrl:Rule; rdfs:range odrl:Constraint; rdfs:comment "The constraint to be used for a specific rule."@en. @@ -90,9 +77,9 @@ ids:assetRefinement rdfs:subPropertyOf odrl:refinement ; rdfs:label "content refinement"@en; rdfs:domain [ rdf:type owl:Class ; - owl:unionOf ( ids:Rule odrl:AssetCollection)]; + owl:unionOf ( odrl:Rule odrl:AssetCollection)]; rdfs:range odrl:Constraint; - rdfs:comment "AssetRefinement define constraints that refine a (composite) Digital Content in an ids:Rule respectively the odrl:AssetCollection."@en. + rdfs:comment "AssetRefinement define constraints that refine a (composite) Digital Content in an odrl:Rule respectively the odrl:AssetCollection."@en. ids:preDuty rdfs:subPropertyOf odrl:duty; a owl:ObjectProperty; diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 04704dd4..4bd42930 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -24,17 +24,17 @@ shapes: shapes:RuleShape a sh:NodeShape ; - sh:targetClass ids:Rule ; + sh:targetClass odrl:Rule ; sh:sparql [ a sh:SPARQLConstraint ; - sh:message " (RuleShape): An ids:Rule is a abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:message " (RuleShape): An odrl:Rule 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:Rule) + FILTER (?type = odrl:Rule) } """ ; ] ; @@ -45,7 +45,7 @@ shapes:RuleShape sh:class ids:Action ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:Rule must have at least one ids:Action linked through the ids:action property"@en ; + sh:message " (RuleShape): An odrl:Rule must have at least one ids:Action linked through the ids:action property"@en ; ] ; sh:property [ @@ -58,7 +58,7 @@ shapes:RuleShape sh:minCount 0 ; #sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:Rule must have at maximum one ids:Participant linked through the ids:assignee property."@en ; + sh:message " (RuleShape): An odrl:Rule must have at maximum one ids:Participant linked through the ids:assignee property."@en ; ] ; sh:property [ @@ -71,7 +71,7 @@ shapes:RuleShape sh:minCount 0 ; #sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:Rule must have at maximum one ids:Participant linked through the ids:assigner property"@en ; + sh:message " (RuleShape): An odrl:Rule must have at maximum one ids:Participant linked through the ids:assigner property"@en ; ] ; sh:property [ @@ -83,7 +83,7 @@ shapes:RuleShape ); sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:target property must not have more than one point from an ids:Rule to an odrl:Asset."@en ; + sh:message " (RuleShape): An ids:target property must not have more than one point from an odrl:Rule to an odrl:Asset."@en ; ] ; sh:property [ @@ -92,7 +92,7 @@ shapes:RuleShape sh:class odrl:Constraint ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:assetRefinement must not have more than one point from an ids:Rule to an odrl:Constraint."@en ; + sh:message " (RuleShape): An ids:assetRefinement must not have more than one point from an odrl:Rule to an odrl:Constraint."@en ; ] ; sh:property [ @@ -100,7 +100,7 @@ shapes:RuleShape sh:path ids:constraint ; sh:class odrl:Constraint ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:constraint property must point from an ids:Rule to an ids:Constraint or odrl:LogicalConstraint."@en ; + sh:message " (RuleShape): An ids:constraint property must point from an odrl:Rule to an ids:Constraint or odrl:LogicalConstraint."@en ; ] . From de7c5d290e29727d03d78e203619ae3dff889a49 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 12:02:57 +0200 Subject: [PATCH 077/288] Remove ids:Permission, instead use odrl:Permission Remove ids:Permission, instead use odrl:Permission --- examples/DATA1.ttl | 3 ++- examples/DATA2.ttl | 3 ++- examples/TEXT_RESOURCE.jsonld | 2 +- examples/TEXT_RESOURCE.ttl | 4 +++- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 3 ++- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 3 ++- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 3 ++- .../DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl | 3 ++- .../DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl | 3 ++- .../DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl | 3 ++- .../EVENT_AGREEMENT_TEMPLATE.ttl | 3 ++- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 3 ++- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 3 ++- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 3 ++- .../N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 3 ++- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 3 ++- .../AGREEMENT_PERMISSION_TEMPLATE.ttl | 3 ++- .../OFFER_PERMISSION_TEMPLATE.ttl | 3 ++- .../REQUEST_PERMISSION_TEMPLATE.ttl | 3 ++- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 3 ++- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 3 ++- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 3 ++- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 3 ++- .../RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 3 ++- .../RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 3 ++- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 3 ++- .../ROLEBASED_OFFER_TEMPLATE.ttl | 3 ++- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 3 ++- .../SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 3 ++- .../SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 3 ++- .../SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 3 ++- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 2 +- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 3 ++- .../SPATIAL_OFFER_TEMPLATE.ttl | 3 ++- .../SPATIAL_REQUEST_TEMPLATE.ttl | 3 ++- .../SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl | 5 +++-- .../templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl | 5 +++-- .../SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl | 5 +++-- .../DURATION_AGREEMENT_TEMPLATE.ttl | 3 ++- .../DURATION_OFFER_TEMPLATE.ttl | 3 ++- .../DURATION_REQUEST_TEMPLATE.ttl | 3 ++- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 3 ++- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 3 ++- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 3 ++- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl | 3 ++- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl | 3 ++- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl | 3 ++- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 3 ++- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 3 ++- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 3 ++- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl | 3 ++- .../USAGE_LOGGING_OFFER_TEMPLATE.ttl | 3 ++- .../USAGE_LOGGING_REQUEST_TEMPLATE.ttl | 3 ++- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 3 ++- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 3 ++- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 3 ++- .../TEMP_RESOURCE.ttl | 3 ++- model/contract/Contract.ttl | 2 +- model/contract/Rule.ttl | 12 ++---------- testing/contract/ContractShape.ttl | 4 ++-- testing/contract/RuleShape.ttl | 6 +++--- 63 files changed, 126 insertions(+), 78 deletions(-) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 10ba2273..ffd6984b 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -3,6 +3,7 @@ @prefix rdf: . @prefix xsd: . @prefix time: . +@prefix odrl: . @prefix conn2: . @prefix data1: . @@ -69,7 +70,7 @@ data1:report_doc data1:offer a ids:ContractOffer ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; ids:assigner part1: ; # individual target(s) ids:target data1: ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index f02a45d8..c47fa738 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -4,6 +4,7 @@ @prefix xsd: . @prefix dcat: . @prefix time: . +@prefix odrl: . @prefix conn2: . @prefix data2: . @@ -100,7 +101,7 @@ data2: a ids:ContractOffer ; ids:provider part1: ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; ids:assigner part1: ; ids:target data2:generic_content ; # i.e. applies to any artifact / instance of given content ids:action idsc:USE ; diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index ae662a74..5d9675f9 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -83,7 +83,7 @@ "provider": {"@id": ""}, "contractDocument": {"@id": ""}, "permission": [{ - "@type": "ids:Permission", + "@type": "odrl:Permission", "action": { "@type": "ids:Action", "@id": "https://w3id.org/idsa/code/USE" diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index a9f5c89f..6a7f7228 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -5,6 +5,8 @@ @prefix conn2: . @prefix data1: . @prefix time: . +@prefix odrl: . + @@ -103,7 +105,7 @@ data1:offer ids:provider ; ids:contractDocument _:contractReource; ids:permission [ - a ids:Permission; + a odrl:Permission; ids:assigner ; # individual target(s) 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..9d5d2776 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: . @@ -20,7 +21,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..1ba30699 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: . @@ -26,7 +27,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..3330f619 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: . @@ -26,7 +27,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..c4d0f95e 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: . @@ -20,7 +21,7 @@ idsc:DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE a ids:DistributeEcryptedAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..489590c6 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: . @@ -26,7 +27,7 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..cddab33c 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: . @@ -26,7 +27,7 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..95bdbac0 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: . @@ -19,7 +20,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..eae7077b 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: . @@ -25,7 +26,7 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..ccda423c 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: . @@ -25,7 +26,7 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..23f221e6 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: . @@ -19,7 +20,7 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..ef861ae0 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: . @@ -25,7 +26,7 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..35fc0808 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: . @@ -25,7 +26,7 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..67888d31 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,13 +5,14 @@ @prefix xsd: . @prefix skos: . @prefix spin: . +@prefix odrl: . @prefix ids: . @prefix idsc: . # Template # -------- -idsc:AGREEMENT_PERMISSION_TEMPLATE a ids:Permission ; +idsc:AGREEMENT_PERMISSION_TEMPLATE a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; ids:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; # A Permission has a target Asset. 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..05e90a6d 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,13 +5,14 @@ @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 ;) | # or 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..a1466d29 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,13 +5,14 @@ @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 ;) | # or 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..56408f06 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: . @@ -20,7 +21,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; ids:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; 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..9d6a3ea6 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: . @@ -26,7 +27,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..1a6c7910 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: . @@ -26,7 +27,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..d5278808 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: . @@ -20,7 +21,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..96d31f8a 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: . @@ -26,7 +27,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..7131e528 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: . @@ -26,7 +27,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..ea8e6d95 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: . @@ -20,7 +21,7 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..9fe79856 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: . @@ -26,7 +27,7 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..4a3bba4a 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: . @@ -26,7 +27,7 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..37cd41f5 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: . @@ -20,7 +21,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..b8bad7f8 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: . @@ -26,7 +27,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..defb09e8 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: . @@ -26,7 +27,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 c122891b..af0defae 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 @@ -20,7 +20,7 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; ids:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; 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 5cdd74b5..aa709843 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 @@ -26,7 +26,7 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 e737447d..d6e4f2d2 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 @@ -26,7 +26,7 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # 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..1feea9e1 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: . @@ -19,7 +20,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..5ff98fe3 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: . @@ -25,7 +26,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # 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..6a9d5a9f 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: . @@ -26,7 +27,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..8fc64b88 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: . @@ -20,7 +21,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 @@ -30,7 +31,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 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..ab5783a7 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: . @@ -26,7 +27,7 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or @@ -42,7 +43,7 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or 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..fd657f81 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: . @@ -26,7 +27,7 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or @@ -42,7 +43,7 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ( ids:postDuty idsc:OBLIGATION_TEMPLATE ; )* # zero or more Obligations which have to be fulfilled after the Usage event ] ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or 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..9a527d9b 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: . @@ -19,7 +20,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..150d4484 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: . @@ -26,7 +27,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..efd6bee3 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: . @@ -26,7 +27,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..9a527d9b 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: . @@ -19,7 +20,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..150d4484 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: . @@ -26,7 +27,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..efd6bee3 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: . @@ -26,7 +27,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..c80f4cdf 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: . @@ -20,7 +21,7 @@ idsc:USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE a ids:IntervalUsageAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..53360a96 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: . @@ -26,7 +27,7 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..f42224d9 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: . @@ -26,7 +27,7 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..cca7657e 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: . @@ -20,7 +21,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..b36c77a9 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: . @@ -26,7 +27,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..4555dd01 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: . @@ -26,7 +27,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..83cd9bb1 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: . @@ -20,7 +21,7 @@ idsc:USAGE_LOGGING_AGREEMENT_TEMPLATE a ids:LoggingAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; 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 ; 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..d4ea9864 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: . @@ -26,7 +27,7 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..6c4ea737 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: . @@ -26,7 +27,7 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..b2e12168 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: . @@ -20,7 +21,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ - a ids:Permission ; + a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; ids:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; 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..5f83b672 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: . @@ -26,7 +27,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..ff55344a 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: . @@ -26,7 +27,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) ids:permission [ - a ids:Permission ; + a odrl:Permission ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 995c76bd..5dcff91b 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -4,6 +4,7 @@ @prefix xsd: . @prefix rdf: . @prefix xsd: . +@prefix odrl: . @prefix conn1: . @prefix sample_Data: . @@ -71,7 +72,7 @@ sample_Data: # 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 ; + a odrl:Permission ; # Specify permission ids:action idsc:USE ; diff --git a/model/contract/Contract.ttl b/model/contract/Contract.ttl index 19b7438d..69dc227a 100644 --- a/model/contract/Contract.ttl +++ b/model/contract/Contract.ttl @@ -95,7 +95,7 @@ ids:permission rdfs:subPropertyOf odrl:permission; a owl:ObjectProperty; rdfs:label "permission"@en; rdfs:domain ids:Contract; - rdfs:range ids:Permission; + rdfs:range odrl:Permission; rdfs:comment "A Permission granted by the Contract."@en. ids:prohibition rdfs:subPropertyOf odrl:prohibition; diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index 81b98fdb..b0b65d85 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -10,14 +10,6 @@ # Classes # ------- - -ids:Permission rdfs:subClassOf odrl:Rule; - rdfs:subClassOf odrl:Permission; - a owl:Class; - rdfs:label "Permission"@en; - rdfs:comment "The class of Permissions as defined in the ODRL ontology."@en; -. - ids:Prohibition rdfs:subClassOf odrl:Rule; rdfs:subClassOf odrl:Prohibition; a owl:Class; @@ -84,13 +76,13 @@ ids:assetRefinement ids:preDuty rdfs:subPropertyOf odrl:duty; a owl:ObjectProperty; rdfs:label "pre-duty"@en; - rdfs:domain ids:Permission; + rdfs:domain odrl:Permission; rdfs:range ids:Duty; rdfs:comment "A Duty imposed by the Rule, which must be executed before the Rule."@en. ids:postDuty rdfs:subPropertyOf odrl:duty; a owl:ObjectProperty; rdfs:label "post-duty"@en; - rdfs:domain ids:Permission; + rdfs:domain odrl:Permission; rdfs:range ids:Duty; rdfs:comment "A Duty imposed by the Rule, which must be executed after the Rule."@en. diff --git a/testing/contract/ContractShape.ttl b/testing/contract/ContractShape.ttl index 68e97f7e..2803b070 100644 --- a/testing/contract/ContractShape.ttl +++ b/testing/contract/ContractShape.ttl @@ -110,9 +110,9 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; sh:path ids:permission ; - sh:class ids:Permission ; + sh:class odrl:Permission ; sh:severity sh:Violation ; - sh:message " (ContractShape): An ids:permission property must point from an ids:Contract to an ids:Permission."@en ; + sh:message " (ContractShape): An ids:permission property must point from an ids:Contract to an odrl:Permission."@en ; ] ; sh:property [ diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 4bd42930..898e9c25 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -106,14 +106,14 @@ shapes:RuleShape shapes:PermissionShape a sh:NodeShape ; - sh:targetClass ids:Permission ; + sh:targetClass odrl:Permission ; sh:property [ a sh:PropertyShape ; sh:path ids:preDuty ; sh:class ids:Duty ; sh:severity sh:Violation ; - sh:message " (PermissionShape): An ids:preDuty property must point from an ids:Permission to an ids:Duty."@en ; + sh:message " (PermissionShape): An ids:preDuty property must point from an odrl:Permission to an ids:Duty."@en ; ] ; sh:property [ @@ -121,7 +121,7 @@ shapes:PermissionShape sh:path ids:postDuty ; sh:class ids:Duty ; sh:severity sh:Violation ; - sh:message " (PermissionShape): An ids:postDuty property must point from an ids:Permission to an ids:Duty."@en ; + sh:message " (PermissionShape): An ids:postDuty property must point from an odrl:Permission to an ids:Duty."@en ; ] . From 570f39a6a6d360011862ff752d78fa127b5f024e Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 12:27:52 +0200 Subject: [PATCH 078/288] Remove ids:Prohibition, instead use odrl:Prohibition Remove ids:Prohibition, instead use odrl:Prohibition --- model/contract/Contract.ttl | 2 +- model/contract/Rule.ttl | 6 ------ testing/contract/ContractShape.ttl | 4 ++-- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/model/contract/Contract.ttl b/model/contract/Contract.ttl index 69dc227a..13ebdfd9 100644 --- a/model/contract/Contract.ttl +++ b/model/contract/Contract.ttl @@ -102,7 +102,7 @@ ids:prohibition rdfs:subPropertyOf odrl:prohibition; a owl:ObjectProperty; rdfs:label "prohibition"@en; rdfs:domain ids:Contract; - rdfs:range ids:Prohibition; + rdfs:range odrl:Prohibition; rdfs:comment "A Prohibition imposed by the Contract."@en. ids:obligation rdfs:subPropertyOf odrl:obligation; diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index b0b65d85..31ba2324 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -10,12 +10,6 @@ # Classes # ------- -ids:Prohibition rdfs:subClassOf odrl:Rule; - rdfs:subClassOf odrl:Prohibition; - a owl:Class; - rdfs:label "Prohibition"@en; - rdfs:comment "The class of Prohibitions as defined in the ODRL ontology."@en. - ids:Duty rdfs:subClassOf odrl:Rule; rdfs:subClassOf odrl:Duty; a owl:Class; diff --git a/testing/contract/ContractShape.ttl b/testing/contract/ContractShape.ttl index 2803b070..e6d0af4f 100644 --- a/testing/contract/ContractShape.ttl +++ b/testing/contract/ContractShape.ttl @@ -126,9 +126,9 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; sh:path ids:prohibition ; - sh:class ids:Prohibition ; + sh:class odrl:Prohibition ; sh:severity sh:Violation ; - sh:message " (ContractShape): An ids:prohibition must point from an ids:Contract to an ids:Prohibition."@en ; + sh:message " (ContractShape): An ids:prohibition must point from an ids:Contract to an odrl:Prohibition."@en ; ] . From c288d6607f32c3b06b4eb4f8f9d34c8b808d5a0b Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 12:49:01 +0200 Subject: [PATCH 079/288] Remove ids:Duty, instead use odrl:Duty Remove ids:Duty, instead use odrl:Duty --- examples/DATA1.ttl | 2 +- examples/TEXT_RESOURCE.jsonld | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl | 2 +- .../ObligationTemplates/OBLIGATION_TEMPLATE.ttl | 3 ++- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_LOGGING_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_LOGGING_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- model/contract/Contract.ttl | 2 +- model/contract/Rule.ttl | 15 ++------------- testing/contract/ContractShape.ttl | 4 ++-- testing/contract/RuleShape.ttl | 13 ++++--------- 26 files changed, 32 insertions(+), 47 deletions(-) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index ffd6984b..8b12da21 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -77,7 +77,7 @@ data1:offer ids:action idsc:USE ; # Obligation ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ids:action idsc:COMPENSATE ; ids:constraint [ a ids:Constraint ; diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index 5d9675f9..945ae632 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -119,7 +119,7 @@ } }, "preObligation": { - "@type": "ids:Duty", + "@type": "odrl:Duty", "action": { "@id": "https://w3id.org/idsa/code/COMPENSATE" }, diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 6a7f7228..7a88257b 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -113,7 +113,7 @@ data1:offer ids:action idsc:USE ; # Obligation ids:preDuty [ - a ids:Duty; + a odrl:Duty; ids:action idsc:COMPENSATE ; ids:constraint [ a ids:Constraint; 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 c4d0f95e..d2438394 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 @@ -27,7 +27,7 @@ idsc:DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE a ids:DistributeEcryptedAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:DISTRIBUTE ; ids:preDuty [ - a ids:Duty ; + a odrl: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 ; 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 489590c6..d7c3ed3e 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 @@ -39,7 +39,7 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:DISTRIBUTE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 cddab33c..404453d8 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 @@ -39,7 +39,7 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:DISTRIBUTE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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..6fe1f99e 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,7 +14,7 @@ # 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 ; +idsc:OBLIGATION_TEMPLATE a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; ids:assignee idsc:PARTICIPANT_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 d5278808..b41b2680 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 @@ -34,7 +34,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ( 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 ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ 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 96d31f8a..11e84952 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 @@ -46,7 +46,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ( 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 | # or 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 7131e528..cff78864 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 @@ -46,7 +46,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ( 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 | # or 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 37cd41f5..c7bb1548 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 @@ -27,7 +27,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ 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 b8bad7f8..b4eb836e 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 @@ -39,7 +39,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 defb09e8..d519cb37 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 @@ -39,7 +39,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:preDuty [ - a ids:Duty ; + a odrl:Duty ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 cca7657e..7dd1143d 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 @@ -37,7 +37,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ 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 b36c77a9..1d820a83 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 @@ -49,7 +49,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 4555dd01..a6881bbc 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 @@ -49,7 +49,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 83cd9bb1..12bd0718 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 @@ -27,7 +27,7 @@ idsc:USAGE_LOGGING_AGREEMENT_TEMPLATE a ids:LoggingAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; + a odrl: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 ; 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 d4ea9864..12023653 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 @@ -39,7 +39,7 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 6c4ea737..c2d8aec5 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 @@ -39,7 +39,7 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or 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 b2e12168..4cb39cd7 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 @@ -27,7 +27,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ids:action [ a ids:Action ; ids:includedIn idsc:NOTIFY ; 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 5f83b672..ef322a8f 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 @@ -39,7 +39,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ids:action [ a ids:Action ; ids:includedIn idsc:NOTIFY ; 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 ff55344a..8246b06b 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 @@ -39,7 +39,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:postDuty [ - a ids:Duty ; + a odrl:Duty ; ids:action [ a ids:Action ; ids:includedIn idsc:NOTIFY ; diff --git a/model/contract/Contract.ttl b/model/contract/Contract.ttl index 13ebdfd9..2e8221f8 100644 --- a/model/contract/Contract.ttl +++ b/model/contract/Contract.ttl @@ -109,5 +109,5 @@ ids:obligation rdfs:subPropertyOf odrl:obligation; a owl:ObjectProperty; rdfs:label "obligation"@en; rdfs:domain ids:Contract; - rdfs:range ids:Duty; + rdfs:range odrl:Duty; rdfs:comment "A Duty imposed by the Contract."@en. diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index 31ba2324..3a4859d2 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -6,17 +6,6 @@ @prefix rdf: . @prefix ids: . - -# Classes -# ------- - -ids:Duty rdfs:subClassOf odrl:Rule; - rdfs:subClassOf odrl:Duty; - a owl:Class; - rdfs:label "Duty"@en; - rdfs:comment "The class of Duties as defined in the ODRL ontology."@en. - - # Properties # ---------- @@ -71,12 +60,12 @@ ids:preDuty rdfs:subPropertyOf odrl:duty; a owl:ObjectProperty; rdfs:label "pre-duty"@en; rdfs:domain odrl:Permission; - rdfs:range ids:Duty; + rdfs:range odrl:Duty; rdfs:comment "A Duty imposed by the Rule, which must be executed before the Rule."@en. ids:postDuty rdfs:subPropertyOf odrl:duty; a owl:ObjectProperty; rdfs:label "post-duty"@en; rdfs:domain odrl:Permission; - rdfs:range ids:Duty; + rdfs:range odrl:Duty; rdfs:comment "A Duty imposed by the Rule, which must be executed after the Rule."@en. diff --git a/testing/contract/ContractShape.ttl b/testing/contract/ContractShape.ttl index e6d0af4f..aec2c983 100644 --- a/testing/contract/ContractShape.ttl +++ b/testing/contract/ContractShape.ttl @@ -118,9 +118,9 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; sh:path ids:obligation ; - sh:class ids:Duty ; + sh:class odrl:Duty ; sh:severity sh:Violation ; - sh:message " (ContractShape): An ids:obligation property must point from an ids:Contract to an ids:Duty."@en ; + sh:message " (ContractShape): An ids:obligation property must point from an ids:Contract to an odrl:Duty."@en ; ] ; sh:property [ diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 898e9c25..03b2d1ab 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -111,20 +111,15 @@ shapes:PermissionShape sh:property [ a sh:PropertyShape ; sh:path ids:preDuty ; - sh:class ids:Duty ; + sh:class odrl:Duty ; sh:severity sh:Violation ; - sh:message " (PermissionShape): An ids:preDuty property must point from an odrl:Permission to an ids:Duty."@en ; + sh:message " (PermissionShape): An ids:preDuty property must point from an odrl:Permission to an odrl:Duty."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path ids:postDuty ; - sh:class ids:Duty ; + sh:class odrl:Duty ; sh:severity sh:Violation ; - sh:message " (PermissionShape): An ids:postDuty property must point from an odrl:Permission to an ids:Duty."@en ; + sh:message " (PermissionShape): An ids:postDuty property must point from an odrl:Permission to an odrl:Duty."@en ; ] . - - -#shapes:DutyShape -# a sh:NodeShape ; -# sh:targetClass ids:Duty ; From 63a9d7f0597ee291ee1c9c83f1330bf1c478b979 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 13:12:05 +0200 Subject: [PATCH 080/288] Remove ids:Action, instead use odrl:Action Remove ids:Action, instead use odrl:Action --- codes/Action.ttl | 32 +++++++++---------- docs/serializations/ontology.json | 2 +- docs/serializations/ontology.jsonld | 2 +- docs/serializations/ontology.n3 | 2 +- docs/serializations/ontology.nt | 2 +- docs/serializations/ontology.rdf | 2 +- docs/serializations/ontology.ttl | 2 +- docs/serializations/ontology.xml | 2 +- docs/webvowl/data/ontology.json | 2 +- examples/TEXT_RESOURCE.jsonld | 2 +- .../ActionTemplates/ACTION_TEMPLATE.ttl | 4 +-- .../RENTAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 2 +- .../RENTAL_REQUEST_TEMPLATE.ttl | 2 +- .../SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- ...SAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- model/contract/Action.ttl | 16 ++-------- model/contract/Rule.ttl | 2 +- testing/content/UsageControlObjectShape.ttl | 5 +-- testing/contract/ActionShape.ttl | 8 ++--- testing/contract/RuleShape.ttl | 4 +-- 28 files changed, 52 insertions(+), 61 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index d872c072..b3760ffc 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -12,7 +12,7 @@ # --------- idsc:ANONYMIZE - a ids:Action ; + a odrl:Action ; rdfs:comment "To anonymize all, parts or certain attributes of the resource."@en ; rdfs:label "anonymize"@en ; skos:broader ; @@ -21,7 +21,7 @@ idsc:ANONYMIZE . idsc:AGGREGATE_BY_CONSUMER - a ids:Action ; + a odrl:Action ; rdfs:comment "Data will be part of another piece of data so that it is not distinguishable anymore."@en ; rdfs:label "aggregate by consumer"@en ; skos:broader ; @@ -30,7 +30,7 @@ idsc:AGGREGATE_BY_CONSUMER . idsc:AGGREGATE_BY_PROVIDER - a ids:Action ; + a odrl:Action ; rdfs:comment "Data will be part of another piece of data so that it is not distinguishable anymore."@en ; rdfs:label "aggregate by provider"@en ; skos:broader ; @@ -40,7 +40,7 @@ idsc:AGGREGATE_BY_PROVIDER idsc:COMPENSATE - a ids:Action; + a odrl:Action; rdfs:label "compensate"@en ; rdfs:comment "To pay a certain amount of money in order to use a resource."@en ; skos:broader ; @@ -49,7 +49,7 @@ idsc:COMPENSATE . idsc:DELETE - a ids:Action; + a odrl:Action; rdfs:label "delete"@en ; rdfs:comment "To remove a resource or inhibit any further access with reasonable measures."@en ; skos:broader ; @@ -58,7 +58,7 @@ idsc:DELETE . idsc:DISTRIBUTE - a ids:Action; + a odrl:Action; rdfs:label "distribute"@en; rdfs:comment "To forward or supply a resource to a third-party."@en ; skos:broader ; @@ -67,7 +67,7 @@ idsc:DISTRIBUTE . idsc:GRANT_USE - a ids:Action; + a odrl:Action; rdfs:label "grant use"@en; rdfs:comment "To grant use of a resource to another party. Does *not* imply any other usage rights."@en ; skos:broader ; @@ -76,7 +76,7 @@ idsc:GRANT_USE . idsc:ENCRYPT - a ids:Action ; + a odrl:Action ; rdfs:comment "The data artifact or parts of it are encrypted and can not be read by neither the ids:DataConsumer nor any other third party. The encryption algorithm might be specified by a constraint."@en ; rdfs:label "encrypt"@en ; odrl:includedIn idsc:USE ; @@ -84,7 +84,7 @@ idsc:ENCRYPT . idsc:LOG - a ids:Action ; + a odrl:Action ; rdfs:comment "To log information or store information about incidents in a local file or database. Is not necessarily available to external parties but can be used to create transparency on happened events."@en ; rdfs:label "log"@en ; odrl:includedIn idsc:USE ; @@ -92,7 +92,7 @@ idsc:LOG . idsc:MODIFY - a ids:Action ; + a odrl:Action ; rdfs:comment "To change a resource locally."@en ; rdfs:label "modify"@en ; skos:broader ; @@ -101,7 +101,7 @@ idsc:MODIFY . idsc:NEXT_POLICY - a ids:Action ; + a odrl:Action ; rdfs:comment "To forward the resource under the same policy. Implies a permission to distribute."@en ; rdfs:label "next policy"@en ; skos:broader ; @@ -110,7 +110,7 @@ idsc:NEXT_POLICY . idsc:NOTIFY - a ids:Action ; + a odrl:Action ; rdfs:comment "To log information or notify an instance about incidents. Can be used to define Clearing House interactions."@en ; rdfs:label "notify"@en ; skos:broader ; @@ -119,7 +119,7 @@ idsc:NOTIFY . idsc:READ - a ids:Action ; + a odrl:Action ; rdfs:comment "To obtain data from the resource."@en ; rdfs:label "read"@en ; skos:broader ; @@ -128,7 +128,7 @@ idsc:READ . idsc:TRACK_PROVENANCE - a ids:Action ; + a odrl:Action ; #odrl:implies ids:acceptTracking; rdfs:comment "To accept that the use of the Asset may be tracked."@en ; rdfs:label "track provenance"@en ; @@ -137,7 +137,7 @@ idsc:TRACK_PROVENANCE . idsc:USE - a ids:Action; + a odrl:Action; rdfs:label "use"@en; rdfs:comment "To use a resource in any possible way. Includes all other actions."@en ; skos:broader ; @@ -145,7 +145,7 @@ idsc:USE . idsc:WRITE - a ids:Action ; + a odrl:Action ; rdfs:comment "To change a remote resource."@en ; rdfs:label "write"@en ; odrl:includedIn idsc:USE ; diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index e1999886..d3cae4f8 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index bee3385d..b345051b 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 4682dc7d..7b09b967 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index b7ccdd2a..ec147d53 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 . # diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 4824160c..53761d18 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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 diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 4682dc7d..7b09b967 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index d12b0d16..698a9bfb 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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 diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 5f72832f..a54f4485 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -14872,7 +14872,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" diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index 945ae632..2cf7287a 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -85,7 +85,7 @@ "permission": [{ "@type": "odrl:Permission", "action": { - "@type": "ids:Action", + "@type": "odrl:Action", "@id": "https://w3id.org/idsa/code/USE" }, "assigner": {"@id": ""}, 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 bccecea7..c230710e 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl @@ -18,7 +18,7 @@ ?ActionUri # directly insert the Action URI and nothing else | # or [ - a ids:Action ; + a odrl: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". 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" @@ -31,7 +31,7 @@ ] | # or [ - a ids:Action ; + a odrl:Action ; ids:includedIn ?ActionUri ; ids:actionRefinement [ a odrl:LogicalConstraint ; # A Collection with more than one condition to describe its members. 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 b41b2680..3ceee41f 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 @@ -38,7 +38,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; 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 ; + a odrl:Action ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; 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 11e84952..9e00b8be 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 @@ -56,7 +56,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; 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 cff78864..d8308f65 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 @@ -56,7 +56,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; 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 c7bb1548..e9ecd49a 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 @@ -31,7 +31,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; 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 ; + a odrl:Action ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; 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 b4eb836e..e9ca7f89 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 @@ -49,7 +49,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; 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 d519cb37..fe066c4d 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 @@ -49,7 +49,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; 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 7dd1143d..08dc7863 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 @@ -41,7 +41,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement 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 ; + a odrl:Action ; ids:includedIn idsc:DELETE ; ids:actionRefinement [ ids:constraint [ 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 1d820a83..14a2135e 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 @@ -59,7 +59,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:DELETE ; ids:actionRefinement [ ids:constraint [ 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 a6881bbc..ded40cc6 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 @@ -59,7 +59,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:DELETE ; ids:actionRefinement [ ids:constraint [ 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 4cb39cd7..b5d73f39 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 @@ -29,7 +29,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; ids:postDuty [ a odrl:Duty ; ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; 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 ef322a8f..617175bb 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 @@ -41,7 +41,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; ids:postDuty [ a odrl:Duty ; ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; 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 8246b06b..c8dd247d 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 @@ -41,7 +41,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; ids:postDuty [ a odrl:Duty ; ids:action [ - a ids:Action ; + a odrl:Action ; ids:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index d746a3ae..8162a9ed 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -5,16 +5,6 @@ @prefix odrl: . @prefix ids: . - -# Classes -# ------- - -ids:Action rdfs:subClassOf odrl:Action; - a owl:Class; - rdfs:label "Action"@en; - rdfs:comment "A thing one might be permitted to do or prohibited from doing to something."@en; -. - # Properties # ---------- @@ -22,7 +12,7 @@ ids:actionRefinement a owl:ObjectProperty; # rdfs:subPropertyOf odrl:refinement ; rdfs:label "action refinement"@en; - rdfs:domain ids:Action; + rdfs:domain odrl:Action; rdfs:range ids:Constraint; rdfs:comment "Constraint that refines an Action."@en ; . @@ -31,7 +21,7 @@ ids:includedIn a owl:ObjectProperty; rdfs:subPropertyOf odrl:includedIn ; rdfs:label "is included in"@en; - rdfs:domain ids:Action; - rdfs:range ids:Action; + rdfs:domain odrl:Action; + rdfs:range odrl:Action; rdfs:comment "The subject transitively asserts the object Action."@en ; . diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index 3a4859d2..0bf45d4b 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -15,7 +15,7 @@ ids:action rdfs:label "action"@en; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( odrl:Rule ids:UsageControlObject)] ; - rdfs:range ids:Action; + rdfs:range odrl:Action; rdfs:comment "The operation relating to the asset / data object. "@en. ids:assignee rdfs:subPropertyOf odrl:assignee; diff --git a/testing/content/UsageControlObjectShape.ttl b/testing/content/UsageControlObjectShape.ttl index 4e3b61f8..b9f15df8 100644 --- a/testing/content/UsageControlObjectShape.ttl +++ b/testing/content/UsageControlObjectShape.ttl @@ -7,6 +7,7 @@ @prefix sh: . @prefix shapes: . @prefix rdf: . +@prefix odrl: . shapes: a owl:Ontology ; @@ -83,9 +84,9 @@ shapes:UsageControlObjectShape sh:property [ a sh:PropertyShape ; sh:path ids:action ; - sh:class ids:Action ; + sh:class odrl:Action ; sh:severity sh:Violation ; - sh:message " (UsageControlObjectShape): An ids:action property must point from an ids:UsageControlObject to an ids:Action."@en ; + sh:message " (UsageControlObjectShape): An ids:action property must point from an ids:UsageControlObject to an odrl:Action."@en ; ] ; sh:property [ diff --git a/testing/contract/ActionShape.ttl b/testing/contract/ActionShape.ttl index 0f33ff41..61359bbc 100644 --- a/testing/contract/ActionShape.ttl +++ b/testing/contract/ActionShape.ttl @@ -12,7 +12,7 @@ shapes:ActionShape a sh:NodeShape ; - sh:targetClass ids:Action ; + sh:targetClass odrl:Action ; sh:property [ a sh:PropertyShape ; @@ -20,16 +20,16 @@ shapes:ActionShape sh:class ids:Constraint ; #sh:minCount 1 ; #The Action codes do not meet this criteria sh:severity sh:Violation ; - sh:message " (ActionShape): An ids:actionRefinement property must have at least one point from an ids:Action to an ids:Constraint."@en ; + sh:message " (ActionShape): An ids:actionRefinement property must have at least one point from an odrl:Action to an ids:Constraint."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path ids:includedIn ; - sh:class ids:Action ; + sh:class odrl:Action ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ActionShape): An ids:includedIn property must not have more than one point from an ids:Action to an ids:Action."@en ; + sh:message " (ActionShape): An ids:includedIn property must not have more than one point from an odrl:Action to an odrl:Action."@en ; ] ; . diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 03b2d1ab..86fac6b7 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -42,10 +42,10 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; sh:path ids:action ; - sh:class ids:Action ; + sh:class odrl:Action ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An odrl:Rule must have at least one ids:Action linked through the ids:action property"@en ; + sh:message " (RuleShape): An odrl:Rule must have at least one odrl:Action linked through the ids:action property"@en ; ] ; sh:property [ From 7d367248bef238f4c932c021e689558d71979a25 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 13:39:16 +0200 Subject: [PATCH 081/288] Remove ids:Catalog, instead use dcat:Catalog Remove ids:Catalog, instead use dcat:Catalog --- .../cli/conn_self_description.ttl | 2 +- model/infrastructure/Catalog.ttl | 18 +++++------------- testing/infrastructure/CatalogShape.ttl | 7 ++++--- .../3.1.0-4.0.0/example-instance-from-310.ttl | 3 ++- .../3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl | 13 +++++++------ 5 files changed, 19 insertions(+), 24 deletions(-) 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..324bc4ca 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -16,7 +16,7 @@ ids:title "Example Connector"@en . - ids:Catalog ; + dcat:Catalog ; ids:offer ; ids:offer ; ids:offer . diff --git a/model/infrastructure/Catalog.ttl b/model/infrastructure/Catalog.ttl index cd890546..0b4ea638 100644 --- a/model/infrastructure/Catalog.ttl +++ b/model/infrastructure/Catalog.ttl @@ -9,31 +9,23 @@ # Classes # ------- -ids:Catalog - a owl:Class; - rdfs:subClassOf dcat:Catalog; - - rdfs:label "Catalog"@en ; - rdfs:comment "Class that represents (distributable) Catalogs."@en ; - . - ids:ResourceCatalog a owl:Class; - rdfs:subClassOf ids:Catalog; + rdfs:subClassOf dcat:Catalog; rdfs:label "Resource Catalog"@en ; rdfs:comment "Class that aggregates Resources from a (distributable) Catalog."@en ; . ids:ParticipantCatalog a owl:Class; - rdfs:subClassOf ids:Catalog; + rdfs:subClassOf dcat:Catalog; rdfs:label "Participant Catalog"@en ; rdfs:comment "Class that aggregates Participants from a (distributable) Catalog."@en ; . ids:ConnectorCatalog a owl:Class; - rdfs:subClassOf ids:Catalog; + rdfs:subClassOf dcat:Catalog; rdfs:label "Connector Catalog"@en ; rdfs:comment "Class that aggregates Connectors from a (distributable) Catalog."@en ; . @@ -55,13 +47,13 @@ ids:AppStoreCatalog # TODO: Align with ResourceCatalog ids:AppResourceCatalog a owl:Class; - rdfs:subClassOf ids:Catalog; + rdfs:subClassOf dcat:Catalog; rdfs:label "App Resource Catalog"@en ; rdfs:comment "Class that aggregates App Resources from a (distributable) Catalog. May be used to list installed apps in a component."@en ; . ids:ClearingHouseCatalog - rdfs:subClassOf ids:Catalog; + rdfs:subClassOf dcat:Catalog; a owl:Class; rdfs:label "Clearing House Catalog"@en ; rdfs:comment "Class that aggregates Clearing Houses from a (distributable) Catalog."@en ; diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index f8db3026..78692d8c 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -2,6 +2,7 @@ @prefix owl: . @prefix rdfs: . @prefix xsd: . +@prefix dcat: . @prefix ids: . @prefix sh: . @@ -22,17 +23,17 @@ shapes: shapes:CatalogShape a sh:NodeShape ; - sh:targetClass ids:Catalog ; + sh:targetClass dcat:Catalog ; sh:sparql [ a sh:SPARQLConstraint ; - sh:message " (CatalogShape): An ids:Catalog is an abstract class. Please use one of the subclasses for the generation of instances."@en ; + sh:message " (CatalogShape): A dcat:Catalog is an 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:Catalog) + FILTER (?type = dcat:Catalog) } """ ; ] ; diff --git a/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl b/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl index 28209094..a50b9bfd 100644 --- a/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl +++ b/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl @@ -1,5 +1,6 @@ @prefix ids: . @prefix xsd: . +@prefix dcat: . a , ; @@ -13,7 +14,7 @@ ids:securityProfile . - a ids:Catalog ; + a dcat:Catalog ; ids:offer . diff --git a/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl b/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl index b3c057ae..64ac6c42 100644 --- a/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl +++ b/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl @@ -3,6 +3,7 @@ @prefix rdfs: . @prefix schema: . @prefix sh: . +@prefix dcat: . @prefix xsd: . @prefix ids: . @@ -39,7 +40,7 @@ ids:BaseConnectorUpgradeShape ids:CatalogUpgradeShape1 a sh:NodeShape ; - sh:targetClass ids:Catalog ; + sh:targetClass dcat:Catalog ; sh:rule [ a sh:SPARQLRule ; sh:prefixes ids: ; @@ -60,13 +61,13 @@ ids:CatalogUpgradeShape1 } WHERE {$this rdf:type ids:catalog .} """ ; - sh:condition ids:Catalog ; # Rules only apply if the input matches the respective shape + sh:condition dcat:Catalog ; # Rules only apply if the input matches the respective shape ] ; . ids:CatalogUpgradeShape2 a sh:NodeShape ; - sh:targetClass ids:Catalog ; + sh:targetClass dcat:Catalog ; sh:rule [ a sh:SPARQLRule ; sh:prefixes ids: ; @@ -87,13 +88,13 @@ ids:CatalogUpgradeShape2 } WHERE {$this ids:offer $offeredResources .} """ ; - sh:condition ids:Catalog ; # Rules only apply if the input matches the respective shape + sh:condition dcat:Catalog ; # Rules only apply if the input matches the respective shape ] ; . ids:CatalogUpgradeShape3 a sh:NodeShape ; - sh:targetClass ids:Catalog ; + sh:targetClass dcat:Catalog ; sh:rule [ a sh:SPARQLRule ; sh:prefixes ids: ; @@ -114,7 +115,7 @@ ids:CatalogUpgradeShape3 } WHERE {$this ids:request $requestedResources .} """ ; - sh:condition ids:Catalog ; # Rules only apply if the input matches the respective shape + sh:condition dcat:Catalog ; # Rules only apply if the input matches the respective shape ] ; . From 8450bea53fbf848aacc35e6682844a9681b849b8 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 14:35:18 +0200 Subject: [PATCH 082/288] Remove ids:title, instead use dct:title Remove ids:title, instead use dct:title --- examples/APPSTORE.jsonld | 7 ++++--- examples/APPSTORE.ttl | 7 ++++--- examples/APP_RESOURCE.ttl | 3 ++- examples/APP_RESOURCE_old.jsonld | 3 ++- examples/BROKER.jsonld | 9 +++++---- examples/BROKER.ttl | 9 +++++---- examples/CONNECTOR_1.jsonld | 3 ++- examples/CONNECTOR_1.ttl | 3 ++- examples/CONNECTOR_2.ttl | 10 ++++++---- examples/DATA1.ttl | 3 ++- examples/DATA2.ttl | 2 +- examples/PARTICIPANT_1.jsonld | 3 ++- examples/PARTICIPANT_1.ttl | 6 ++++-- examples/PARTICIPANT_2.ttl | 4 +++- examples/PARTICIPANT_3.ttl | 8 +++++--- examples/TEXT_RESOURCE.ttl | 6 ++++-- examples/TRUSTED_CONNECTOR.jsonld | 3 ++- examples/TRUSTED_CONNECTOR.ttl | 3 ++- .../TEMP_RESOURCE.ttl | 4 +++- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 3 ++- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 4 +++- .../cli/conn_self_description.ttl | 2 +- model/shared/Described.ttl | 8 -------- testing/shared/DescribedShape.ttl | 4 ++-- .../3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl | 7 ++++--- .../3.1.0-4.0.0/example-instance-from-310.ttl | 4 +++- 26 files changed, 75 insertions(+), 53 deletions(-) diff --git a/examples/APPSTORE.jsonld b/examples/APPSTORE.jsonld index 7be73445..c9a0ce5f 100644 --- a/examples/APPSTORE.jsonld +++ b/examples/APPSTORE.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": [ @@ -22,7 +23,7 @@ "Data", "processing" ], - "ids:title": "App Title" + "dct:title": "App Title" }, { "@id": "_:ub61bL21C25", @@ -57,7 +58,7 @@ "ids:securityProfile": { "@id": "idsc:BASE_SECURITY_PROFILE" }, - "ids:title": "AppStore" + "dct:title": "AppStore" }, { "@id": "http://appIdentifier_2", @@ -77,7 +78,7 @@ "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..106b3d45 100644 --- a/examples/APPSTORE.ttl +++ b/examples/APPSTORE.ttl @@ -2,10 +2,11 @@ @prefix rdf: . @prefix xsd: . @prefix idsc: . +@prefix dct: . a ids:AppStore ; - ids:title "AppStore" ; + dct:title "AppStore" ; ids:description "IDS AppStore self-description" ; ids:maintainer ; ids:curator ; @@ -29,14 +30,14 @@ . a ids:AppResource; - ids:title "App Title" ; + dct:title "App Title" ; ids:description "AppResource 2."@en; ids:keyword "Data", "processing", "bla" ; ids:customLicense ; . a ids:AppResource; - ids:title "App 1 Title" ; + dct:title "App 1 Title" ; ids:description "AppResource 1"@en; ids:keyword "Data", "processing", "bla" ; ids:customLicense ; diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index 22b3b84b..d689f913 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -2,10 +2,11 @@ @prefix rdf: . @prefix xsd: . @prefix idsc: . +@prefix dct: . a ids:AppResource; - ids:title "App Title" ; + dct:title "App Title" ; ids:description "Data App for something with data."@en; ids:keyword "Data", "processing", "bla" ; ids:customLicense ; diff --git a/examples/APP_RESOURCE_old.jsonld b/examples/APP_RESOURCE_old.jsonld index b4ed9419..e37868fe 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.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": [{ @@ -75,7 +76,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..e4694368 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:", @@ -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..befe68f0 100644 --- a/examples/BROKER.ttl +++ b/examples/BROKER.ttl @@ -5,12 +5,13 @@ @prefix part1: . @prefix conn2: . @prefix broker1: . +@prefix dct: . broker1: a ids:Broker; # General properties - ids:title "Logistics registry" ; + dct:title "Logistics registry" ; ids:description "Description of an example Trusted Connector maintained by PART1" ; ids:maintainer part1: ; # Participant ~ service provider PART1 ids:curator part1: ; # Content manager @@ -52,13 +53,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..1665027e 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": [ @@ -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..33631870 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,7 +12,7 @@ conn1: a ids:BaseConnector ; # General properties - ids:title "Mobile base connector" ; + dct:title "Mobile base connector" ; ids:description "Mobile base connector operated by PART1" ; ids:maintainer part1: ; ids:curator part1: ; diff --git a/examples/CONNECTOR_2.ttl b/examples/CONNECTOR_2.ttl index dbe0c138..bb86263f 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,7 +14,7 @@ conn2: a ids:TrustedConnector ; # General properties - ids:title "EU Traffic statistics hub" ; + dct:title "EU Traffic statistics hub" ; ids:description "Example Trusted Connector maintained by PART1" ; ids:maintainer part1: ; # Participant ~ service provider PART1 ids:curator part1: ; # Content manager @@ -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/DATA1.ttl b/examples/DATA1.ttl index 8b12da21..0bb621a8 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -4,6 +4,7 @@ @prefix xsd: . @prefix time: . @prefix odrl: . +@prefix dct: . @prefix conn2: . @prefix data1: . @@ -11,7 +12,7 @@ data1: a ids:TextResource ; - ids:title "European highway statistics - accident report"@en ; + dct: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 [ diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index c47fa738..ee1f87f2 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -19,7 +19,7 @@ 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 ; + dct:title "European highway statistics"@en ; ids:description "Data collection about usage statistics of European highways"@en; ids:keyword "highway", "statistics", "Europe"; diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index ed07e4dc..0ec0d765 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -6,6 +6,7 @@ "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/", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ @@ -27,7 +28,7 @@ "@id": "_:ub97bL15C21" }, "ids:legalForm" : "DX6Z" , - "ids:title": [ + "dct:title": [ { "@language": "en", "@value": "Highway monitoring and statistics agency" diff --git a/examples/PARTICIPANT_1.ttl b/examples/PARTICIPANT_1.ttl index bcbe39bc..798f1908 100644 --- a/examples/PARTICIPANT_1.ttl +++ b/examples/PARTICIPANT_1.ttl @@ -4,12 +4,14 @@ @prefix org: . # Participant URI is resolved by Identity Manager @prefix part1: . +@prefix dct: . + # 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; + dct:title "Agentur für Autobahnstatistik"@de; + dct: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 ; diff --git a/examples/PARTICIPANT_2.ttl b/examples/PARTICIPANT_2.ttl index 84b82243..4d4e2681 100644 --- a/examples/PARTICIPANT_2.ttl +++ b/examples/PARTICIPANT_2.ttl @@ -3,10 +3,12 @@ @prefix org: . @prefix xsd: . @prefix part2: . +@prefix dct: . + part2: a ids:Participant ; - ids:title "App4Traffic GmbH"@en; + dct:title "App4Traffic GmbH"@en; ids:description "Software development and service provision"@en ; ids:corporateEmailAddress "info@app4traffic.de" ; ids:corporateHomepage ; diff --git a/examples/PARTICIPANT_3.ttl b/examples/PARTICIPANT_3.ttl index b666fa21..ce13a733 100644 --- a/examples/PARTICIPANT_3.ttl +++ b/examples/PARTICIPANT_3.ttl @@ -3,10 +3,12 @@ @prefix xsd: . @prefix idsc: . @prefix part3: . +@prefix dct: . + part3: a ids:Participant ; - ids:title "Supercargo GmbH"@en; + dct:title "Supercargo GmbH"@en; ids:description "Interational logistics company"@en ; ids:corporateEmailAddress "info@supercargo.de" ; ids:corporateHomepage ; @@ -26,7 +28,7 @@ part3: part3:ru a ids:Participant ; - ids:title "Supercargo OOO"@en; + dct:title "Supercargo OOO"@en; ids:description "Interational logistics company"@en ; ids:corporateEmailAddress "info@supercargo.ru" ; ids:corporateHomepage ; @@ -40,7 +42,7 @@ part3:ru part3:hk a ids:Participant ; - ids:title "Supercargo Ltd."@en; + dct:title "Supercargo Ltd."@en; ids:description "Interational logistics company"@en ; ids:corporateEmailAddress "info@supercargo.hk" ; ids:corporateHomepage ; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 7a88257b..77d55a2f 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -6,13 +6,15 @@ @prefix data1: . @prefix time: . @prefix odrl: . +@prefix dct: . + data1: a ids:TextResource ; - ids:title "European highway statistics - accident report"@en ; + dct: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" ; @@ -126,7 +128,7 @@ data1:offer ] . _:contractReource a ids:TextResource; - ids:title "detailed contract for a resource"; + dct:title "detailed contract for a resource"; . _:foo diff --git a/examples/TRUSTED_CONNECTOR.jsonld b/examples/TRUSTED_CONNECTOR.jsonld index 0cb1cb69..4bc4104e 100644 --- a/examples/TRUSTED_CONNECTOR.jsonld +++ b/examples/TRUSTED_CONNECTOR.jsonld @@ -5,11 +5,12 @@ "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" } ], diff --git a/examples/TRUSTED_CONNECTOR.ttl b/examples/TRUSTED_CONNECTOR.ttl index 8bfcd8fa..28f856a2 100644 --- a/examples/TRUSTED_CONNECTOR.ttl +++ b/examples/TRUSTED_CONNECTOR.ttl @@ -7,12 +7,13 @@ @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" ; + dct:title "Fraunhofer FIT - Traffic statistics hub" ; ids:description "Example Trusted Connector maintained by the Fraunhofer FIT"@en ; ids:maintainer ; ids:curator ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 5dcff91b..5304949a 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -7,6 +7,8 @@ @prefix odrl: . @prefix conn1: . @prefix sample_Data: . +@prefix dct: . + # This document contains an example of a resource and how it is represented in the information model. @@ -14,7 +16,7 @@ # A (Text) Resource in the IDS Information Model sample_Data: a ids:DataResource ; - ids:title "Sample temperature data"@en ; + dct:title "Sample temperature data"@en ; ids:description "Temperature data of ___ from 2001 - 2012 ."@en; ids:keyword "temperature", "data" ; 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 fd1e4425..fb143883 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 @@ -6,6 +6,7 @@ @prefix admingeo: . @prefix interval: . @prefix time: . +@prefix dct: . @prefix life_expectancy: . @prefix life_expectancy-geo: . @@ -25,7 +26,7 @@ # A (Data) Resource in the IDS Information Model life_expectancy:Resource a ids:DataResource , qb:DataSet; - ids:title "European highway statistics - accident report"@en ; + dct:title "European highway statistics - accident report"@en ; ids: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. 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 f33543a0..d95b615e 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,6 +6,8 @@ @prefix xsd: . @prefix sh: . @prefix qb: . +@prefix dct: . + @prefix admingeo: . @prefix interval: . @@ -28,7 +30,7 @@ # A (Data) Resource in the IDS Information Model life_expectancy:Resource a ids:DataResource , qb:DataSet; - ids:title "Life Expectancy For 2004-2008"@en ; + dct: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; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. 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 324bc4ca..6c21e218 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -13,7 +13,7 @@ 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 . dcat:Catalog ; diff --git a/model/shared/Described.ttl b/model/shared/Described.ttl index 096be3f6..1201a8de 100644 --- a/model/shared/Described.ttl +++ b/model/shared/Described.ttl @@ -18,14 +18,6 @@ ids:Described rdfs:comment "Entity described by a minimal textual annotation, i.e. a title and description."@en; . -ids:title #.. how does it relate to "name", is "title" a functional property? - a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:title ; - rdfs:label "title"@en ; - rdfs:domain ids:Described ; - rdfs:range xsd:string; - rdfs:comment "(Localized) name of the entity."@en . - # description is used for explanation in natural language. # ids:theme (class ids:DigitalContent) is used for SKOS representation ids:description diff --git a/testing/shared/DescribedShape.ttl b/testing/shared/DescribedShape.ttl index 743b5a88..3ba68cde 100644 --- a/testing/shared/DescribedShape.ttl +++ b/testing/shared/DescribedShape.ttl @@ -42,7 +42,7 @@ shapes:DescribedShape sh:property [ a sh:PropertyShape ; - sh:path ids:title ; + sh:path dct:title ; sh:or ( [ sh:datatype xsd:string ; @@ -52,7 +52,7 @@ shapes:DescribedShape ] ); sh:severity sh:Violation ; - sh:message " (DescribedShape): An ids:title property must point from an ids:Described to either a xsd:string or a rdf:langString with a language code."@en ; + sh:message " (DescribedShape): A dct:title property must point from an ids:Described to either a xsd:string or a rdf:langString with a language code."@en ; ] ; sh:property [ diff --git a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl index 99343ade..5cf39e51 100644 --- a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl +++ b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl @@ -4,6 +4,7 @@ @prefix schema: . @prefix sh: . @prefix xsd: . +@prefix dct: . @prefix ids: . @@ -206,14 +207,14 @@ ids:DescribedUpgradeShape $this ids:description ?newDescription . idsm:VersionUpgrade ids:description ?oldDescription. - $this ids:title ?newTitle . - idsm:VersionUpgrade ids:title ?oldTitle. + $this dct:title ?newTitle . + idsm:VersionUpgrade dct:title ?oldTitle. } WHERE { OPTIONAL {$this ids:description ?oldDescription .} BIND(STRDT(STR(?oldDescription), xsd:string) AS ?newDescription) - OPTIONAL {$this ids:title ?oldTitle .} + OPTIONAL {$this dct:title ?oldTitle .} BIND(STRDT(STR(?oldTitle), xsd:string) AS ?newTitle) } """ ; diff --git a/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl b/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl index a50b9bfd..82d9408a 100644 --- a/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl +++ b/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl @@ -1,6 +1,8 @@ @prefix ids: . @prefix xsd: . @prefix dcat: . +@prefix dct: . + a , ; @@ -21,7 +23,7 @@ a ids:Resource ; ids:description "Echo Service for the IDS-LAB."@en ; ids:resourceEndpoint ; - ids:title "Echo Service"@en . + dct:title "Echo Service"@en . a ids:StaticEndpoint ; From e70e4fe3207d9c4a7659f5762ff59563e48dcf00 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 14:39:02 +0200 Subject: [PATCH 083/288] add prefix for dct:title add prefix for dct:title --- examples/DATA2.ttl | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index ee1f87f2..40a85ba2 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -5,6 +5,7 @@ @prefix dcat: . @prefix time: . @prefix odrl: . +@prefix dct: . @prefix conn2: . @prefix data2: . From 91970d791e34ce29c0f13ce7f88a7f2eb4d6570e Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 14:41:52 +0200 Subject: [PATCH 084/288] add prefix for dcat:Catalog add prefix for dcat:Catalog --- .gitignore | 1 + .../cli/conn_self_description.ttl | 2 ++ model/.DS_Store | Bin 8196 -> 8196 bytes 3 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 0dcc609a..8c7ec246 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ model/.DS_Store model/.DS_Store .DS_Store model/.DS_Store +model/.DS_Store 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 6c21e218..720b815a 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; diff --git a/model/.DS_Store b/model/.DS_Store index 249e6c5744fbf63041844892662a8a13e5719828..11cbee8cc44d0610e30637c5c3378afa64cb1e0c 100644 GIT binary patch delta 77 zcmZp1XmOa}&&ahgU^hP_*Cau?%~}HT%#)pj`bCTl4RjQYERAb*6sj$afNT?Ev&m0| hOgCEy8#8V!-ORL^UE&+d Date: Thu, 9 Sep 2021 15:14:10 +0200 Subject: [PATCH 085/288] Remove ids:description, instead use dct:description Remove ids:description, instead use dct:description --- .DS_Store | Bin 6148 -> 6148 bytes examples/APPSTORE.jsonld | 6 +++--- examples/APPSTORE.ttl | 6 +++--- examples/APP_RESOURCE.ttl | 2 +- examples/APP_RESOURCE_old.jsonld | 2 +- examples/BROKER.jsonld | 2 +- examples/BROKER.ttl | 2 +- examples/CONNECTOR_1.jsonld | 2 +- examples/CONNECTOR_1.ttl | 2 +- examples/CONNECTOR_2.ttl | 2 +- examples/DATA1.ttl | 2 +- examples/DATA2.ttl | 2 +- examples/PARTICIPANT_1.jsonld | 2 +- examples/PARTICIPANT_1.ttl | 2 +- examples/PARTICIPANT_2.ttl | 2 +- examples/PARTICIPANT_3.ttl | 6 +++--- examples/TEXT_RESOURCE.ttl | 2 +- examples/TRUSTED_CONNECTOR.jsonld | 2 +- examples/TRUSTED_CONNECTOR.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- .../cli/conn_self_description.ttl | 2 +- model/shared/Described.ttl | 11 ----------- testing/shared/DescribedShape.ttl | 4 ++-- .../UpgradeShapes-3.0.0-to-3.1.0.ttl | 6 +++--- .../3.1.0-4.0.0/example-instance-from-310.ttl | 2 +- 27 files changed, 34 insertions(+), 45 deletions(-) diff --git a/.DS_Store b/.DS_Store index b22fc1a48ddb279e5a94d2e4a9337fa11cbbe8e1..fb25563961e94a1b5ef704edb19a254d3e029f45 100644 GIT binary patch delta 134 zcmZoMXfc=|#>B!ku~2NHo}wrV0|Nsi1A_nqLjgk$Ln=dYQh9N~WB)qu~2NHo}w@l0|Nsi1A_nqLrzk8aY0f}e$vLmm5h@OL|8UUu)b&7 k*ucrWnVo~51E^)QAjfy+$^0UY96(JVT`Zd;MAk3^07^p>Bme*a diff --git a/examples/APPSTORE.jsonld b/examples/APPSTORE.jsonld index c9a0ce5f..415352d9 100644 --- a/examples/APPSTORE.jsonld +++ b/examples/APPSTORE.jsonld @@ -14,7 +14,7 @@ "ids:customLicense": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, - "ids:description": { + "dct:description": { "@language": "en", "@value": "AppResource 2." }, @@ -43,7 +43,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" }, @@ -66,7 +66,7 @@ "ids:customLicense": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, - "ids:description": { + "dct:description": { "@language": "en", "@value": "AppResource 1" }, diff --git a/examples/APPSTORE.ttl b/examples/APPSTORE.ttl index 106b3d45..d67e2bf4 100644 --- a/examples/APPSTORE.ttl +++ b/examples/APPSTORE.ttl @@ -7,7 +7,7 @@ a ids:AppStore ; dct:title "AppStore" ; - ids:description "IDS AppStore self-description" ; + dct:description "IDS AppStore self-description" ; ids:maintainer ; ids:curator ; ids:outboundModelVersion "4.1.0" ; @@ -31,14 +31,14 @@ a ids:AppResource; dct:title "App Title" ; - ids:description "AppResource 2."@en; + dct:description "AppResource 2."@en; ids:keyword "Data", "processing", "bla" ; ids:customLicense ; . a ids:AppResource; dct:title "App 1 Title" ; - ids:description "AppResource 1"@en; + dct:description "AppResource 1"@en; ids:keyword "Data", "processing", "bla" ; ids:customLicense ; . diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index d689f913..3a0d7a90 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -7,7 +7,7 @@ a ids:AppResource; dct:title "App Title" ; - ids:description "Data App for something with data."@en; + dct:description "Data App for something with data."@en; ids:keyword "Data", "processing", "bla" ; ids:customLicense ; ids:resourceEndpoint [ diff --git a/examples/APP_RESOURCE_old.jsonld b/examples/APP_RESOURCE_old.jsonld index e37868fe..ab675de5 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.jsonld @@ -61,7 +61,7 @@ "ids:customLicense": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, - "ids:description": { + "dct:description": { "@language": "en", "@value": "Data App for something with data." }, diff --git a/examples/BROKER.jsonld b/examples/BROKER.jsonld index e4694368..3378b055 100644 --- a/examples/BROKER.jsonld +++ b/examples/BROKER.jsonld @@ -38,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" }, diff --git a/examples/BROKER.ttl b/examples/BROKER.ttl index befe68f0..6013fc30 100644 --- a/examples/BROKER.ttl +++ b/examples/BROKER.ttl @@ -12,7 +12,7 @@ broker1: a ids:Broker; # General properties dct:title "Logistics registry" ; - ids:description "Description of an example Trusted Connector maintained by PART1" ; + 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 diff --git a/examples/CONNECTOR_1.jsonld b/examples/CONNECTOR_1.jsonld index 1665027e..f90ec865 100644 --- a/examples/CONNECTOR_1.jsonld +++ b/examples/CONNECTOR_1.jsonld @@ -22,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" }, diff --git a/examples/CONNECTOR_1.ttl b/examples/CONNECTOR_1.ttl index 33631870..6f39e32d 100644 --- a/examples/CONNECTOR_1.ttl +++ b/examples/CONNECTOR_1.ttl @@ -13,7 +13,7 @@ conn1: a ids:BaseConnector ; # General properties dct:title "Mobile base connector" ; - ids:description "Mobile base connector operated by PART1" ; + 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 bb86263f..d0f8dd6d 100644 --- a/examples/CONNECTOR_2.ttl +++ b/examples/CONNECTOR_2.ttl @@ -15,7 +15,7 @@ conn2: a ids:TrustedConnector ; # General properties dct:title "EU Traffic statistics hub" ; - ids:description "Example Trusted Connector maintained by PART1" ; + 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 diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 0bb621a8..c2421845 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -13,7 +13,7 @@ data1: a ids:TextResource ; dct:title "European highway statistics - accident report"@en ; - ids:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; + dct:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; ids:keyword "report", "highway", "statistics", "Europe" ; ids:temporalCoverage [ a ids:Interval ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 40a85ba2..d06d6a60 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -21,7 +21,7 @@ data2: a ids:Resource ; # - plain, historical data, free of charge # dct:title "European highway statistics"@en ; - ids:description "Data collection about usage statistics of European highways"@en; + dct:description "Data collection about usage statistics of European highways"@en; ids:keyword "highway", "statistics", "Europe"; # the collection is extended once per month diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index 0ec0d765..b29ec77e 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -17,7 +17,7 @@ "ids:corporateHomepage": { "@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." }, diff --git a/examples/PARTICIPANT_1.ttl b/examples/PARTICIPANT_1.ttl index 798f1908..32688ad0 100644 --- a/examples/PARTICIPANT_1.ttl +++ b/examples/PARTICIPANT_1.ttl @@ -12,7 +12,7 @@ part1: a ids:Participant ; dct:title "Agentur für Autobahnstatistik"@de; dct: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 ; + dct: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 ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. diff --git a/examples/PARTICIPANT_2.ttl b/examples/PARTICIPANT_2.ttl index 4d4e2681..0976c836 100644 --- a/examples/PARTICIPANT_2.ttl +++ b/examples/PARTICIPANT_2.ttl @@ -9,7 +9,7 @@ part2: a ids:Participant ; dct:title "App4Traffic GmbH"@en; - ids:description "Software development and service provision"@en ; + dct:description "Software development and service provision"@en ; ids:corporateEmailAddress "info@app4traffic.de" ; ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. diff --git a/examples/PARTICIPANT_3.ttl b/examples/PARTICIPANT_3.ttl index ce13a733..0e4c5618 100644 --- a/examples/PARTICIPANT_3.ttl +++ b/examples/PARTICIPANT_3.ttl @@ -9,7 +9,7 @@ part3: a ids:Participant ; dct:title "Supercargo GmbH"@en; - ids:description "Interational logistics company"@en ; + dct:description "Interational logistics company"@en ; ids:corporateEmailAddress "info@supercargo.de" ; ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. @@ -29,7 +29,7 @@ part3: part3:ru a ids:Participant ; dct:title "Supercargo OOO"@en; - ids:description "Interational logistics company"@en ; + dct:description "Interational logistics company"@en ; ids:corporateEmailAddress "info@supercargo.ru" ; ids:corporateHomepage ; # ids:industrialClassification? @@ -43,7 +43,7 @@ part3:ru part3:hk a ids:Participant ; dct:title "Supercargo Ltd."@en; - ids:description "Interational logistics company"@en ; + dct:description "Interational logistics company"@en ; ids:corporateEmailAddress "info@supercargo.hk" ; ids:corporateHomepage ; # ids:industrialClassification? diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 77d55a2f..dcea35da 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -15,7 +15,7 @@ data1: a ids:TextResource ; dct:title "European highway statistics - accident report"@en ; - ids:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; + dct:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; ids:keyword "report", "highway", "statistics", "Europe" ; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. diff --git a/examples/TRUSTED_CONNECTOR.jsonld b/examples/TRUSTED_CONNECTOR.jsonld index 4bc4104e..4442c895 100644 --- a/examples/TRUSTED_CONNECTOR.jsonld +++ b/examples/TRUSTED_CONNECTOR.jsonld @@ -14,7 +14,7 @@ "@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 28f856a2..44082423 100644 --- a/examples/TRUSTED_CONNECTOR.ttl +++ b/examples/TRUSTED_CONNECTOR.ttl @@ -14,7 +14,7 @@ conn1: a ids:TrustedConnector ; # General properties dct:title "Fraunhofer FIT - Traffic statistics hub" ; - ids:description "Example Trusted Connector maintained by the Fraunhofer FIT"@en ; + dct:description "Example Trusted Connector maintained by the Fraunhofer FIT"@en ; ids:maintainer ; ids:curator ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 5304949a..488efd1d 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -17,7 +17,7 @@ sample_Data: a ids:DataResource ; dct:title "Sample temperature data"@en ; - ids:description "Temperature data of ___ from 2001 - 2012 ."@en; + dct:description "Temperature data of ___ from 2001 - 2012 ."@en; ids:keyword "temperature", "data" ; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. 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 fb143883..078f59a2 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 @@ -27,7 +27,7 @@ life_expectancy:Resource a ids:DataResource , qb:DataSet; dct:title "European highway statistics - accident report"@en ; - ids:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@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 ; 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 d95b615e..4d042bb6 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 @@ -31,7 +31,7 @@ life_expectancy:Resource a ids:DataResource , qb:DataSet; dct: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: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 ; 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 720b815a..fbb2193f 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -73,7 +73,7 @@ ids:Resource ; ids:customLicense "www.licence.de" ; - ids:description "Temperature data for IDS-Lab usecase"@en ; + dct:description "Temperature data for IDS-Lab usecase"@en ; ids:keyword "Temperature;JSON;IDS-Lab"@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; diff --git a/model/shared/Described.ttl b/model/shared/Described.ttl index 1201a8de..97463d8c 100644 --- a/model/shared/Described.ttl +++ b/model/shared/Described.ttl @@ -17,14 +17,3 @@ ids:Described rdfs:label "described"@en ; rdfs:comment "Entity described by a minimal textual annotation, i.e. a title and description."@en; . - -# description is used for explanation in natural language. -# ids:theme (class ids:DigitalContent) is used for SKOS representation -ids:description - a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:description ; - rdfs:label "description"@en ; - rdfs:domain ids:Described ; - rdfs:range xsd:string ; - rdfs:comment "Explanation of the resource in a natural language text."@en ; - . diff --git a/testing/shared/DescribedShape.ttl b/testing/shared/DescribedShape.ttl index 3ba68cde..5b56daca 100644 --- a/testing/shared/DescribedShape.ttl +++ b/testing/shared/DescribedShape.ttl @@ -57,7 +57,7 @@ shapes:DescribedShape sh:property [ a sh:PropertyShape ; - sh:path ids:description ; + sh:path dct:description ; sh:or ( [ sh:datatype xsd:string ; @@ -67,6 +67,6 @@ shapes:DescribedShape ] ); sh:severity sh:Violation ; - sh:message " (DescribedShape): An ids:description property must point from an ids:Described to either a xsd:string or a rdf:langString with a language code"@en ; + sh:message " (DescribedShape): A dct:description property must point from an ids:Described to either a xsd:string or a rdf:langString with a language code"@en ; ] ; . diff --git a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl index 5cf39e51..74c33480 100644 --- a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl +++ b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl @@ -204,14 +204,14 @@ ids:DescribedUpgradeShape prefix idsm: CONSTRUCT { - $this ids:description ?newDescription . - idsm:VersionUpgrade ids:description ?oldDescription. + $this dct:description ?newDescription . + idsm:VersionUpgrade dct:description ?oldDescription. $this dct:title ?newTitle . idsm:VersionUpgrade dct:title ?oldTitle. } WHERE { - OPTIONAL {$this ids:description ?oldDescription .} + OPTIONAL {$this dct:description ?oldDescription .} BIND(STRDT(STR(?oldDescription), xsd:string) AS ?newDescription) OPTIONAL {$this dct:title ?oldTitle .} diff --git a/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl b/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl index 82d9408a..e9703563 100644 --- a/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl +++ b/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl @@ -21,7 +21,7 @@ a ids:Resource ; - ids:description "Echo Service for the IDS-LAB."@en ; + dct:description "Echo Service for the IDS-LAB."@en ; ids:resourceEndpoint ; dct:title "Echo Service"@en . From 1e3fae3ac895f0e50c76e241e9480782f1626772 Mon Sep 17 00:00:00 2001 From: Christoph Lange Date: Thu, 9 Sep 2021 15:16:43 +0200 Subject: [PATCH 086/288] minor spelling --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4669e3b2..9e26a62e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ Pre-release 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:PaymentModality` and property `ids:paymentModality` to document pricing modalities (free/ fixed price/ negotiation basis). Property is directly attached to the `ids:Resource`. * Title (`ids:title`) and description (`ids:description`) properties for `ids:Representation`. * Shapes for AppResources From e7c330087807f3be1ffef6a46510a8af7c0aada2 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 15:23:19 +0200 Subject: [PATCH 087/288] Remove ids:shapesGraph, instead use sh:shapesGraph Remove ids:shapesGraph, instead use sh:shapesGraph --- examples/domain-specific-semantics-using-SHACL/README.md | 5 +---- .../TEMP_RESOURCE.ttl | 4 ++-- model/shared/DescribedSemantically.ttl | 9 --------- testing/shared/DescribedSemanticallyShape.ttl | 4 ++-- 4 files changed, 5 insertions(+), 17 deletions(-) diff --git a/examples/domain-specific-semantics-using-SHACL/README.md b/examples/domain-specific-semantics-using-SHACL/README.md index 45f897a0..b78ad660 100644 --- a/examples/domain-specific-semantics-using-SHACL/README.md +++ b/examples/domain-specific-semantics-using-SHACL/README.md @@ -14,11 +14,8 @@ The Information Model is domain-independent; it contains generic properties for 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 _dcat:Distribution_) 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 / dcat:Distribution_. +[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.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 488efd1d..05f0a104 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -45,8 +45,8 @@ 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 ; diff --git a/model/shared/DescribedSemantically.ttl b/model/shared/DescribedSemantically.ttl index fb76cf48..84ecd377 100644 --- a/model/shared/DescribedSemantically.ttl +++ b/model/shared/DescribedSemantically.ttl @@ -19,12 +19,3 @@ ids:DescribedSemantically rdfs:label "DescribedSemantically"@en ; rdfs:comment "Entity described semantically."@en ; . - - -ids:shapesGraph a owl:DatatypeProperty; - rdfs:subPropertyOf sh:shapesGraph; - rdfs:domain ids:DescribedSemantically; - rdfs:range xsd:anyURI; - rdfs:label "shapeGraph"@en; - rdfs:comment "Reference to SHACL shape graph, which describes domain-specific knowledge."@en; - . diff --git a/testing/shared/DescribedSemanticallyShape.ttl b/testing/shared/DescribedSemanticallyShape.ttl index 2feac9c1..5497c2b7 100644 --- a/testing/shared/DescribedSemanticallyShape.ttl +++ b/testing/shared/DescribedSemanticallyShape.ttl @@ -47,9 +47,9 @@ shapes:DescribedSemanticallyShape sh:property [ a sh:PropertyShape ; - sh:path ids:shapesGraph ; + sh:path sh:shapesGraph ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DescribedSemanticallyShape): An ids:shapesGraph property must point from an ids:DescribedSemantically to zero or one IRI."@en ; + sh:message " (DescribedSemanticallyShape): An sh:shapesGraph property must point from an ids:DescribedSemantically to zero or one IRI."@en ; ] . From cd3bcdd5ee3a8407a1bca4240b66f14ab63866da Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 15:29:03 +0200 Subject: [PATCH 088/288] add prefix for sh:shapesGraph add prefix for sh:shapesGraph --- .../domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 05f0a104..ad01da15 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -8,6 +8,8 @@ @prefix conn1: . @prefix sample_Data: . @prefix dct: . +@prefix sh: . + # This document contains an example of a resource and how it is represented in the information model. From 6dcb926f709d9589663ce853e9c4938292e42a53 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 15:40:35 +0200 Subject: [PATCH 089/288] Remove ids:primarysite and replace by org:hasPrimarySite Remove ids:primarysite and replace by org:hasPrimarySite --- examples/PARTICIPANT_1.jsonld | 2 +- examples/PARTICIPANT_1.ttl | 2 +- examples/PARTICIPANT_2.ttl | 2 +- examples/PARTICIPANT_3.ttl | 6 +++--- model/participant/Participant.ttl | 7 ------- testing/participant/ParticipantShape.ttl | 4 ++-- 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index b29ec77e..81153880 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -24,7 +24,7 @@ "ids:participantCertification": { "@id": "_:ub97bL19C34" }, - "ids:primarySite": { + "org:hasPrimarySite": { "@id": "_:ub97bL15C21" }, "ids:legalForm" : "DX6Z" , diff --git a/examples/PARTICIPANT_1.ttl b/examples/PARTICIPANT_1.ttl index 32688ad0..04865682 100644 --- a/examples/PARTICIPANT_1.ttl +++ b/examples/PARTICIPANT_1.ttl @@ -16,7 +16,7 @@ part1: ids:corporateEmailAddress "info@aastat.de" ; ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. - ids:primarySite [ + org:hasPrimarySite [ a org:hasPrimarySite ; ids:siteAddress "Agentur für Autobahnstatistik, Am Hügel 5, D-53121 Bonn" ; ] ; diff --git a/examples/PARTICIPANT_2.ttl b/examples/PARTICIPANT_2.ttl index 0976c836..57a351a1 100644 --- a/examples/PARTICIPANT_2.ttl +++ b/examples/PARTICIPANT_2.ttl @@ -13,7 +13,7 @@ part2: ids:corporateEmailAddress "info@app4traffic.de" ; ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. - ids:primarySite [ + org:hasPrimarySite [ a org:hasPrimarySite ; ids:siteAddress "App4Traffic GmbH, Am Rheinufer 7, D-53127 Bonn" ; ] ; diff --git a/examples/PARTICIPANT_3.ttl b/examples/PARTICIPANT_3.ttl index 0e4c5618..80ddf9b8 100644 --- a/examples/PARTICIPANT_3.ttl +++ b/examples/PARTICIPANT_3.ttl @@ -13,7 +13,7 @@ part3: ids:corporateEmailAddress "info@supercargo.de" ; ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. - ids:primarySite [ + org:hasPrimarySite [ a org:hasPrimarySite ; ids:siteAddress "Supercargo Gmbh, Musterstraße 5, Köln, Deutschland" ; ] ; @@ -34,7 +34,7 @@ part3:ru ids:corporateHomepage ; # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 - ids:primarySite [ + org:hasPrimarySite [ a org:hasPrimarySite ; ids:siteAddress "Supercargo OOO, Yлица пример 120, Москва, Россия" ; ] @@ -48,7 +48,7 @@ part3:hk ids:corporateHomepage ; # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 - ids:primarySite [ + org:hasPrimarySite [ a org:hasPrimarySite ; ids:siteAddress "Sample Road 15c, Hongkong" ; ] diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 59fd4665..0a16763e 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -29,13 +29,6 @@ ids:legalName rdfs:comment "The complete legal name of a Participant. Unlike the title property for the participant which refers to the commonly used name or term for the Participant, a legal name identifies a participant for legal, administrative and other official purposes."@en ; . -ids:primarySite rdfs:subPropertyOf org:hasPrimarySite; - a owl:ObjectProperty; - rdfs:label "primarySite"@en; - rdfs:domain ids:Participant; - rdfs:range org:hasPrimarySite; - 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. - ids:corporateEmailAddress rdfs:subPropertyOf foaf:mbox; a owl:DatatypeProperty; rdfs:label "corporateEmailAddress"@en; diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 6ba5d0e5..3d0fe25f 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -29,11 +29,11 @@ shapes:ParticipantShape sh:property [ a sh:PropertyShape ; - sh:path ids:primarySite ; + sh:path org:hasPrimarySite ; sh:class org:hasPrimarySite ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ParticipantShape): An ids:Participant must not have more than one org:hasPrimarySite linked through the ids:primarySite property"@en ; + sh:message " (ParticipantShape): An ids:Participant must not have more than one org:hasPrimarySite linked through the org:hasPrimarySite property"@en ; ] ; sh:property [ From fdd9ead00de4b370f564fb63719b7f428c63a919 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 18:42:43 +0200 Subject: [PATCH 090/288] Remove ids:corporateEmailAddress, instead use foaf:mbox Remove ids:corporateEmailAddress, instead use foaf:mbox --- examples/PARTICIPANT_1.jsonld | 3 ++- examples/PARTICIPANT_1.ttl | 3 ++- examples/PARTICIPANT_2.ttl | 3 ++- examples/PARTICIPANT_3.ttl | 7 ++++--- model/participant/Participant.ttl | 7 ------- testing/participant/ParticipantShape.ttl | 4 ++-- 6 files changed, 12 insertions(+), 15 deletions(-) diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index 81153880..bf084673 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -7,13 +7,14 @@ "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", + "foaf:mbox": "info@aastat.de", "ids:corporateHomepage": { "@id": "http://aastat.de" }, diff --git a/examples/PARTICIPANT_1.ttl b/examples/PARTICIPANT_1.ttl index 04865682..ab03ea89 100644 --- a/examples/PARTICIPANT_1.ttl +++ b/examples/PARTICIPANT_1.ttl @@ -5,6 +5,7 @@ # 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 @@ -13,7 +14,7 @@ part1: 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 ; - ids:corporateEmailAddress "info@aastat.de" ; + foaf:mbox "info@aastat.de" ; ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ diff --git a/examples/PARTICIPANT_2.ttl b/examples/PARTICIPANT_2.ttl index 57a351a1..d5d84a7c 100644 --- a/examples/PARTICIPANT_2.ttl +++ b/examples/PARTICIPANT_2.ttl @@ -4,13 +4,14 @@ @prefix xsd: . @prefix part2: . @prefix dct: . +@prefix foaf: . part2: a ids:Participant ; dct:title "App4Traffic GmbH"@en; dct:description "Software development and service provision"@en ; - ids:corporateEmailAddress "info@app4traffic.de" ; + foaf:mbox "info@app4traffic.de" ; ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ diff --git a/examples/PARTICIPANT_3.ttl b/examples/PARTICIPANT_3.ttl index 80ddf9b8..f4352f3e 100644 --- a/examples/PARTICIPANT_3.ttl +++ b/examples/PARTICIPANT_3.ttl @@ -4,13 +4,14 @@ @prefix idsc: . @prefix part3: . @prefix dct: . +@prefix foaf: . part3: a ids:Participant ; dct:title "Supercargo GmbH"@en; dct:description "Interational logistics company"@en ; - ids:corporateEmailAddress "info@supercargo.de" ; + foaf:mbox "info@supercargo.de" ; ids:corporateHomepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ @@ -30,7 +31,7 @@ part3:ru a ids:Participant ; dct:title "Supercargo OOO"@en; dct:description "Interational logistics company"@en ; - ids:corporateEmailAddress "info@supercargo.ru" ; + foaf:mbox "info@supercargo.ru" ; ids:corporateHomepage ; # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 @@ -44,7 +45,7 @@ part3:hk a ids:Participant ; dct:title "Supercargo Ltd."@en; dct:description "Interational logistics company"@en ; - ids:corporateEmailAddress "info@supercargo.hk" ; + foaf:mbox "info@supercargo.hk" ; ids:corporateHomepage ; # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 0a16763e..a0f3bc69 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -29,13 +29,6 @@ ids:legalName rdfs:comment "The complete legal name of a Participant. Unlike the title property for the participant which refers to the commonly used name or term for the Participant, a legal name identifies a participant for legal, administrative and other official purposes."@en ; . -ids:corporateEmailAddress rdfs:subPropertyOf foaf:mbox; - a owl:DatatypeProperty; - rdfs:label "corporateEmailAddress"@en; - rdfs:domain ids:Participant; - rdfs:range xsd:string; - rdfs:comment "Email address for contacting the participant on a general level."@en. - ids:corporateHomepage rdfs:subPropertyOf foaf:homepage; a owl:DatatypeProperty; rdfs:label "corporateHomepage"@en; diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 3d0fe25f..b6e37c1d 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -38,10 +38,10 @@ shapes:ParticipantShape sh:property [ a sh:PropertyShape ; - sh:path ids:corporateEmailAddress ; + sh:path foaf:mbox ; sh:datatype xsd:string ; sh:severity sh:Violation ; - sh:message " (ParticipantShape): An ids:corporateEmailAddress property must point from an ids:Participant to xsd:string. "@en ; + sh:message " (ParticipantShape): A foaf:mbox property must point from an ids:Participant to xsd:string. "@en ; ] ; sh:property [ From 951727692391b319aea6eca11b54b83b85a58982 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 9 Sep 2021 18:49:14 +0200 Subject: [PATCH 091/288] Remove ids:corporateHomepage, instead use foaf:homepage Remove ids:corporateHomepage, instead use foaf:homepage --- examples/PARTICIPANT_1.jsonld | 2 +- examples/PARTICIPANT_1.ttl | 2 +- examples/PARTICIPANT_2.ttl | 2 +- examples/PARTICIPANT_3.ttl | 6 +++--- model/participant/Participant.ttl | 7 ------- testing/participant/ParticipantShape.ttl | 4 ++-- 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index bf084673..32690629 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -15,7 +15,7 @@ "@id": "https://im.internationaldataspaces.org/participant/part1", "@type": "ids:Participant", "foaf:mbox": "info@aastat.de", - "ids:corporateHomepage": { + "foaf:homepage": { "@id": "http://aastat.de" }, "dct:description": { diff --git a/examples/PARTICIPANT_1.ttl b/examples/PARTICIPANT_1.ttl index ab03ea89..e943369a 100644 --- a/examples/PARTICIPANT_1.ttl +++ b/examples/PARTICIPANT_1.ttl @@ -15,7 +15,7 @@ part1: 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" ; - ids:corporateHomepage ; + foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ a org:hasPrimarySite ; diff --git a/examples/PARTICIPANT_2.ttl b/examples/PARTICIPANT_2.ttl index d5d84a7c..3c830b0a 100644 --- a/examples/PARTICIPANT_2.ttl +++ b/examples/PARTICIPANT_2.ttl @@ -12,7 +12,7 @@ part2: dct:title "App4Traffic GmbH"@en; dct:description "Software development and service provision"@en ; foaf:mbox "info@app4traffic.de" ; - ids:corporateHomepage ; + foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ a org:hasPrimarySite ; diff --git a/examples/PARTICIPANT_3.ttl b/examples/PARTICIPANT_3.ttl index f4352f3e..71764f1c 100644 --- a/examples/PARTICIPANT_3.ttl +++ b/examples/PARTICIPANT_3.ttl @@ -12,7 +12,7 @@ part3: dct:title "Supercargo GmbH"@en; dct:description "Interational logistics company"@en ; foaf:mbox "info@supercargo.de" ; - ids:corporateHomepage ; + foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ a org:hasPrimarySite ; @@ -32,7 +32,7 @@ part3:ru dct:title "Supercargo OOO"@en; dct:description "Interational logistics company"@en ; foaf:mbox "info@supercargo.ru" ; - ids:corporateHomepage ; + foaf:homepage ; # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 org:hasPrimarySite [ @@ -46,7 +46,7 @@ part3:hk dct:title "Supercargo Ltd."@en; dct:description "Interational logistics company"@en ; foaf:mbox "info@supercargo.hk" ; - ids:corporateHomepage ; + foaf:homepage ; # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 org:hasPrimarySite [ diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index a0f3bc69..adc06944 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -29,13 +29,6 @@ ids:legalName rdfs:comment "The complete legal name of a Participant. Unlike the title property for the participant which refers to the commonly used name or term for the Participant, a legal name identifies a participant for legal, administrative and other official purposes."@en ; . -ids:corporateHomepage rdfs:subPropertyOf foaf:homepage; - a owl:DatatypeProperty; - rdfs:label "corporateHomepage"@en; - rdfs:domain ids:Participant; - rdfs:range xsd:anyURI; - rdfs:comment "General official homepage of the participant."@en. - ids:memberParticipant rdfs:subPropertyOf org:hasMember; a owl:ObjectProperty; rdfs:domain ids:Participant; diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index b6e37c1d..768813fe 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -46,11 +46,11 @@ shapes:ParticipantShape sh:property [ a sh:PropertyShape ; - sh:path ids:corporateHomepage ; + sh:path foaf:homepage ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ParticipantShape): An ids:corporateHomepage property must not have more than one point from an ids:Participant to a homepage IRI."@en ; + sh:message " (ParticipantShape): A foaf:homepage property must not have more than one point from an ids:Participant to a homepage IRI."@en ; ] ; sh:property [ From 97a83de318669d757b1d01a5b3eff092df32246d Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 15 Sep 2021 17:43:41 +0200 Subject: [PATCH 092/288] Remove ids:familyName Remove ids:familyName, instead use foaf:familyName --- model/participant/Participant.ttl | 7 ------- testing/participant/ParticipantShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index adc06944..f12f0123 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -95,13 +95,6 @@ ids:memberPerson rdfs:subPropertyOf org:hasMember; rdfs:label "memberPerson"@en; rdfs:comment "Indicates membership of a person to an organization."@en. -ids:familyName rdfs:subPropertyOf foaf:familyName; - a owl:DatatypeProperty; - rdfs:domain foaf:Person; - rdfs:range xsd:string; - rdfs:label "familyName"@en; - rdfs:comment "Family name of a Person."@en. - ids:givenName rdfs:subPropertyOf foaf:givenName; a owl:DatatypeProperty; rdfs:domain foaf:Person; diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 768813fe..5d845d46 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -136,11 +136,11 @@ shapes:PersonShape sh:property [ a sh:PropertyShape ; - sh:path ids:familyName ; + sh:path foaf:familyName ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:familyName property must not have more than one point from an foaf:Person to an xsd:string."@en ; + sh:message " (PersonShape): A foaf:familyName property must not have more than one point from an foaf:Person to an xsd:string."@en ; ] ; sh:property [ From ad0853205978490b35416a977accdb35404cff97 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 15 Sep 2021 17:47:22 +0200 Subject: [PATCH 093/288] Remove ids:givenName Remove ids:givenName, instead use foaf:givenName --- model/participant/Participant.ttl | 7 ------- testing/participant/ParticipantShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index f12f0123..e29b7493 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -95,13 +95,6 @@ ids:memberPerson rdfs:subPropertyOf org:hasMember; rdfs:label "memberPerson"@en; rdfs:comment "Indicates membership of a person to an organization."@en. -ids:givenName rdfs:subPropertyOf foaf:givenName; - a owl:DatatypeProperty; - rdfs:domain foaf:Person; - rdfs:range xsd:string; - rdfs:label "givenName"@en; - rdfs:comment "Given name of a Person."@en. - ids:phoneNumber rdfs:subPropertyOf foaf:phone; a owl:DatatypeProperty; rdfs:domain foaf:Person; diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 5d845d46..46aafce5 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -145,11 +145,11 @@ shapes:PersonShape sh:property [ a sh:PropertyShape ; - sh:path ids:givenName ; + sh:path foaf:givenName ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:givenName property must not have more than one point from an foaf:Person to an xsd:string."@en ; + sh:message " (PersonShape): A foaf:givenName property must not have more than one point from an foaf:Person to an xsd:string."@en ; ] ; sh:property [ From b81fdd62222cc4459f6b7bdd47e89e36f34cc627 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 15 Sep 2021 17:52:55 +0200 Subject: [PATCH 094/288] Remove ids:phoneNumber Remove ids:phoneNumber, instead use foaf:phone --- model/participant/Participant.ttl | 7 ------- testing/participant/ParticipantShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index e29b7493..6a4a27f9 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -95,13 +95,6 @@ ids:memberPerson rdfs:subPropertyOf org:hasMember; rdfs:label "memberPerson"@en; rdfs:comment "Indicates membership of a person to an organization."@en. -ids:phoneNumber rdfs:subPropertyOf foaf:phone; - a owl:DatatypeProperty; - rdfs:domain foaf:Person; - rdfs:range xsd:string; - rdfs:label "phoneNumber"@en; - rdfs:comment "Phone number of a person."@en. - ids:emailAddress rdfs:subPropertyOf foaf:mbox; a owl:DatatypeProperty; rdfs:domain foaf:Person; diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 46aafce5..0d97931d 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -154,10 +154,10 @@ shapes:PersonShape sh:property [ a sh:PropertyShape ; - sh:path ids:phoneNumber ; + sh:path foaf:phone ; sh:datatype xsd:string ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:phoneNumber property must point from an foaf:Person to an xsd:string."@en ; + sh:message " (PersonShape): A foaf:phone property must point from an foaf:Person to an xsd:string."@en ; ] ; sh:property [ From 16cc6dab2a1c536340869abda20de654d28a1039 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 15 Sep 2021 18:03:19 +0200 Subject: [PATCH 095/288] Remove ids:emailAddress Remove ids:emailAddress, instead use foaf:mbox --- model/participant/Participant.ttl | 7 ------- testing/participant/ParticipantShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 6a4a27f9..1aff805c 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -95,13 +95,6 @@ ids:memberPerson rdfs:subPropertyOf org:hasMember; rdfs:label "memberPerson"@en; rdfs:comment "Indicates membership of a person to an organization."@en. -ids:emailAddress rdfs:subPropertyOf foaf:mbox; - a owl:DatatypeProperty; - rdfs:domain foaf:Person; - rdfs:range xsd:string; - rdfs:label "emailAddress"@en; - rdfs:comment "Email contact of a person."@en. - ids:homepage rdfs:subPropertyOf foaf:homepage; a owl:DatatypeProperty; rdfs:domain foaf:Person; diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 0d97931d..799adf59 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -162,10 +162,10 @@ shapes:PersonShape sh:property [ a sh:PropertyShape ; - sh:path ids:emailAddress ; + sh:path foaf:mbox ; sh:datatype xsd:string ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:emailAddress property must point from an foaf:Person to an xsd:string."@en ; + sh:message " (PersonShape): A foaf:mbox property must point from an foaf:Person to an xsd:string."@en ; ] ; sh:property [ From 6458710a3d047579ad3a308ac1d92dfcd38c1d38 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 15 Sep 2021 18:15:18 +0200 Subject: [PATCH 096/288] Remove ids:homepage Remove ids:homepage, instead use foaf:homepage --- model/participant/Participant.ttl | 7 ------- testing/participant/ParticipantShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 1aff805c..723476f6 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -95,13 +95,6 @@ ids:memberPerson rdfs:subPropertyOf org:hasMember; rdfs:label "memberPerson"@en; rdfs:comment "Indicates membership of a person to an organization."@en. -ids:homepage rdfs:subPropertyOf foaf:homepage; - a owl:DatatypeProperty; - rdfs:domain foaf:Person; - rdfs:range xsd:string; - rdfs:label "homepage"@en; - rdfs:comment "Website providing additional information about a person."@en. - # Properties for describing a Site # -------------------------------- diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 799adf59..fe651c07 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -170,11 +170,11 @@ shapes:PersonShape sh:property [ a sh:PropertyShape ; - sh:path ids:homepage ; + sh:path foaf:homepage ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (PersonShape): An ids:homepage property must not have more than one point from an foaf:Person to an xsd:string."@en ; + sh:message " (PersonShape): An foaf:homepage property must not have more than one point from an foaf:Person to an xsd:string."@en ; ] . From 681d430955a73881d5708272fa900bb03694328f Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 12:20:04 +0200 Subject: [PATCH 097/288] Remove ids:identifierNumber Remove ids:identifierNumber, instead use dct:identifier --- model/participant/BusinessIdentifier.ttl | 12 +----------- testing/participant/BusinessIdentifierShape.ttl | 5 +++-- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/model/participant/BusinessIdentifier.ttl b/model/participant/BusinessIdentifier.ttl index 6c45dc2c..5a28da2c 100644 --- a/model/participant/BusinessIdentifier.ttl +++ b/model/participant/BusinessIdentifier.ttl @@ -17,15 +17,5 @@ ids:identifierSystem rdfs:range xsd:string ; rdfs:label "identifier system"@en ; rdfs:comment "This property is used to define the system used as an business identifier. E.g., DUNS or SIRET."@en ; -. - -ids:identifierNumber - a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:identifier ; - rdfs:domain ids:BusinessIdentifier ; - rdfs:range xsd:string ; - rdfs:label "identifier number"@en ; - rdfs:comment "This property is used to define the value used as an business identifier."@en ; -. - +. \ No newline at end of file diff --git a/testing/participant/BusinessIdentifierShape.ttl b/testing/participant/BusinessIdentifierShape.ttl index 512d38a8..dc81b185 100644 --- a/testing/participant/BusinessIdentifierShape.ttl +++ b/testing/participant/BusinessIdentifierShape.ttl @@ -5,6 +5,7 @@ @prefix ids: . @prefix sh: . @prefix shapes: . +@prefix dct: . shapes: a owl:Ontology ; @@ -35,11 +36,11 @@ shapes:BusinessIdentifierShape sh:property [ a sh:PropertyShape ; - sh:path ids:identifierNumber ; + sh:path dct:identifier ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (BusinessIdentifierShape): An ids:BusinessIdentifier must have exactly one identifier number as a xsd:string linked through the ids:identifierNumber property. "@en ; + sh:message " (BusinessIdentifierShape): An ids:BusinessIdentifier must have exactly one identifier number as a xsd:string linked through the dct:identifier property. "@en ; ] ; . \ No newline at end of file From 345b51f21ed62dfc5842e51698d6f51d326dda0e Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 12:32:19 +0200 Subject: [PATCH 098/288] Remove ids:publisher Remove ids:publisher, instead use dct:publisher --- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- model/content/Resource.ttl | 8 -------- testing/content/ResourceShape.ttl | 4 ++-- 6 files changed, 6 insertions(+), 14 deletions(-) diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index dcea35da..049b38e5 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -19,7 +19,7 @@ data1: ids: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. diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index ad01da15..bd4c3888 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -23,7 +23,7 @@ sample_Data: ids: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 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 078f59a2..47fe9e78 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 @@ -30,7 +30,7 @@ life_expectancy:Resource 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 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 4d042bb6..224ddfbb 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 @@ -34,7 +34,7 @@ life_expectancy:Resource 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 diff --git a/model/content/Resource.ttl b/model/content/Resource.ttl index a4a4d085..dd0b9658 100644 --- a/model/content/Resource.ttl +++ b/model/content/Resource.ttl @@ -67,14 +67,6 @@ ids:paymentModality 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. -ids:publisher - a owl:ObjectProperty ; - rdfs:subPropertyOf dct:publisher ; - rdfs:domain ids:Resource ; - rdfs:range foaf:Agent ; - rdfs:label "publisher"@en; - rdfs:comment "The publisher of the resource (which may differ from the sovereign)."@en. - ids:sovereign a owl:ObjectProperty ; rdfs:domain ids:Resource ; diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index 280fe982..2c4fb603 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -67,11 +67,11 @@ shapes:ResourceShape sh:property [ a sh:PropertyShape ; - sh:path ids:publisher ; + sh:path dct:publisher ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ResourceShape): An ids:publisher property must not have more than one point from an ids:Resource to an foaf:Agent."@en ; + 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 [ From 09b192df92eb1412107d90be3a41524cd7cdf452 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 12:51:14 +0200 Subject: [PATCH 099/288] Remove ids:mediaType Remove ids:mediaType, instead use dcat:mediaType --- examples/APP_RESOURCE.ttl | 4 +++- examples/APP_RESOURCE_old.jsonld | 3 ++- examples/DATA1.ttl | 5 +++-- examples/DATA2.ttl | 4 ++-- examples/TEXT_RESOURCE.ttl | 6 ++++-- .../domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl | 3 ++- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 3 ++- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 3 ++- testing/content/RepresentationShape.ttl | 4 ++-- 9 files changed, 22 insertions(+), 13 deletions(-) diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index 3a0d7a90..eca22da6 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -3,6 +3,8 @@ @prefix xsd: . @prefix idsc: . @prefix dct: . +@prefix dcat: . + a ids:AppResource; @@ -21,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 ab675de5..a58b03ee 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.jsonld @@ -5,6 +5,7 @@ "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": [{ @@ -29,7 +30,7 @@ "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" } }, { diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index c2421845..173f8ddc 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -5,6 +5,7 @@ @prefix time: . @prefix odrl: . @prefix dct: . +@prefix dcat: . @prefix conn2: . @prefix data1: . @@ -29,12 +30,12 @@ data1: ids: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 ; ] ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index d06d6a60..3d7f854c 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -31,7 +31,7 @@ data2: a ids:Resource ; # ids:representation [ a dcat:Distribution ; - ids:mediaType ; + dcat:mediaType ; ids:instance data2:tar_gzip_archive ; ] ; ids:resourceEndpoint [ @@ -69,7 +69,7 @@ data2:generic_content ids:representation [ a ids:DataRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance data2:E1_20000101, # imagine plenty of artifacts here ... diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 049b38e5..a426dbed 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -7,6 +7,8 @@ @prefix time: . @prefix odrl: . @prefix dct: . +@prefix dcat: . + @@ -43,7 +45,7 @@ data1: ids:language idsc:EN ; ids:representation [ a ids:TextRepresentation ; - ids:mediaType ; + dcat:mediaType ; ids:instance data1:report_pdf ; ] ; @@ -62,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 ; ] ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index bd4c3888..c1a7efb7 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -9,6 +9,7 @@ @prefix sample_Data: . @prefix dct: . @prefix sh: . +@prefix dcat: . @@ -52,7 +53,7 @@ sample_Data: ids:representation [ a ids:DataRepresentation ; - ids:mediaType idsc:APPLICATION_JSON; + dcat:mediaType idsc:APPLICATION_JSON; ids:instance sample_Data:tempdata_file ; ] ; 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 47fe9e78..facd09be 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 @@ -7,6 +7,7 @@ @prefix interval: . @prefix time: . @prefix dct: . +@prefix dcat: . @prefix life_expectancy: . @prefix life_expectancy-geo: . @@ -55,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 ; ] ; . 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 224ddfbb..4c0d35e2 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 @@ -7,6 +7,7 @@ @prefix sh: . @prefix qb: . @prefix dct: . +@prefix dcat: . @prefix admingeo: . @@ -63,7 +64,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 ; ] ; . diff --git a/testing/content/RepresentationShape.ttl b/testing/content/RepresentationShape.ttl index 847d2189..25a490e1 100644 --- a/testing/content/RepresentationShape.ttl +++ b/testing/content/RepresentationShape.ttl @@ -36,11 +36,11 @@ shapes:RepresentationShape sh:property [ a sh:PropertyShape ; - sh:path ids:mediaType ; + 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 ids:mediaType property"@en ; + sh:message " (RepresentationShape): A dcat:Distribution must not have more than one dct:MediaType linked through the dcat:mediaType property"@en ; ] ; sh:property [ From ee3157b526aaefb0e9f5f3ae9933779257267a5f Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 13:12:45 +0200 Subject: [PATCH 100/288] Remove ids:mediaType Remove ids:mediaType --- model/content/Representation.ttl | 8 -------- 1 file changed, 8 deletions(-) diff --git a/model/content/Representation.ttl b/model/content/Representation.ttl index 322244bb..7f90f96d 100644 --- a/model/content/Representation.ttl +++ b/model/content/Representation.ttl @@ -35,14 +35,6 @@ ids:instance rdfs:label "instance"@en ; rdfs:comment "Reference to an instance of given representation, i.e. inline value or file placeholder."@en. -ids:mediaType - a owl:ObjectProperty ; - # consider alternatives: dcterms:FileFormat/dcterms:MediaType etc. - rdfs:subPropertyOf dcat:mediaType ; - rdfs:domain dcat:Distribution ; - rdfs:range dct:MediaType ; - rdfs:label "media type"@en ; - rdfs:comment "Media Type of the Representation."@en. # Standard followed at representation level, i.e. it governs the serialization of an abstract content like RDF/XML, Turtle for RDF ids:representationStandard From 99d04b7b38d887e89a7ffd3ec85ded8b881d6498 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 13:32:40 +0200 Subject: [PATCH 101/288] Remove ids:creationDate Remove ids:creationDate, instead use dct:created --- examples/APP_RESOURCE_old.jsonld | 2 +- examples/DATA1.ttl | 4 ++-- examples/DATA2.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 8 ++++---- .../TEMP_RESOURCE.ttl | 2 +- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- model/content/Artifact.ttl | 8 -------- testing/content/ArtifactShape.ttl | 4 ++-- .../3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl | 6 +++--- 10 files changed, 16 insertions(+), 24 deletions(-) diff --git a/examples/APP_RESOURCE_old.jsonld b/examples/APP_RESOURCE_old.jsonld index a58b03ee..356f4c2d 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.jsonld @@ -37,7 +37,7 @@ "@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" }, diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 173f8ddc..759acef7 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -59,14 +59,14 @@ 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 diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 3d7f854c..29c823e9 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -45,7 +45,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 ; . diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index a426dbed..adb51a5a 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -94,14 +94,14 @@ 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 @@ -137,12 +137,12 @@ _: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/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index c1a7efb7..6a10ee72 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -113,5 +113,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/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 facd09be..49559f7d 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 @@ -70,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 4c0d35e2..3ece62e1 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 @@ -78,7 +78,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/model/content/Artifact.ttl b/model/content/Artifact.ttl index 084bfb4c..57aa33da 100644 --- a/model/content/Artifact.ttl +++ b/model/content/Artifact.ttl @@ -51,14 +51,6 @@ ids:fileName rdfs:domain ids:Artifact ; rdfs:range xsd:string . -ids:creationDate - a owl:DatatypeProperty; - rdfs:subPropertyOf dct:created ; - rdfs:label "creation date"@en ; - rdfs:comment "Date (as xsd:dateTimeStamp) when the artifact was created, i.e. persisted."@en ; - rdfs:domain ids:Artifact ; - rdfs:range xsd:dateTimeStamp . - # replaced by ids:Value #ids:literalValue diff --git a/testing/content/ArtifactShape.ttl b/testing/content/ArtifactShape.ttl index f4747dcd..66d922df 100644 --- a/testing/content/ArtifactShape.ttl +++ b/testing/content/ArtifactShape.ttl @@ -47,11 +47,11 @@ shapes:ArtifactShape sh:property [ a sh:PropertyShape ; - sh:path ids:creationDate ; + sh:path dct:created ; sh:datatype xsd:dateTimeStamp ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ArtifactShape): An ids:Artifact must not have more than one xsd:dateTimeStamp linked through the ids:creationDate property"@en ; + sh:message " (ArtifactShape): An ids:Artifact must not have more than one xsd:dateTimeStamp linked through the dct:created property"@en ; ] ; sh:property [ diff --git a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl index 74c33480..1c65c34d 100644 --- a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl +++ b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl @@ -169,11 +169,11 @@ ids:ArtifactUpgradeShape prefix idsm: CONSTRUCT { - $this ids:creationDate ?newCreationDate . - idsm:VersionUpgrade ids:creationDate ?oldCreationDate. + $this dct:created ?newCreationDate . + idsm:VersionUpgrade dct:created ?oldCreationDate. } WHERE { - OPTIONAL {$this ids:creationDate ?oldCreationDate .} + OPTIONAL {$this dct:created ?oldCreationDate .} BIND(if(regex(?oldCreationDate, ".*(Z|(\+|-)[0-9][0-9]:[0-9][0-9])"), oldCreationDate, From 8e5c01ff27563ba1b016bf4dc7c70d312253209a Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 17:12:16 +0200 Subject: [PATCH 102/288] Remove ids:language Remove ids:language, instead use dct:language --- examples/DATA1.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 4 ++-- .../TEMP_RESOURCE.ttl | 2 +- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- model/content/DigitalContent.ttl | 10 ---------- testing/communication/EndpointShape.ttl | 4 ++-- testing/content/RepresentationShape.ttl | 4 ++-- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 9 files changed, 12 insertions(+), 22 deletions(-) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 759acef7..ab193398 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -27,7 +27,7 @@ data1: ids:dateTime "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; ] ; - ids:language idsc:EN ; + dct:language idsc:EN ; ids:representation [ a ids:TextRepresentation ; dcat:mediaType ; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index adb51a5a..e4201355 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -42,7 +42,7 @@ data1: ids:dateTime "2002-12-31T13:20:00Z"^^xsd:dateTimeStamp; ] ; ] ; - ids:language idsc:EN ; + dct:language idsc:EN ; ids:representation [ a ids:TextRepresentation ; dcat:mediaType ; @@ -53,7 +53,7 @@ data1: ids:standardLicense ; # 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 ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 6a10ee72..204e2312 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -38,7 +38,7 @@ sample_Data: ids:standardLicense 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 [ 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 49559f7d..50b99119 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 @@ -47,7 +47,7 @@ life_expectancy:Resource ids:customLicense ; # Language of resource - ids:language idsc:EN ; + dct:language idsc:EN ; # Data cube details qb:structure life_expectancy: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 3ece62e1..6e7a36ef 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 @@ -51,7 +51,7 @@ life_expectancy:Resource ids:customLicense ; # Language of resource - ids:language idsc:EN ; + dct:language idsc:EN ; # Data cube details qb:structure life_expectancy:Structure ; diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 4e6be33d..9ee443d4 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -88,16 +88,6 @@ ids:defaultRepresentation rdfs:range dcat:Distribution; rdfs:comment "Default representation of the content."@en. -ids:language - a owl:ObjectProperty; - rdfs:subPropertyOf dct:language; - rdfs:domain [ rdf:type owl:Class ; - owl:unionOf ( ids:DigitalContent dcat:Distribution ids:AppEndpoint) - ] ; - rdfs:range ids:Language; # does not fit the defined range of dct:language - dct:LinguisticSystem ! - rdfs:label "language"@en; - rdfs:comment "Natural language(s) used within the content."@en. - ids:theme # ... "topic" / "subject" ? a owl:ObjectProperty; rdfs:subPropertyOf dcat:theme; # is a sub-property of dct:subject, comparable to qb:concept (?) diff --git a/testing/communication/EndpointShape.ttl b/testing/communication/EndpointShape.ttl index 22bb771b..463138d5 100644 --- a/testing/communication/EndpointShape.ttl +++ b/testing/communication/EndpointShape.ttl @@ -153,11 +153,11 @@ shapes:AppEndpointShape sh:property [ a sh:PropertyShape ; - sh:path ids:language ; + sh:path dct:language ; sh:class ids:Language ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AppEndpointShape): An ids:language property must not have more than one point from an ids:AppEndpoint to an ids:Language."@en ; + sh:message " (AppEndpointShape): A dct:language property must not have more than one point from an ids:AppEndpoint to an ids:Language."@en ; ] ; . diff --git a/testing/content/RepresentationShape.ttl b/testing/content/RepresentationShape.ttl index 25a490e1..350cf23d 100644 --- a/testing/content/RepresentationShape.ttl +++ b/testing/content/RepresentationShape.ttl @@ -54,11 +54,11 @@ shapes:RepresentationShape sh:property [ a sh:PropertyShape ; - sh:path ids:language ; + sh:path dct:language ; sh:class ids:Language ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RepresentationShape): An ids:language property must point from a dcat:Distribution to an ids:Language."@en ; + sh:message " (RepresentationShape): A dct:language property must point from a dcat:Distribution to an ids:Language."@en ; ] ; sh:property [ diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index ab47ff57..5fd509cd 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -73,10 +73,10 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:language ; + sh:path dct:language ; sh:class ids:Language ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:language property must point from an ids:DigitalContent to an ids:Language."@en ; + sh:message " (DigitalContentShape): A dct:language property must point from an ids:DigitalContent to an ids:Language."@en ; ] ; sh:property [ From 57b1f15be779a91578a40cab22452d35d4f75333 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 17:21:47 +0200 Subject: [PATCH 103/288] Remove ids:theme Remove ids:theme, instead use dct:theme --- model/content/DigitalContent.ttl | 9 --------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 9ee443d4..23419652 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -88,15 +88,6 @@ ids:defaultRepresentation rdfs:range dcat:Distribution; rdfs:comment "Default representation of the content."@en. -ids:theme # ... "topic" / "subject" ? - a owl:ObjectProperty; - rdfs:subPropertyOf dcat:theme; # is a sub-property of dct:subject, comparable to qb:concept (?) - rdfs:label "theme"@en; - rdfs:domain ids:DigitalContent; - rdfs:range skos:Concept; # former "ContentCategory", skos:Concepts organized in a skos:ConceptScheme - rdfs:comment "Abstract or concrete concept related to or referred by the content."@en. - - ids:keyword a owl:DatatypeProperty; rdfs:subPropertyOf dcat:keyword; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 5fd509cd..e854e511 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -81,10 +81,10 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:theme ; + sh:path dcat:theme ; sh:nodeKind sh:IRI ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:theme property must point from an ids:DigitalContent to an skos:Concept."@en ; + sh:message " (DigitalContentShape): A dcat:theme property must point from an ids:DigitalContent to an skos:Concept."@en ; ] ; sh:property [ From ee6691e694e963caf7c467a0c66384c4ce9b18e7 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 17:33:20 +0200 Subject: [PATCH 104/288] Remove ids:keyword Remove ids:keyword, instead use dcat:keyword --- examples/APPSTORE.jsonld | 5 +++-- examples/APPSTORE.ttl | 4 ++-- examples/APP_RESOURCE.ttl | 2 +- examples/APP_RESOURCE_old.jsonld | 2 +- examples/DATA1.ttl | 2 +- examples/DATA2.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../cli/conn_self_description.ttl | 6 +++--- model/content/DigitalContent.ttl | 8 -------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- .../3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl | 7 ++++--- 12 files changed, 20 insertions(+), 26 deletions(-) diff --git a/examples/APPSTORE.jsonld b/examples/APPSTORE.jsonld index 415352d9..53f13ae3 100644 --- a/examples/APPSTORE.jsonld +++ b/examples/APPSTORE.jsonld @@ -5,6 +5,7 @@ "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": [ @@ -18,7 +19,7 @@ "@language": "en", "@value": "AppResource 2." }, - "ids:keyword": [ + "dcat:keyword": [ "bla", "Data", "processing" @@ -73,7 +74,7 @@ "ids:securityProfile": { "@id": "idsc:BASE_SECURITY_PROFILE" }, - "ids:keyword": [ + "dcat:keyword": [ "bla", "Data", "processing" diff --git a/examples/APPSTORE.ttl b/examples/APPSTORE.ttl index d67e2bf4..c7006000 100644 --- a/examples/APPSTORE.ttl +++ b/examples/APPSTORE.ttl @@ -32,13 +32,13 @@ a ids:AppResource; dct:title "App Title" ; dct:description "AppResource 2."@en; - ids:keyword "Data", "processing", "bla" ; + dcat:keyword "Data", "processing", "bla" ; ids:customLicense ; . a ids:AppResource; dct:title "App 1 Title" ; dct:description "AppResource 1"@en; - ids:keyword "Data", "processing", "bla" ; + dcat:keyword "Data", "processing", "bla" ; ids:customLicense ; . diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index eca22da6..d7a996db 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -10,7 +10,7 @@ a ids:AppResource; dct:title "App Title" ; dct:description "Data App for something with data."@en; - ids:keyword "Data", "processing", "bla" ; + dcat:keyword "Data", "processing", "bla" ; ids:customLicense ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; diff --git a/examples/APP_RESOURCE_old.jsonld b/examples/APP_RESOURCE_old.jsonld index 356f4c2d..3a25e060 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.jsonld @@ -66,7 +66,7 @@ "@language": "en", "@value": "Data App for something with data." }, - "ids:keyword": [ + "dcat:keyword": [ "processing", "Data", "bla" diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index ab193398..68b0d71d 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -15,7 +15,7 @@ data1: a ids:TextResource ; dct:title "European highway statistics - accident report"@en ; dct:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; - ids:keyword "report", "highway", "statistics", "Europe" ; + dcat:keyword "report", "highway", "statistics", "Europe" ; ids:temporalCoverage [ a ids:Interval ; ids:begin [ diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 29c823e9..d354ed2e 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -22,7 +22,7 @@ data2: a ids:Resource ; # dct:title "European highway statistics"@en ; dct:description "Data collection about usage statistics of European highways"@en; - ids:keyword "highway", "statistics", "Europe"; + dcat:keyword "highway", "statistics", "Europe"; # the collection is extended once per month # ids:accrualPeriodicity "P1M"^^xsd:duration ; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index e4201355..ee7ac8f6 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -18,7 +18,7 @@ data1: a ids:TextResource ; dct:title "European highway statistics - accident report"@en ; dct:description "Detailed accident analysis report based on European highway statistics data 2000 - 2017."@en; - ids:keyword "report", "highway", "statistics", "Europe" ; + dcat:keyword "report", "highway", "statistics", "Europe" ; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. dct:publisher ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 204e2312..380a0641 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -21,7 +21,7 @@ sample_Data: a ids:DataResource ; dct:title "Sample temperature data"@en ; dct:description "Temperature data of ___ from 2001 - 2012 ."@en; - ids:keyword "temperature", "data" ; + dcat:keyword "temperature", "data" ; # Publisher and sovereign (owner) of the resource. Publisher and sovereign may differ. dct:publisher ""; 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 fbb2193f..7dc2eae0 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -26,7 +26,7 @@ ids:Resource ; ids:customLicense "www.licence.de" ; - ids:keyword ""@en ; + dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; @@ -74,7 +74,7 @@ ids:Resource ; ids:customLicense "www.licence.de" ; dct:description "Temperature data for IDS-Lab usecase"@en ; - ids:keyword "Temperature;JSON;IDS-Lab"@en ; + dcat:keyword "Temperature;JSON;IDS-Lab"@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; @@ -84,7 +84,7 @@ ids:Resource ; ids:customLicense "www.licence.de" ; - ids:keyword ""@en ; + dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 23419652..8e35fb85 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -88,14 +88,6 @@ ids:defaultRepresentation rdfs:range dcat:Distribution; rdfs:comment "Default representation of the content."@en. -ids:keyword - a owl:DatatypeProperty; - rdfs:subPropertyOf dcat:keyword; - 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. - ids:temporalCoverage a owl:ObjectProperty; rdfs:subPropertyOf dct:temporal; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index e854e511..1087a3bf 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -107,7 +107,7 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:keyword ; + sh:path dcat:keyword ; sh:or ( [ sh:datatype xsd:string ; @@ -117,7 +117,7 @@ shapes:DigitalContentShape ] ); sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:keyword property must point from an ids:DigitalContent to a xsd:string or rdf:langString (which additionally contains a language tag)."@en ; + sh:message " (DigitalContentShape): A dcat:keyword property must point from an ids:DigitalContent to a xsd:string or rdf:langString (which additionally contains a language tag)."@en ; ] ; sh:property [ diff --git a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl index 1c65c34d..7fe620f1 100644 --- a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl +++ b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl @@ -5,6 +5,7 @@ @prefix sh: . @prefix xsd: . @prefix dct: . +@prefix dcat: . @prefix ids: . @@ -241,11 +242,11 @@ ids:DigitalContentUpgradeShape prefix idsm: CONSTRUCT { - $this ids:keyword ?newKeyword . - idsm:VersionUpgrade ids:keyword ?oldKeyword. + $this dcat:keyword ?newKeyword . + idsm:VersionUpgrade dcat:keyword ?oldKeyword. } WHERE { - OPTIONAL {$this ids:keyword ?oldKeyword .} + OPTIONAL {$this dcat:keyword ?oldKeyword .} BIND(STRDT(STR(?oldKeyword), xsd:string) AS ?newKeyword) } """ ; From 8d22cadcefddaadbb038cd1674bb9cf65e0dbdd9 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 17:36:46 +0200 Subject: [PATCH 105/288] add prefix for dcat:keyword --- examples/APPSTORE.ttl | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/APPSTORE.ttl b/examples/APPSTORE.ttl index c7006000..7876362c 100644 --- a/examples/APPSTORE.ttl +++ b/examples/APPSTORE.ttl @@ -3,6 +3,7 @@ @prefix xsd: . @prefix idsc: . @prefix dct: . +@prefix dcat: . a ids:AppStore ; From ef9f099fd5e926fbf491254b3f8bc6ac2d97a41d Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 17:45:54 +0200 Subject: [PATCH 106/288] Remove ids:temporalCoverage Remove ids:temporalCoverage, instead use dct:temporal --- docs/sections/crossref-en.html | 2 +- docs/serializations/ontology.json | 2 +- docs/serializations/ontology.jsonld | 2 +- docs/serializations/ontology.n3 | 2 +- docs/serializations/ontology.nt | 2 +- docs/serializations/ontology.rdf | 2 +- docs/serializations/ontology.ttl | 2 +- docs/serializations/ontology.xml | 2 +- docs/webvowl/data/ontology.json | 2 +- examples/DATA1.ttl | 2 +- examples/DATA2.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- model/content/DigitalContent.ttl | 10 +--------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 17 files changed, 18 insertions(+), 26 deletions(-) diff --git a/docs/sections/crossref-en.html b/docs/sections/crossref-en.html index f59a1005..6ba7dc3d 100644 --- a/docs/sections/crossref-en.html +++ b/docs/sections/crossref-en.html @@ -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 dcat:Distribution, 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.
diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index d3cae4f8..17b359b9 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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 dcat:Distribution, 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" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index b345051b..341e3c70 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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 dcat:Distribution, 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" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 7b09b967..4a501af4 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 dcat:Distribution, 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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index ec147d53..7cfcc6e9 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 dcat:Distribution, 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 . . # diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 53761d18..0c839ddd 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -2577,7 +2577,7 @@ - The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, 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. + 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 diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 7b09b967..4a501af4 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 dcat:Distribution, 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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index 698a9bfb..32723871 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -2577,7 +2577,7 @@ - The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, 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. + 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 diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index a54f4485..e8956f42 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -17591,7 +17591,7 @@ }, "domain" : "21", "comment" : { - "en" : "The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, 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" : "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" diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 68b0d71d..115e9f89 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -16,7 +16,7 @@ data1: 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" ; - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; ids:begin [ a time:Instant ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index d354ed2e..6d8e6283 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -55,7 +55,7 @@ data2:generic_content a ids:DataResource ; # general coverage of the entire dataset - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; ids:begin [ a time:Instant ; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index ee7ac8f6..2afb08c6 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -31,7 +31,7 @@ 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 time:Instant; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 380a0641..6ed67180 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -28,7 +28,7 @@ sample_Data: 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 ]; 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 50b99119..d782174d 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 @@ -35,7 +35,7 @@ life_expectancy:Resource ids:sovereign ; # Temporal period covered by the content of the resource - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; ids:begin [a time:Instant ; ids:dateTime "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; 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 6e7a36ef..812b745e 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 @@ -39,7 +39,7 @@ life_expectancy:Resource ids:sovereign ; # Temporal period covered by the content of the resource - ids:temporalCoverage [ + dct:temporal [ a ids:Interval ; ids:begin [ a time:Instant ; ids:dateTime "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 8e35fb85..1b70692d 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -88,14 +88,6 @@ ids:defaultRepresentation rdfs:range dcat:Distribution; rdfs:comment "Default representation of the content."@en. -ids:temporalCoverage - a owl:ObjectProperty; - rdfs:subPropertyOf dct:temporal; - rdfs:label "temporal coverage"@en; - rdfs:domain ids:DigitalContent; - rdfs:range ids:TemporalEntity; - rdfs:comment "Temporal period or instance covered by the content."@en. - ids:temporalResolution a owl:DatatypeProperty ; rdfs:subPropertyOf dcat:temporalResolution ; @@ -141,7 +133,7 @@ ids:created rdfs:range xsd:dateTimeStamp; rdfs:label "created"@en; rdfs:seeAlso dct:created ; - rdfs:comment "The date of the creation of the Digital Content. In contrast to the ids:temporalCoverage, 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: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. ids:modified a owl:DatatypeProperty; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 1087a3bf..305f418a 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -122,10 +122,10 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:temporalCoverage ; + sh:path dct:temporal ; sh:class ids:TemporalEntity ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:temporalCoverage property must point from an ids:DigitalContent to an ids:TemporalEntity."@en ; + sh:message " (DigitalContentShape): A dct:temporal property must point from an ids:DigitalContent to an ids:TemporalEntity."@en ; ] ; sh:property [ From 5caa381708ba8517e939649530c11740ec802f19 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 17:51:45 +0200 Subject: [PATCH 107/288] Remove ids:temporalResolution Remove ids:temporalResolution, instead use dcat:temporalResolution --- model/content/DigitalContent.ttl | 8 -------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 1b70692d..e0e355ae 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -88,14 +88,6 @@ ids:defaultRepresentation rdfs:range dcat:Distribution; rdfs:comment "Default representation of the content."@en. -ids:temporalResolution - a owl:DatatypeProperty ; - rdfs:subPropertyOf dcat:temporalResolution ; - rdfs:label "temporal resolution"@en ; - rdfs:comment "Minimum time between collected data points in a time series within this content."@en ; - rdfs:domain ids:DigitalContent ; - rdfs:range ids:Frequency . - ids:spatialCoverage a owl:ObjectProperty; rdfs:subPropertyOf dct:spatial; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 305f418a..12dca528 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -130,11 +130,11 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:temporalResolution ; + sh:path dcat:temporalResolution ; sh:class ids:Frequency ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:temporalResolution property must not have more than one point from an ids:DigitalContent to an ids:Frequency."@en ; + sh:message " (DigitalContentShape): A dcat:temporalResolution property must not have more than one point from an ids:DigitalContent to an ids:Frequency."@en ; ] ; sh:property [ From bb46fb7c3cf35369fa0f0a8f8a3d807918f52e65 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 17:55:19 +0200 Subject: [PATCH 108/288] Remove ids:spatialCoverage Remove ids:spatialCoverage, instead use dct:spatial --- model/content/DigitalContent.ttl | 8 -------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index e0e355ae..2354543b 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -88,14 +88,6 @@ ids:defaultRepresentation rdfs:range dcat:Distribution; rdfs:comment "Default representation of the content."@en. -ids:spatialCoverage - a owl:ObjectProperty; - rdfs:subPropertyOf dct:spatial; - rdfs:label "spatial coverage"@en; - rdfs:domain ids:DigitalContent; - rdfs:range ids:Location; - rdfs:comment "Named spatial entity covered by the Resource."@en. - ids:accrualPeriodicity # consider irregular updates as well a owl:DatatypeProperty; rdfs:subPropertyOf dct:accrualPeriodicity ; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 12dca528..7afa2bef 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -139,10 +139,10 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:spatialCoverage ; + sh:path dct:spatial ; sh:class ids:Location ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:spatialCoverage property must point from an ids:DigitalContent to an ids:Location."@en ; + sh:message " (DigitalContentShape): A dct:spatial property must point from an ids:DigitalContent to an ids:Location."@en ; ] ; sh:property [ From c461a12ced912b33356fa24e9efe30ca0cc0b919 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 18:04:03 +0200 Subject: [PATCH 109/288] Remove ids:accrualPeriodicity Remove ids:accrualPeriodicity, instead use dct:accrualPeriodictiy --- examples/DATA2.ttl | 3 --- model/content/DigitalContent.ttl | 9 --------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 6d8e6283..17b7b237 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -24,9 +24,6 @@ data2: a ids:Resource ; dct:description "Data collection about usage statistics of European highways"@en; dcat:keyword "highway", "statistics", "Europe"; - # the collection is extended once per month - # ids:accrualPeriodicity "P1M"^^xsd:duration ; - # Compressed representation of an overall resource snapshot # ids:representation [ diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 2354543b..0e64d020 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -88,15 +88,6 @@ ids:defaultRepresentation rdfs:range dcat:Distribution; rdfs:comment "Default representation of the content."@en. -ids:accrualPeriodicity # consider irregular updates as well - a owl:DatatypeProperty; - rdfs:subPropertyOf dct:accrualPeriodicity ; - rdfs:label "Accrual periodicity"@en; - rdfs:comment "The regular period with which items are added to a collection."@en ; - rdfs:domain ids:DigitalContent; - rdfs:range ids:Frequency; - . - ids:contentStandard a owl:DatatypeProperty ; rdfs:subPropertyOf dct:conformsTo ; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 7afa2bef..4954f2a9 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -147,11 +147,11 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:accrualPeriodicity ; + sh:path dct:accrualPeriodicity; sh:class ids:Frequency ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:accrualPeriodicity property must not have more than one point from an ids:DigitalContent to an ids:Frequency."@en ; + sh:message " (DigitalContentShape): A dct:accrualPeriodicityproperty must not have more than one point from an ids:DigitalContent to an ids:Frequency."@en ; ] ; sh:property [ From f8a365b5b7bd22763d17d9ba1c6aea8d51a8eed5 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 18:10:14 +0200 Subject: [PATCH 110/288] Remove ids:created Remove ids:created, instead use dct:issued --- model/content/DigitalContent.ttl | 14 -------------- testing/content/RepresentationShape.ttl | 4 ++-- testing/content/UsageControlObjectShape.ttl | 4 ++-- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 4 files changed, 6 insertions(+), 20 deletions(-) diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 0e64d020..68a21309 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -96,20 +96,6 @@ ids:contentStandard rdfs:label "content standard"@en; rdfs:comment "IRI containing document, which defines the standard for the given Digital Content. The content is assumed to conform to that Standard."@en. -ids:created - a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:issued; - rdfs:domain [ owl:unionOf ( - ids:DigitalContent - dcat:Distribution - ids:UsageControlObject - ) - ] ; - rdfs:range xsd:dateTimeStamp; - rdfs:label "created"@en; - rdfs:seeAlso dct:created ; - 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. - ids:modified a owl:DatatypeProperty; rdfs:subPropertyOf dct:modified; diff --git a/testing/content/RepresentationShape.ttl b/testing/content/RepresentationShape.ttl index 350cf23d..ab7badba 100644 --- a/testing/content/RepresentationShape.ttl +++ b/testing/content/RepresentationShape.ttl @@ -72,11 +72,11 @@ shapes:RepresentationShape sh:property [ a sh:PropertyShape ; - sh:path ids:created ; + sh:path dct:issued ; sh:datatype xsd:dateTimeStamp ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RepresentationShape): An dcat:Distribution must have at most one ids:created attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; + sh:message " (RepresentationShape): An dcat:Distribution must have at most one dct:issued attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; ] ; . diff --git a/testing/content/UsageControlObjectShape.ttl b/testing/content/UsageControlObjectShape.ttl index b9f15df8..2b32268e 100644 --- a/testing/content/UsageControlObjectShape.ttl +++ b/testing/content/UsageControlObjectShape.ttl @@ -108,12 +108,12 @@ shapes:UsageControlObjectShape sh:property [ a sh:PropertyShape ; - sh:path ids:created ; + sh:path dct:issued ; sh:datatype xsd:dateTimeStamp ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (UsageControlObjectShape): An ids:created property must point from an ids:UsageControlObject to exactly one xsd:dateTimeStamp."@en ; + sh:message " (UsageControlObjectShape): A dct:issued property must point from an ids:UsageControlObject to exactly one xsd:dateTimeStamp."@en ; ] ; sh:property [ diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 4954f2a9..40eefb2a 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -156,11 +156,11 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:created ; + sh:path dct:issued ; sh:datatype xsd:dateTimeStamp ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:DigitalContentShape must have at most one ids:created attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; + sh:message " (DigitalContentShape): An ids:DigitalContentShape must have at most one dct:issued attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; ] ; sh:property [ From 6d366e620ed5b8f94a466d8d424044a12aea7cc9 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 16 Sep 2021 18:14:03 +0200 Subject: [PATCH 111/288] Remove ids:modified Remove ids:modified, instead use dct:modified --- model/content/DigitalContent.ttl | 11 ----------- testing/content/RepresentationShape.ttl | 4 ++-- testing/content/UsageControlObjectShape.ttl | 4 ++-- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 4 files changed, 6 insertions(+), 17 deletions(-) diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 68a21309..0b900de2 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -95,14 +95,3 @@ ids:contentStandard rdfs:range xsd:anyURI; rdfs:label "content standard"@en; rdfs:comment "IRI containing document, which defines the standard for the given Digital Content. The content is assumed to conform to that Standard."@en. - -ids:modified - a owl:DatatypeProperty; - rdfs:subPropertyOf dct:modified; - rdfs:domain [ rdf:type owl:Class ; - owl:unionOf ( ids:DigitalContent dcat:Distribution ids:UsageControlObject) - ] ; - rdfs:range xsd:dateTimeStamp; - rdfs:label "modified"@en; - rdfs:seeAlso dct:modified ; - rdfs:comment "The date/time this Digital Content has been changed the last time. Only one 'modified' attribute is usually needed."@en. diff --git a/testing/content/RepresentationShape.ttl b/testing/content/RepresentationShape.ttl index ab7badba..baabe388 100644 --- a/testing/content/RepresentationShape.ttl +++ b/testing/content/RepresentationShape.ttl @@ -63,11 +63,11 @@ shapes:RepresentationShape sh:property [ a sh:PropertyShape ; - sh:path ids:modified ; + sh:path dct:modified ; sh:maxCount 1 ; sh:datatype xsd:dateTimeStamp ; sh:severity sh:Violation ; - sh:message " (RepresentationShape): An dcat:Distribution must have at most one ids:modified attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; + sh:message " (RepresentationShape): An dcat:Distribution must have at most one dct:modified attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; ] ; sh:property [ diff --git a/testing/content/UsageControlObjectShape.ttl b/testing/content/UsageControlObjectShape.ttl index 2b32268e..63701b73 100644 --- a/testing/content/UsageControlObjectShape.ttl +++ b/testing/content/UsageControlObjectShape.ttl @@ -118,11 +118,11 @@ shapes:UsageControlObjectShape sh:property [ a sh:PropertyShape ; - sh:path ids:modified ; + sh:path dct:modified ; sh:datatype xsd:dateTimeStamp ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (UsageControlObjectShape): An ids:modified property must not have more than one point from an ids:UsageControlObject to an xsd:dateTimeStamp."@en ; + sh:message " (UsageControlObjectShape): A dct:modified property must not have more than one point from an ids:UsageControlObject to an xsd:dateTimeStamp."@en ; ] ; . diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 40eefb2a..4bff49ac 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -165,11 +165,11 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:modified ; + sh:path dct:modified ; sh:maxCount 1 ; sh:datatype xsd:dateTimeStamp ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:DigitalContentShape must have at most one ids:modified attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; + sh:message " (DigitalContentShape): An ids:DigitalContentShape must have at most one dct:modified attribute pointing to a valid xsd:dateTimeStamp or xsd:date."@en ; ] ; sh:property [ From a300fb76d294066bc5d69d561da9d79d28b8cb2e Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 11:56:22 +0200 Subject: [PATCH 112/288] Remove ids:issued Remove ids:issued, instead use dct:issued --- examples/CONNECTOR_UPDATE_MESSAGE.jsonld | 3 ++- examples/CONNECTOR_UPDATE_MESSAGE.ttl | 3 ++- examples/CONTRACT_MESSAGES.ttl | 9 +++++---- examples/QUERY_MESSAGE.ttl | 3 ++- examples/RESULT_MESSAGE.ttl | 3 ++- examples/rdf-validation-using-shacl/java/README.md | 2 +- model/communication/Message.ttl | 8 -------- testing/communication/MessageShape.ttl | 4 ++-- .../3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl | 6 +++--- 9 files changed, 19 insertions(+), 22 deletions(-) diff --git a/examples/CONNECTOR_UPDATE_MESSAGE.jsonld b/examples/CONNECTOR_UPDATE_MESSAGE.jsonld index 657269b3..84173ba7 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": [ @@ -21,7 +22,7 @@ "ids:affectedConnector": { "@id": "https://aastat.gov.de/connector/conn2/" }, - "ids:issued": { + "dct:issued": { "@type": "xsd:dateTimeStamp", "@value": "2020-06-08T12:10:13Z" }, 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/QUERY_MESSAGE.ttl b/examples/QUERY_MESSAGE.ttl index ac83c2c4..a004ce27 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 : . @@ -14,7 +15,7 @@ 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/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/model/communication/Message.ttl b/model/communication/Message.ttl index f9765348..bc3ce608 100644 --- a/model/communication/Message.ttl +++ b/model/communication/Message.ttl @@ -27,14 +27,6 @@ ids:modelVersion rdfs:range xsd:string; rdfs:comment "Version of the Information Model against which the Message should be interpreted."@en. -ids:issued - rdfs:subPropertyOf dct:issued; - a owl:DatatypeProperty; - rdfs:label "issued"@en; - rdfs:domain ids:Message; - rdfs:range xsd:dateTimeStamp; - rdfs:comment "Date (as xsd:dateTimeStamp) of issuing the Message."@en. - ids:correlationMessage a owl:ObjectProperty; rdfs:label "consumer connector"@en; diff --git a/testing/communication/MessageShape.ttl b/testing/communication/MessageShape.ttl index aa86d2cd..896618ab 100644 --- a/testing/communication/MessageShape.ttl +++ b/testing/communication/MessageShape.ttl @@ -50,12 +50,12 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; - sh:path ids:issued ; + sh:path dct:issued ; sh:datatype xsd:dateTimeStamp ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (MessageShape): An ids:Message must have exactly one xsd:dateTimeStamp linked through the ids:issued property"@en ; + sh:message " (MessageShape): An ids:Message must have exactly one xsd:dateTimeStamp linked through the dct:issued property"@en ; ] ; sh:property [ diff --git a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl index 7fe620f1..03c46fbb 100644 --- a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl +++ b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl @@ -132,15 +132,15 @@ ids:MessageUpgradeShape $this ids:contractRejectionReason ?newContractRejectionReason . idsm:VersionUpgrade ids:contractRejectionReason ?oldContractRejectionReason. - $this ids:issued ?newIssued . - idsm:VersionUpgrade ids:issued ?oldIssued. + $this dct:issued ?newIssued . + idsm:VersionUpgrade dct:issued ?oldIssued. } WHERE { OPTIONAL {$this ids:contractRejectionReason ?oldContractRejectionReason .} BIND(STRDT(STR(?oldContractRejectionReason), xsd:string) AS ?newContractRejectionReason) - OPTIONAL {$this ids:issued ?oldIssued .} + OPTIONAL {$this dct:issued ?oldIssued .} BIND(if(regex(?oldIssued, ".*(Z|(\+|-)[0-9][0-9]:[0-9][0-9])"), oldIssued, STRDT(CONCAT(STR(?oldIssued),"Z"), xsd:dateTimeStamp ) From 0e580bfee43103ebe24bb5106c0dfce25dcc0d69 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 12:02:28 +0200 Subject: [PATCH 113/288] Remove ids:version Remove ids:version, instead use dct:hasVersion --- .../cli/conn_self_description.ttl | 6 +++--- model/traceability/ManagedEntity.ttl | 11 ----------- testing/traceability/ManagedEntityShape.ttl | 4 ++-- 3 files changed, 5 insertions(+), 16 deletions(-) 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 7dc2eae0..17ceca67 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -31,7 +31,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:standardLicense ; - ids:version "Version 1" . + dct:hasVersion "Version 1" . ids:StaticEndpoint ; @@ -79,7 +79,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:standardLicense ; - ids:version "Version 1" . + dct:hasVersion "Version 1" . ids:Resource ; @@ -89,4 +89,4 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:standardLicense ; - ids:version "Version 1" . + dct:hasVersion "Version 1" . diff --git a/model/traceability/ManagedEntity.ttl b/model/traceability/ManagedEntity.ttl index 7d746deb..fa6e3c7c 100644 --- a/model/traceability/ManagedEntity.ttl +++ b/model/traceability/ManagedEntity.ttl @@ -17,14 +17,3 @@ ids:ManagedEntity rdfs:label "Managed entity"@en ; rdfs:comment "The class of mutable individuals."@en; . - -# Properties of ManagedEntity -# ------------------------------------- - -ids:version a owl:DatatypeProperty; - rdfs:subPropertyOf dct:hasVersion; - rdfs:label "version"@en; - rdfs:domain ids:ManagedEntity; - rdfs:range xsd:string; - rdfs:comment "Version identifier of the Managed Entity"@en. - diff --git a/testing/traceability/ManagedEntityShape.ttl b/testing/traceability/ManagedEntityShape.ttl index a71df1b4..2a7ddd53 100644 --- a/testing/traceability/ManagedEntityShape.ttl +++ b/testing/traceability/ManagedEntityShape.ttl @@ -49,9 +49,9 @@ shapes:ManagedEntityShape sh:property [ a sh:PropertyShape ; - sh:path ids:version ; + sh:path dct:hasVersion ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ManagedEntityShape): An ids:version property must point from an ids:ManagedEntity to zero or one xsd:string."@en ; + sh:message " (ManagedEntityShape): A dct:hasVersion property must point from an ids:ManagedEntity to zero or one xsd:string."@en ; ] . From 679fb293c16db646681225e683fd7eee32a0bba7 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 12:16:01 +0200 Subject: [PATCH 114/288] Remove ids:dateTime Remove ids:dateTime, instead use time:inXSDDateTimeStamp --- examples/DATA1.ttl | 4 ++-- examples/DATA2.ttl | 4 ++-- examples/TEXT_RESOURCE.ttl | 4 ++-- .../main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 4 ++-- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 4 ++-- model/context/TemporalEntity.ttl | 11 ----------- testing/context/TemporalEntityShape.ttl | 4 ++-- 7 files changed, 12 insertions(+), 23 deletions(-) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 115e9f89..1f34c5cd 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -20,11 +20,11 @@ data1: a ids:Interval ; ids:begin [ a time:Instant ; - ids:dateTime "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; ids:end [ a time:Instant; - ids:dateTime "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + time:inXSDDateTimeStamp "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; ] ; dct:language idsc:EN ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 17b7b237..a2c9df6e 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -56,11 +56,11 @@ data2:generic_content a ids:Interval ; ids:begin [ a time:Instant ; - ids:dateTime "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; ids:end [ a time:Instant ; - ids:dateTime "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; + time:inXSDDateTimeStamp "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; ] ; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 2afb08c6..0ff823ae 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -35,11 +35,11 @@ data1: a ids:Interval ; ids:begin [ a time:Instant; - ids:dateTime "2000-12-01T13:20:00Z"^^xsd:dateTimeStamp; + time:inXSDDateTimeStamp "2000-12-01T13:20:00Z"^^xsd:dateTimeStamp; ] ; ids:end [ a time:Instant; - ids:dateTime "2002-12-31T13:20:00Z"^^xsd:dateTimeStamp; + time:inXSDDateTimeStamp "2002-12-31T13:20:00Z"^^xsd:dateTimeStamp; ] ; ] ; dct:language idsc:EN ; 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 d782174d..9cca87e3 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 @@ -38,9 +38,9 @@ life_expectancy:Resource dct:temporal [ a ids:Interval ; ids:begin [a time:Instant ; - ids:dateTime "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; + time:inXSDDateTimeStamp "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; ids:end [a time:Instant ; - ids:dateTime "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; + time:inXSDDateTimeStamp "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; ] ; # Open Government License 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 812b745e..98b244f9 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 @@ -42,9 +42,9 @@ life_expectancy:Resource dct:temporal [ a ids:Interval ; ids:begin [ a time:Instant ; - ids:dateTime "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; + time:inXSDDateTimeStamp "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; ids:end [ a time:Instant ; - ids:dateTime "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; + time:inXSDDateTimeStamp "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; ] ; # Open Government License diff --git a/model/context/TemporalEntity.ttl b/model/context/TemporalEntity.ttl index 666a0798..a14d5e27 100644 --- a/model/context/TemporalEntity.ttl +++ b/model/context/TemporalEntity.ttl @@ -30,17 +30,6 @@ ids:Frequency rdfs:label "Frequency"@en ; rdfs:comment "Class of all frequencies."@en. -ids:dateTime - a owl:DatatypeProperty; - rdfs:subPropertyOf time:inXSDDateTimeStamp;# time-zone is mandatory - rdfs:domain time:Instant; - #rdfs:range xsd:dateTime; - rdfs:range xsd:dateTimeStamp; - rdfs:label "date time"@en; - rdfs:comment "Absolute date time with a defined time zone."@en; - rdfs:seeAlso ; - . - ids:begin a owl:ObjectProperty ; rdfs:subPropertyOf time:hasBeginning; diff --git a/testing/context/TemporalEntityShape.ttl b/testing/context/TemporalEntityShape.ttl index a0fd3444..7f6119a8 100644 --- a/testing/context/TemporalEntityShape.ttl +++ b/testing/context/TemporalEntityShape.ttl @@ -41,11 +41,11 @@ shapes:InstantShape sh:property [ a sh:PropertyShape ; - sh:path ids:dateTime ; + sh:path time:inXSDDateTimeStamp ; sh:datatype xsd:dateTimeStamp ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (InstantShape): An ids:dateTime property must not have more than one point from an time:Instant to an xsd:dateTimeStamp."@en ; + sh:message " (InstantShape): A time:inXSDDateTimeStamp property must not have more than one point from an time:Instant to an xsd:dateTimeStamp."@en ; ] . From 4e9e2161864a56774c807828d964552c837dc06c Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 12:25:10 +0200 Subject: [PATCH 115/288] Remove ids:begin Remove ids:begin, instead use time:hasBeginning --- examples/DATA1.ttl | 2 +- examples/DATA2.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 3 ++- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- model/context/TemporalEntity.ttl | 8 -------- testing/context/TemporalEntityShape.ttl | 4 ++-- 8 files changed, 9 insertions(+), 16 deletions(-) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 1f34c5cd..07d8d3e1 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -18,7 +18,7 @@ data1: dcat:keyword "report", "highway", "statistics", "Europe" ; dct:temporal [ a ids:Interval ; - ids:begin [ + time:hasBeginning [ a time:Instant ; time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index a2c9df6e..e0ba5751 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -54,7 +54,7 @@ data2:generic_content # general coverage of the entire dataset dct:temporal [ a ids:Interval ; - ids:begin [ + time:hasBeginning [ a time:Instant ; time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 0ff823ae..ebf5384d 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -33,7 +33,7 @@ data1: # Temporal period covered by the content of the resource: 2000-01-01 to 2017-12-31 dct:temporal [ a ids:Interval ; - ids:begin [ + time:hasBeginning [ a time:Instant; time:inXSDDateTimeStamp "2000-12-01T13:20:00Z"^^xsd:dateTimeStamp; ] ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 6ed67180..c4c4da2d 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -10,6 +10,7 @@ @prefix dct: . @prefix sh: . @prefix dcat: . +@prefix time: . @@ -30,7 +31,7 @@ sample_Data: # Temporal period covered by the content of the resource: 2001-01-01 to 2012-12-31 dct:temporal [ a ids:Interval ; - ids:begin [ ids:date "2001-01-01"^^xsd:date ]; + time:hasBeginning [ ids:date "2001-01-01"^^xsd:date ]; ids:end [ ids:date "2012-12-31"^^xsd:date ]; ] ; 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 9cca87e3..9aae699b 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 @@ -37,7 +37,7 @@ life_expectancy:Resource # Temporal period covered by the content of the resource dct:temporal [ a ids:Interval ; - ids:begin [a time:Instant ; + time:hasBeginning [a time:Instant ; time:inXSDDateTimeStamp "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; ids:end [a time:Instant ; time:inXSDDateTimeStamp "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; 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 98b244f9..09b8c50c 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 @@ -41,7 +41,7 @@ life_expectancy:Resource # Temporal period covered by the content of the resource dct:temporal [ a ids:Interval ; - ids:begin [ a time:Instant ; + time:hasBeginning [ a time:Instant ; time:inXSDDateTimeStamp "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; ids:end [ a time:Instant ; time:inXSDDateTimeStamp "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; diff --git a/model/context/TemporalEntity.ttl b/model/context/TemporalEntity.ttl index a14d5e27..ecfed7ba 100644 --- a/model/context/TemporalEntity.ttl +++ b/model/context/TemporalEntity.ttl @@ -30,14 +30,6 @@ ids:Frequency rdfs:label "Frequency"@en ; rdfs:comment "Class of all frequencies."@en. -ids:begin - a owl:ObjectProperty ; - rdfs:subPropertyOf time:hasBeginning; - rdfs:domain time:Interval; - rdfs:range time:Instant; - rdfs:label "beginning"@en; - rdfs:comment "Beginning of an Interval."@en. - ids:end a owl:ObjectProperty ; rdfs:subPropertyOf time:hasEnd; diff --git a/testing/context/TemporalEntityShape.ttl b/testing/context/TemporalEntityShape.ttl index 7f6119a8..a737530f 100644 --- a/testing/context/TemporalEntityShape.ttl +++ b/testing/context/TemporalEntityShape.ttl @@ -55,12 +55,12 @@ shapes:IntervalShape sh:property [ a sh:PropertyShape ; - sh:path ids:begin ; + sh:path time:hasBeginning ; sh:class time:Instant; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (IntervalShape): An ids:begin property must point from an time:Interval to exactly one time:Instant."@en ; + sh:message " (IntervalShape): A time:hasBeginning property must point from an time:Interval to exactly one time:Instant."@en ; ] ; sh:property [ From 980b821be2ed36079ab60afd586de49625034ada Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 12:34:29 +0200 Subject: [PATCH 116/288] Remove ids:end Remove ids:end, instead use time:hasEnd --- examples/DATA1.ttl | 2 +- examples/DATA2.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- model/context/TemporalEntity.ttl | 8 -------- testing/context/TemporalEntityShape.ttl | 4 ++-- 8 files changed, 8 insertions(+), 16 deletions(-) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 07d8d3e1..e1b40d82 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -22,7 +22,7 @@ data1: a time:Instant ; time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; - ids:end [ + time:hasEnd [ a time:Instant; time:inXSDDateTimeStamp "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index e0ba5751..e4c081fb 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -58,7 +58,7 @@ data2:generic_content a time:Instant ; time:inXSDDateTimeStamp "2001-01-01T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ]; - ids:end [ + time:hasEnd [ a time:Instant ; time:inXSDDateTimeStamp "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; ] ; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index ebf5384d..9c14f2b1 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -37,7 +37,7 @@ data1: a time:Instant; time:inXSDDateTimeStamp "2000-12-01T13:20:00Z"^^xsd:dateTimeStamp; ] ; - ids:end [ + time:hasEnd [ a time:Instant; time:inXSDDateTimeStamp "2002-12-31T13:20:00Z"^^xsd:dateTimeStamp; ] ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index c4c4da2d..9fbb1db7 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -32,7 +32,7 @@ sample_Data: dct:temporal [ a ids:Interval ; time:hasBeginning [ ids:date "2001-01-01"^^xsd:date ]; - ids:end [ ids:date "2012-12-31"^^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) 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 9aae699b..7e888f75 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 @@ -39,7 +39,7 @@ life_expectancy:Resource a ids:Interval ; time:hasBeginning [a time:Instant ; time:inXSDDateTimeStamp "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; - ids:end [a time:Instant ; + time:hasEnd [a time:Instant ; time:inXSDDateTimeStamp "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; ] ; 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 09b8c50c..4ace2efc 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 @@ -43,7 +43,7 @@ life_expectancy:Resource a ids:Interval ; time:hasBeginning [ a time:Instant ; time:inXSDDateTimeStamp "2004-01-01T12:00:00+02:00"^^xsd:dateTimeStamp ]; - ids:end [ a time:Instant ; + time:hasEnd [ a time:Instant ; time:inXSDDateTimeStamp "2008-12-31T12:00:00+02:00"^^xsd:dateTimeStamp ]; ] ; diff --git a/model/context/TemporalEntity.ttl b/model/context/TemporalEntity.ttl index ecfed7ba..b69afcce 100644 --- a/model/context/TemporalEntity.ttl +++ b/model/context/TemporalEntity.ttl @@ -30,14 +30,6 @@ ids:Frequency rdfs:label "Frequency"@en ; rdfs:comment "Class of all frequencies."@en. -ids:end - a owl:ObjectProperty ; - rdfs:subPropertyOf time:hasEnd; - rdfs:domain time:Interval; - rdfs:range time:Instant; - rdfs:label "end"@en; - rdfs:comment "End of an Interval."@en. - ids:hasDuration a owl:DatatypeProperty ; rdfs:seeAlso time:hasDuration; diff --git a/testing/context/TemporalEntityShape.ttl b/testing/context/TemporalEntityShape.ttl index a737530f..3fe2f62b 100644 --- a/testing/context/TemporalEntityShape.ttl +++ b/testing/context/TemporalEntityShape.ttl @@ -65,11 +65,11 @@ shapes:IntervalShape sh:property [ a sh:PropertyShape ; - sh:path ids:end ; + sh:path time:hasEnd ; sh:class time:Instant ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (IntervalShape): An ids:end property must not have more than one point from an time:Interval to an time:Instant."@en ; + sh:message " (IntervalShape): A time:hasEnd property must not have more than one point from an time:Interval to an time:Instant."@en ; ] . From f4fa012cd72d63dafecaf0ed1d2b30019f53a0a7 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 13:27:15 +0200 Subject: [PATCH 117/288] Remove ids:leftOperand Remove ids:leftOperand, instead use odrl:leftOperand --- codes/RequestTemplate.ttl | 5 +++-- examples/DATA1.ttl | 13 ++----------- examples/TEXT_RESOURCE.ttl | 2 +- .../templates/ActionTemplates/ACTION_TEMPLATE.ttl | 4 ++-- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 2 +- .../ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl | 4 ++-- .../TEMPORAL_CONSTRAINT_TEMPLATE.ttl | 8 ++++---- .../EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl | 4 ++-- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 6 +++--- .../RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 6 +++--- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 6 +++--- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 6 +++--- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SPATIAL_OFFER_TEMPLATE.ttl | 2 +- .../SPATIAL_REQUEST_TEMPLATE.ttl | 2 +- .../templates/TargetTemplates/ASSET_TEMPLATE.ttl | 4 ++-- .../DURATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_REQUEST_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl | 4 ++-- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 6 +++--- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 6 +++--- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 4 ++-- model/contract/Constraint.ttl | 8 -------- testing/contract/ConstraintShape.ttl | 4 ++-- 53 files changed, 88 insertions(+), 104 deletions(-) diff --git a/codes/RequestTemplate.ttl b/codes/RequestTemplate.ttl index 76508504..1b99edb6 100644 --- a/codes/RequestTemplate.ttl +++ b/codes/RequestTemplate.ttl @@ -6,6 +6,7 @@ @prefix skos: . @prefix ids: . @prefix idsc: . +@prefix odrl: . # Instances @@ -29,7 +30,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; "ids:permission": { "ids:action": "[ids:use|ids:read|...]" , ["ids:constraint" : { - "ids:leftOperand" : "", + "odrl:leftOperand" : "", "ids:operator" : "[ids:eq|ids:lt|ids:gt]", "ids:rightOperand" : "[|]" } [,]]* @@ -49,7 +50,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; [ids:permission [ ids:action ids:[use|read|...] ; ids:constraint [ - ids:leftOperand ; + odrl:leftOperand ; ids:operator [ids:eq|ids:lt|ids:gt] ; ids:rightOperand [|] ] diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index e1b40d82..ae4d83b4 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -83,21 +83,12 @@ data1:offer ids:action idsc:COMPENSATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQUALS ; ids:rightOperand 25 ; ids: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/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 9c14f2b1..8143ad44 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -121,7 +121,7 @@ data1:offer ids:action idsc:COMPENSATE ; ids:constraint [ a ids:Constraint; - ids:leftOperand idsc:PAY_AMOUNT ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand 25 ; ids: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 c230710e..2ddbae93 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl @@ -22,7 +22,7 @@ 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". 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 + odrl: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" ( ids:pipEndpoint ?AttributeLocation ; )? # A URI or path expression to the target attribute, ?AttributeLocation := "//color" @@ -39,7 +39,7 @@ ( # '(' 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 ; + odrl:leftOperand ?IdscLeftOperand ; ids:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? 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 9d5d2776..7f3857bd 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 @@ -28,7 +28,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:SYSTEM ; + odrl:leftOperand idsc:SYSTEM ; ids:operator idsc:SAME_AS ; ids:rightOperandReference ?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 1ba30699..a0543b3c 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 @@ -40,7 +40,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:SYSTEM ; + odrl:leftOperand idsc:SYSTEM ; ids:operator idsc:SAME_AS ; ids:rightOperandReference ?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 3330f619..1adeb41f 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 @@ -40,7 +40,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:SYSTEM ; + odrl:leftOperand idsc:SYSTEM ; ids:operator idsc:SAME_AS ; ids:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. ] ; 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 726e370b..49d8b7da 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl @@ -17,7 +17,7 @@ ( [ a ids:Constraint ; # Constraint - ids:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PAY_AMOUNT + 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" ( ids:pipEndpoint ?AttributeLocation ; )? # A URI or path expression to the target attribute, ?AttributeLocation := @@ -30,7 +30,7 @@ ( # '(' 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 ; + odrl:leftOperand ?IdscLeftOperand ; ids:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? 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 6d52d218..d819a733 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 @@ -17,7 +17,7 @@ ( ( 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 | @@ -28,7 +28,7 @@ | # 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" @@ -41,14 +41,14 @@ ( # '(' 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" ( 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" ( ids:pipEndpoint ?ClockEndpoint ; )? # A URI or path expression to a shared time provider, if necessary. 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 95bdbac0..0c818cce 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 @@ -27,7 +27,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand [ + 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 ; ] ; 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 eae7077b..0c3b800f 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 @@ -39,7 +39,7 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand [ + 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 ; ] ; 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 ccda423c..6e10752a 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 @@ -39,7 +39,7 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand [ + 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 ; ] ; 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 23f221e6..5d8ef49a 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 @@ -27,7 +27,7 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:COUNT ; + odrl:leftOperand idsc:COUNT ; ids:operator idsc:LTEQ ; ids:rightOperand ?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 ef861ae0..4d44fdd5 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 @@ -39,7 +39,7 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:COUNT ; + odrl:leftOperand idsc:COUNT ; ids:operator idsc:LTEQ ; ids:rightOperand ?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 35fc0808..6f1deb73 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 @@ -39,7 +39,7 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:COUNT ; + odrl:leftOperand idsc:COUNT ; ids:operator idsc:LTEQ ; ids:rightOperand ?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/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl index 828c5845..5f414cfb 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl @@ -26,7 +26,7 @@ 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 + odrl: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" ( ids:pipEndpoint ?AttributeLocation ; )? # A URI or path expression to the target attribute, ?AttributeLocation := "//role" @@ -42,7 +42,7 @@ ( # '(' 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 ; + odrl:leftOperand ?IdscLeftOperand ; ids:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? 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 56408f06..cf3076ca 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 @@ -28,7 +28,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:PURPOSE ; + odrl:leftOperand idsc:PURPOSE ; ids:operator idsc:SAME_AS ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl index 9d6a3ea6..979db89d 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 @@ -40,7 +40,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:PURPOSE ; + odrl:leftOperand idsc:PURPOSE ; ids:operator idsc:SAME_AS ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl index 1a6c7910..575fbbc7 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 @@ -40,7 +40,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:PURPOSE ; + odrl:leftOperand idsc:PURPOSE ; ids:operator idsc:SAME_AS ; ids: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/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl index 3ceee41f..7d9c867e 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 @@ -28,7 +28,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:STATE ; + odrl: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. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. @@ -42,7 +42,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee ids:unit ?currency ; @@ -51,7 +51,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ] ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?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 9e00b8be..5da497cc 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 @@ -40,7 +40,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:STATE ; + odrl: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. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. @@ -60,7 +60,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee ids:unit ?currency ; @@ -69,7 +69,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ] ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?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 d8308f65..8d280f13 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 @@ -40,7 +40,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:STATE ; + odrl: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. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. @@ -60,7 +60,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee ids:unit ?currency ; @@ -69,7 +69,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ] ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?duration ] 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 ea8e6d95..fb081c81 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 @@ -28,14 +28,14 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:USER ; + odrl: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. 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 ; + odrl: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. 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.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.ttl index 9fe79856..60b335f6 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 @@ -40,14 +40,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:USER ; + odrl: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. 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 ; + odrl: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. 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.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.ttl index 4a3bba4a..10607d10 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 @@ -40,14 +40,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:USER ; + odrl: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. 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 ; + odrl: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. 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.ttl b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl index e9ecd49a..ac806a98 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 @@ -35,7 +35,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd:double ; ids:unit ?currency ; 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 e9ca7f89..602cc07c 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 @@ -53,7 +53,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd:double ; ids:unit ?currency ; 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 fe066c4d..64b5ad6c 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 @@ -53,7 +53,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ids:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:PAY_AMOUNT ; + odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd:double ; ids:unit ?currency ; 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 af0defae..38365f2e 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 @@ -30,19 +30,19 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; ids:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl:leftOperand idsc:SECURITY_LEVEL ; ids:operator idsc:SAME_AS ; ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl: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 ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl:leftOperand idsc:SECURITY_LEVEL ; ids:operator idsc:SAME_AS ; ids:rightOperandReference 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 aa709843..4d04804d 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 @@ -42,19 +42,19 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; ids:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl:leftOperand idsc:SECURITY_LEVEL ; ids:operator idsc:SAME_AS ; ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl: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 ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl:leftOperand idsc:SECURITY_LEVEL ; ids:operator idsc:SAME_AS ; ids:rightOperandReference 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 d6e4f2d2..12d0e650 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 @@ -42,19 +42,19 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; ids:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl:leftOperand idsc:SECURITY_LEVEL ; ids:operator idsc:SAME_AS ; ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl: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 ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; + odrl:leftOperand idsc:SECURITY_LEVEL ; ids:operator idsc:SAME_AS ; ids:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included ] 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 1feea9e1..bfb55197 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 @@ -27,7 +27,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; + odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( ?area ; # a URI of a named area, for instance http://dbpedia.org/resource/Europe 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 5ff98fe3..69c9fa7f 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 @@ -39,7 +39,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; + odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( ?area ; # a URI of a named area, for instance http://dbpedia.org/resource/Europe 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 6a9d5a9f..7247654b 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 @@ -40,7 +40,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; + odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( ?area ; # a URI of a named area, for instance http://dbpedia.org/resource/Europe 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 b7b2d923..53912230 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl @@ -26,7 +26,7 @@ a odrl: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 + odrl: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" ( ids:pipEndpoint ?AttributeLocation ; )? # A URI or path expression to the target attribute, ?AttributeLocation := "//color" @@ -42,7 +42,7 @@ ( # '(' 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 ; + odrl:leftOperand ?IdscLeftOperand ; ids:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? 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 9a527d9b..d66d664f 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 @@ -27,7 +27,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 150d4484..3870ea20 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 @@ -40,7 +40,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 efd6bee3..ea8d9d12 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 @@ -40,7 +40,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 9a527d9b..d66d664f 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 @@ -27,7 +27,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 150d4484..3870ea20 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 @@ -40,7 +40,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 efd6bee3..ea8d9d12 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 @@ -40,7 +40,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:ELAPSED_TIME ; + odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?duration ] ; 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 c80f4cdf..6c882805 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 @@ -27,12 +27,12 @@ idsc:USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE a ids:IntervalUsageAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd: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 53360a96..7460b099 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 @@ -39,12 +39,12 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd: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 f42224d9..afc544d7 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 @@ -39,12 +39,12 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd: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 08dc7863..2156284c 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 @@ -27,12 +27,12 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; @@ -46,7 +46,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ids:actionRefinement [ ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; ids:rightOperand "?endDateTime"^^xsd: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 14a2135e..a0fd9035 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 @@ -39,12 +39,12 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; @@ -64,7 +64,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ids:actionRefinement [ ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; ids:rightOperand "?endDateTime"^^xsd: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 ded40cc6..b3075292 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 @@ -39,12 +39,12 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; ids:constraint [ - ids:leftOperand ids:POLICY_EVALUATION_TIME ; + odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; @@ -64,7 +64,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ids:actionRefinement [ ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:POLICY_EVALUATION_TIME ; + odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; 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 b5d73f39..22728490 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 @@ -33,7 +33,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; ids:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:ENDPOINT ; + odrl:leftOperand idsc:ENDPOINT ; ids:operator idsc:DEFINES_AS ; ids:rightOperandReference ?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 617175bb..b148844b 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 @@ -45,7 +45,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; ids:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:ENDPOINT ; + odrl:leftOperand idsc:ENDPOINT ; ids:operator idsc:DEFINES_AS ; ids:rightOperandReference ?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 c8dd247d..537d6435 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 @@ -45,7 +45,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; ids:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; - ids:leftOperand idsc:ENDPOINT ; + odrl:leftOperand idsc:ENDPOINT ; ids:operator idsc:DEFINES_AS ; ids:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL ] diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 9fbb1db7..bf2b7269 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -90,7 +90,7 @@ sample_Data: # time interval restricted usage constraict ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:now; + 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} ]"; ] ; @@ -99,7 +99,7 @@ sample_Data: ids:preDuty [ ids:action idsc:COMPENSATE ; ids:constraint [ - ids:leftOperand idsc:payAmount ; + odrl:leftOperand idsc:payAmount ; ids:operator ids:EQ ; ids:rightOperand 100 ; ids:unit ; diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 79382e3e..16bc1f7b 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -19,14 +19,6 @@ ids:Constraint rdfs:subClassOf odrl:Constraint; # Properties # ---------- -ids:leftOperand - a owl:ObjectProperty; - rdfs:subPropertyOf odrl:leftOperand; - rdfs:label "leftOperand"@en ; - rdfs:domain ids:Constraint; - rdfs:range odrl:LeftOperand ; - rdfs:comment "The left operand in a constraint expression."@en. - ids:operator rdfs:subPropertyOf odrl:operator; a owl:ObjectProperty; rdfs:label "operator"@en ; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index d8db787e..d5eb6085 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -48,12 +48,12 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; - sh:path ids:leftOperand ; + sh:path odrl:leftOperand ; sh:class odrl:LeftOperand ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:Constraint must have exactly one odrl:LeftOperand linked through the ids:leftOperand property"@en ; + sh:message " (ConstraintShape): An ids:Constraint must have exactly one odrl:LeftOperand linked through the odrl:leftOperand property"@en ; ] ; sh:property [ From 2ad08d86d35294d735136b8d651c1ddb79ed6cf8 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 13:58:06 +0200 Subject: [PATCH 118/288] Remove ids:operator Remove ids:operator, instead use odrl:operator --- codes/RequestTemplate.ttl | 4 ++-- examples/DATA1.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../templates/ActionTemplates/ACTION_TEMPLATE.ttl | 4 ++-- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl | 4 ++-- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 6 +++--- .../templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 6 +++--- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 6 +++--- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 6 +++--- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl | 2 +- .../SPATIAL_REQUEST_TEMPLATE.ttl | 2 +- .../templates/TargetTemplates/ASSET_TEMPLATE.ttl | 4 ++-- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- model/contract/Constraint.ttl | 7 ------- testing/contract/ConstraintShape.ttl | 4 ++-- 35 files changed, 54 insertions(+), 61 deletions(-) diff --git a/codes/RequestTemplate.ttl b/codes/RequestTemplate.ttl index 1b99edb6..771fe921 100644 --- a/codes/RequestTemplate.ttl +++ b/codes/RequestTemplate.ttl @@ -31,7 +31,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; "ids:action": "[ids:use|ids:read|...]" , ["ids:constraint" : { "odrl:leftOperand" : "", - "ids:operator" : "[ids:eq|ids:lt|ids:gt]", + "odrl:operator" : "[ids:eq|ids:lt|ids:gt]", "ids:rightOperand" : "[|]" } [,]]* } }"""^^xsd:string ; @@ -51,7 +51,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; ids:action ids:[use|read|...] ; ids:constraint [ odrl:leftOperand ; - ids:operator [ids:eq|ids:lt|ids:gt] ; + odrl:operator [ids:eq|ids:lt|ids:gt] ; ids:rightOperand [|] ] ] ;]* diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index ae4d83b4..2a3d68fe 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -84,7 +84,7 @@ data1:offer ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQUALS ; + odrl:operator idsc:EQUALS ; ids:rightOperand 25 ; ids:unit ] diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 8143ad44..43db51e6 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -122,7 +122,7 @@ data1:offer ids:constraint [ a ids:Constraint; odrl:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQ ; + odrl:operator idsc:EQ ; ids:rightOperand 25 ; ids: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 2ddbae93..023c544f 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl @@ -23,7 +23,7 @@ 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" odrl: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 + odrl: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" ( 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 . @@ -40,7 +40,7 @@ ( # LogicalConstraints allow the expression of alternatives. For instance, we can select which have "color":"blue" OR "color":"green" a ids:Constraint ; odrl:leftOperand ?IdscLeftOperand ; - ids:operator ?IdsBinaryOperator ; + odrl:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? ( ids:unit ?Unit ; )? 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 7f3857bd..f10d95ca 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 @@ -29,7 +29,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference ?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 a0543b3c..7b82a7ae 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 @@ -41,7 +41,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference ?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 1adeb41f..a93f9d8b 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 @@ -41,7 +41,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. ] ; ] 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 0c818cce..319145f4 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 @@ -31,7 +31,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; 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 + odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied ids: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.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl index 0c3b800f..fe2f8c6f 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 @@ -43,7 +43,7 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; 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 + odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied ids: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.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl index 6e10752a..1a49e5bd 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 @@ -43,7 +43,7 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; 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 + odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied ids: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.ttl b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl index 5d8ef49a..ccadcd36 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 @@ -28,7 +28,7 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:COUNT ; - ids:operator idsc:LTEQ ; + odrl:operator idsc:LTEQ ; ids:rightOperand ?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 4d44fdd5..721281f7 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 @@ -40,7 +40,7 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:COUNT ; - ids:operator idsc:LTEQ ; + odrl:operator idsc:LTEQ ; ids:rightOperand ?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 6f1deb73..8c66ce2c 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 @@ -40,7 +40,7 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:COUNT ; - ids:operator idsc:LTEQ ; + odrl:operator idsc:LTEQ ; ids:rightOperand ?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/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl index 5f414cfb..3a07a820 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl @@ -27,7 +27,7 @@ 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" odrl: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 + odrl: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" ( 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 @@ -43,7 +43,7 @@ ( # LogicalConstraints allow the expression of alternatives. For instance, we can select which have "role":"ADMIN" OR "role":"MANAGER" a ids:Constraint ; odrl:leftOperand ?IdscLeftOperand ; - ids:operator ?IdsBinaryOperator ; + odrl:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? ( ids:unit ?Unit ; )? 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 cf3076ca..dfaf5414 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 @@ -29,7 +29,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl index 979db89d..86be5525 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 @@ -41,7 +41,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl index 575fbbc7..8c144964 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 @@ -41,7 +41,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids: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/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl index 7d9c867e..6aaa2dfa 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 @@ -29,7 +29,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:STATE ; - ids:operator idsc:NOT ; + odrl: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. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. ] ; @@ -43,7 +43,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQ ; + odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee ids:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? @@ -52,7 +52,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; - ids:operator idsc:AFTER ; + odrl:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?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 5da497cc..8e6729b0 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 @@ -41,7 +41,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:STATE ; - ids:operator idsc:NOT ; + odrl: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. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. ] ; @@ -61,7 +61,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQ ; + odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee ids:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? @@ -70,7 +70,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; - ids:operator idsc:AFTER ; + odrl:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?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 8d280f13..ef189b0e 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 @@ -41,7 +41,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:STATE ; - ids:operator idsc:NOT ; + odrl: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. ( ids:pipEndpoint ?pipUri ; )? # The location where to find this state. ] ; @@ -61,7 +61,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; - ids:operator idsc:EQ ; + odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee ids:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? @@ -70,7 +70,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; - ids:operator idsc:AFTER ; + odrl:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?duration ] ] ; 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 fb081c81..55c4d2a1 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 @@ -29,14 +29,14 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:USER ; - ids:operator idsc:MEMBER_OF ; + odrl:operator idsc:MEMBER_OF ; ids: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 ; odrl:leftOperand idsc:USER ; - ids:operator idsc:HAS_MEMBERSHIP ; + odrl:operator idsc:HAS_MEMBERSHIP ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.ttl index 60b335f6..dea3e308 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 @@ -41,14 +41,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:USER ; - ids:operator idsc:MEMBER_OF ; + odrl:operator idsc:MEMBER_OF ; ids: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 ; odrl:leftOperand idsc:USER ; - ids:operator idsc:HAS_MEMBERSHIP ; + odrl:operator idsc:HAS_MEMBERSHIP ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.ttl index 10607d10..74f1c0a6 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 @@ -41,14 +41,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:USER ; - ids:operator idsc:MEMBER_OF ; + odrl:operator idsc:MEMBER_OF ; ids: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 ; odrl:leftOperand idsc:USER ; - ids:operator idsc:HAS_MEMBERSHIP ; + odrl:operator idsc:HAS_MEMBERSHIP ; ids: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/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl index 38365f2e..489a662a 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 @@ -31,19 +31,19 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.ttl index 4d04804d..6bc5cee3 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 @@ -43,19 +43,19 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.ttl index 12d0e650..8be327f6 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 @@ -43,19 +43,19 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:SAME_AS ; + odrl:operator idsc:SAME_AS ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.ttl index bfb55197..0055eca5 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 @@ -28,7 +28,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; - ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE + odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( ?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 69c9fa7f..449c6577 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 @@ -40,7 +40,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; - ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE + odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( ?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 7247654b..5526c402 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 @@ -41,7 +41,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; - ids:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE + odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( ?area ; # a URI of a named area, for instance http://dbpedia.org/resource/Europe | # or 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 53912230..694a0a21 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl @@ -27,7 +27,7 @@ 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" odrl: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 + odrl: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" ( 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 . @@ -43,7 +43,7 @@ ( # LogicalConstraints allow the expression of alternatives. For instance, we can select which have "color":"blue" OR "color":"green" a ids:Constraint ; odrl:leftOperand ?IdscLeftOperand ; - ids:operator ?IdsBinaryOperator ; + odrl:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? ( ids:unit ?Unit ; )? 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 22728490..d052dcd5 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 @@ -34,7 +34,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; - ids:operator idsc:DEFINES_AS ; + odrl:operator idsc:DEFINES_AS ; ids:rightOperandReference ?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 b148844b..de47a4ed 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 @@ -46,7 +46,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; - ids:operator idsc:DEFINES_AS ; + odrl:operator idsc:DEFINES_AS ; ids:rightOperandReference ?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 537d6435..88b0f036 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 @@ -46,7 +46,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; - ids:operator idsc:DEFINES_AS ; + odrl:operator idsc:DEFINES_AS ; ids:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL ] ] diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 16bc1f7b..c7689e4a 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -19,13 +19,6 @@ ids:Constraint rdfs:subClassOf odrl:Constraint; # Properties # ---------- -ids:operator rdfs:subPropertyOf odrl:operator; - a owl:ObjectProperty; - rdfs:label "operator"@en ; - rdfs:domain ids:Constraint; - rdfs:range ids:BinaryOperator; - rdfs:comment "The operator function applied to operands of a Constraint"@en. - ids:rightOperand rdfs:subPropertyOf odrl:rightOperand; a owl:ObjectProperty; rdfs:label "rightOperand"@en ; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index d5eb6085..8351a661 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -58,12 +58,12 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; - sh:path ids:operator ; + sh:path odrl:operator ; sh:class ids:BinaryOperator ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:Constraint must have exactly one ids:BinaryOperator linked through the ids:operator property"@en ; + sh:message " (ConstraintShape): An ids:Constraint must have exactly one ids:BinaryOperator linked through the odrl:operator property"@en ; ] ; sh:xone ( From cf1de1a427cedc46ff7993bcd33a48f982993d8a Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 14:24:34 +0200 Subject: [PATCH 119/288] Remove ids:rightOperandReference Remove ids:rightOperandReference, instead use odrl:rightOperandReference --- docs/serializations/ontology.json | 4 ++-- docs/serializations/ontology.jsonld | 4 ++-- docs/serializations/ontology.n3 | 4 ++-- docs/serializations/ontology.nt | 4 ++-- docs/serializations/ontology.rdf | 4 ++-- docs/serializations/ontology.ttl | 4 ++-- docs/serializations/ontology.xml | 4 ++-- docs/webvowl/data/ontology.json | 4 ++-- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 6 +++--- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 6 +++--- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- model/contract/Constraint.ttl | 9 +-------- testing/contract/ConstraintShape.ttl | 6 +++--- 25 files changed, 44 insertions(+), 51 deletions(-) diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 17b359b9..91e0d4ee 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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 ids: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 ids:Constraint." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Constraint" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 341e3c70..90684212 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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 ids: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 ids:Constraint." } ], "http://www.w3.org/2000/01/rdf-schema#domain" : [ { "@id" : "https://w3id.org/idsa/core/Constraint" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 4a501af4..fc36ff77 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 ids: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 ids:Constraint."@en ; rdfs:label "rightOperandReference"@en . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index 7cfcc6e9..86618847 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 ids: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 ids:Constraint."@en . "rightOperandReference"@en . # "The Agent which initiated the Message."@en . diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 0c839ddd..edea4e38 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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 ids: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 ids:Constraint. rightOperandReference diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 4a501af4..fc36ff77 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 ids: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 ids:Constraint."@en ; rdfs:label "rightOperandReference"@en . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index 32723871..0224f89a 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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 ids: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 ids:Constraint. rightOperandReference diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index e8956f42..4beecb93 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -17455,7 +17455,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 ids:Constraint." }, "attributes" : [ "object", "external" ], "id" : "754" @@ -17569,7 +17569,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 ids:Constraint." }, "attributes" : [ "object", "external" ], "id" : "761" 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 f10d95ca..81c3c73a 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 @@ -30,7 +30,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. + odrl:rightOperandReference ?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 7b82a7ae..27846416 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 @@ -42,7 +42,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. + odrl:rightOperandReference ?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 a93f9d8b..d39835f8 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 @@ -42,7 +42,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. + odrl:rightOperandReference ?ConnectorUri ; # the Connector or target system identifier. ] ; ] . 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 dfaf5414..41622352 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 @@ -30,7 +30,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference ?PurposeURI ; + 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.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl index 86be5525..256bcc66 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 @@ -42,7 +42,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference ?PurposeURI ; + 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.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl index 8c144964..3532431e 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 @@ -42,7 +42,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference ?PurposeURI ; + 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/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.ttl index 55c4d2a1..f51cdb76 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 @@ -30,14 +30,14 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; a ids:Constraint ; odrl:leftOperand idsc:USER ; odrl: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: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 ; odrl:leftOperand idsc:USER ; odrl: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: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.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.ttl index dea3e308..4d6c4702 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 @@ -42,14 +42,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; a ids:Constraint ; odrl:leftOperand idsc:USER ; odrl: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: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 ; odrl:leftOperand idsc:USER ; odrl: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: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.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.ttl index 74f1c0a6..c0e61e35 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 @@ -42,14 +42,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; a ids:Constraint ; odrl:leftOperand idsc:USER ; odrl: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: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 ; odrl:leftOperand idsc:USER ; odrl: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: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/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl index 489a662a..9303bf41 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 @@ -32,19 +32,19 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; + odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included + odrl:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included + 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.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.ttl index 6bc5cee3..392b3f85 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 @@ -44,19 +44,19 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; + odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included + odrl:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included + 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.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.ttl index 8be327f6..0eb11d16 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 @@ -44,19 +44,19 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:BASE_SECURITY_PROFILE ; + odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included + odrl:rightOperandReference idsc:TRUST_SECURITY_PROFILE ; # in case BASE is selected, TRUST must also always be included ])? [ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; - ids:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included + 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/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl index d052dcd5..88425f16 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 @@ -35,7 +35,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; odrl:operator idsc:DEFINES_AS ; - ids:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL + odrl:rightOperandReference ?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 de47a4ed..4534cb95 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 @@ -47,7 +47,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; odrl:operator idsc:DEFINES_AS ; - ids:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL + odrl:rightOperandReference ?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 88b0f036..be57c19b 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 @@ -47,7 +47,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; odrl:operator idsc:DEFINES_AS ; - ids:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL + odrl:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL ] ] ] ; diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index c7689e4a..367d5b4b 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -24,14 +24,7 @@ ids:rightOperand rdfs:subPropertyOf odrl:rightOperand; rdfs:label "rightOperand"@en ; rdfs:domain ids: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 ids:rightOperand or ids:rightOperandReference should be used in an ids:Constraint."@en. - -ids:rightOperandReference rdfs:subPropertyOf odrl:rightOperandReference; - a owl:ObjectProperty; - rdfs:label "rightOperandReference"@en ; - rdfs:domain ids: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 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 ids:Constraint."@en. ids:unit rdfs:subPropertyOf odrl:unit; a owl:ObjectProperty; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 8351a661..4d448f05 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -74,18 +74,18 @@ shapes:ConstraintShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): Exactly one ids:rightOperand property must point from an ids::Constraint to Literals or rdfs:Resources. Note that ids:rightOperand and ids:rightOperandReference cannot be used in the same statement."@en ; + sh:message " (ConstraintShape): Exactly one ids:rightOperand property must point from an ids::Constraint to Literals or rdfs:Resources. Note that ids:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; ] ] [ sh:property [ a sh:PropertyShape ; - sh:path ids:rightOperandReference ; + sh:path odrl:rightOperandReference ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): Exactly one ids:rightOperandReference property must point from an ids::Constraint to an IRI. Note that ids:rightOperand and ids:rightOperandReference cannot be used in the same statement."@en ; + sh:message " (ConstraintShape): Exactly one odrl:rightOperandReference property must point from an ids::Constraint to an IRI. Note that ids:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; ] ] ) ; From 913268fc05998af8372ab3bb4730ff2796e1d741 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 14:58:52 +0200 Subject: [PATCH 120/288] Remove ids:unit Remove ids:unit, instead use odrl:unit --- examples/DATA1.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../templates/ActionTemplates/ACTION_TEMPLATE.ttl | 4 ++-- .../templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl | 4 ++-- .../ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl | 4 ++-- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 2 +- .../templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- .../templates/TargetTemplates/ASSET_TEMPLATE.ttl | 4 ++-- .../TEMP_RESOURCE.ttl | 2 +- model/contract/Constraint.ttl | 7 ------- testing/contract/ConstraintShape.ttl | 4 ++-- 15 files changed, 19 insertions(+), 26 deletions(-) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 2a3d68fe..eab35c69 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -86,7 +86,7 @@ data1:offer odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQUALS ; ids:rightOperand 25 ; - ids:unit + odrl:unit ] ] diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 43db51e6..63a0053c 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -124,7 +124,7 @@ data1:offer odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; ids:rightOperand 25 ; - ids:unit + odrl: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 023c544f..4d6e8c4d 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl @@ -26,7 +26,7 @@ odrl: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" ( 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 @@ -43,7 +43,7 @@ odrl:operator ?IdsBinaryOperator ; ids: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/CONSTRAINT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl index 49d8b7da..7e854c35 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl @@ -21,7 +21,7 @@ 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" ( 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 [ @@ -34,7 +34,7 @@ ids:operator ?IdsBinaryOperator ; ids: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/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl index 3a07a820..36f0a077 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl @@ -30,7 +30,7 @@ odrl: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" ( 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 @@ -46,7 +46,7 @@ odrl:operator ?IdsBinaryOperator ; ids: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/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl index 6aaa2dfa..2c277afb 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 @@ -45,7 +45,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee - ids:unit ?currency ; + odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; 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 8e6729b0..be14da59 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 @@ -63,7 +63,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee - ids:unit ?currency ; + odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; 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 ef189b0e..abf74e3c 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 @@ -63,7 +63,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee - ids:unit ?currency ; + odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; 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 ac806a98..30a469df 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 @@ -38,7 +38,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd:double ; - ids:unit ?currency ; + odrl:unit ?currency ; ] ] ; ] ; 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 602cc07c..016b25b0 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 @@ -56,7 +56,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd:double ; - ids:unit ?currency ; + odrl:unit ?currency ; ] ] ; ] ; 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 64b5ad6c..33023160 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 @@ -56,7 +56,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd:double ; - ids:unit ?currency ; + odrl:unit ?currency ; ] ] ; ] ; 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 694a0a21..49248ed3 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl @@ -30,7 +30,7 @@ odrl: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" ( 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 @@ -46,7 +46,7 @@ odrl:operator ?IdsBinaryOperator ; ids: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/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index bf2b7269..4b108757 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -102,7 +102,7 @@ sample_Data: odrl:leftOperand idsc:payAmount ; ids:operator ids:EQ ; ids:rightOperand 100 ; - ids:unit ; + odrl:unit ; ] ] ] diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 367d5b4b..2805dac2 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -26,13 +26,6 @@ ids:rightOperand rdfs:subPropertyOf odrl:rightOperand; 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 ids:rightOperand or odrl:rightOperandReference should be used in an ids:Constraint."@en. -ids:unit rdfs:subPropertyOf odrl:unit; - a owl:ObjectProperty; - rdfs:label "unit"@en; - rdfs:domain ids:Constraint; - rdfs:range xsd:anyURI ; - rdfs:comment "The unit of measurement of a Constraint."@en. - ids:pipEndpoint a owl:ObjectProperty; rdfs:label "has PIP endpoint"@en; rdfs:domain ids:Constraint; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 4d448f05..995c6019 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -92,11 +92,11 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; - sh:path ids:unit ; + sh:path odrl:unit ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:unit property must point from an ids:Constraint to a unit via a URI."@en ; + sh:message " (ConstraintShape): An odrl:unit property must point from an ids:Constraint to a unit via a URI."@en ; ] ; sh:property [ From 2e802288824369f3f9bc28fc0f5f29c524e37580 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 15:07:09 +0200 Subject: [PATCH 121/288] Remove ids:and Remove ids:and, instead use odrl:and --- docs/serializations/ontology.json | 6 +++--- docs/serializations/ontology.jsonld | 6 +++--- docs/serializations/ontology.n3 | 6 +++--- docs/serializations/ontology.nt | 6 +++--- docs/serializations/ontology.rdf | 6 +++--- docs/serializations/ontology.ttl | 6 +++--- docs/serializations/ontology.xml | 6 +++--- docs/webvowl/data/ontology.json | 6 +++--- .../TEMPORAL_CONSTRAINT_TEMPLATE.ttl | 2 +- .../TargetTemplates/AssetTemplateShape.ttl | 2 +- model/contract/Constraint.ttl | 13 ++----------- testing/contract/ConstraintShape.ttl | 4 ++-- 12 files changed, 30 insertions(+), 39 deletions(-) diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 91e0d4ee..67f43130 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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 odrl: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, ids:or, or ids: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" @@ -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 odrl: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, ids:or, or ids: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" @@ -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 odrl: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, ids:or, or ids: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 90684212..eeaf0e2f 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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 odrl: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, ids:or, or ids: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" @@ -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 odrl: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, ids:or, or ids: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" @@ -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 odrl: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, ids:or, or ids: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 fc36ff77..eaa0e321 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "and operand"@en . @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "or operand"@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 odrl: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, ids:or, or ids: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 86618847..8c045e7d 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 odrl: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, ids:or, or ids: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 . @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en . "or operand"@en . # "A Permission granted by the Contract."@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 odrl: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, ids:or, or ids: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 edea4e38..1cfb0de2 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! and operand @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! or operand @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! exclusive or diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index fc36ff77..eaa0e321 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "and operand"@en . @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "or operand"@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 odrl: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, ids:or, or ids: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 0224f89a..16cf4093 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! and operand @@ -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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint! or operand @@ -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 odrl: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, ids:or, or ids: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 4beecb93..78a0414e 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -15512,7 +15512,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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "476" @@ -16124,7 +16124,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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "560" @@ -18173,7 +18173,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 odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "801" 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 d819a733..41e9a5a2 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 @@ -37,7 +37,7 @@ | # or ( a odrl:LogicalConstraint ; # A Collection with more than one condition to describe its members. - ids:and # Both Constraints have to be satisfied. + 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 diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index d2e444b6..7db950f5 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -30,7 +30,7 @@ shapes:AssetTemplateShape sh:class odrl:AssetCollection ; # it's a Collection with LogicalConstraints sh:property [ sh:path [ - sh:or ( ids:or ids:and ids:xone ); + sh:or ( ids:or odrl:and ids:xone ); ]; sh:minInclusive 2 ; sh:class odrl:LogicalConstraint ; diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 2805dac2..9f426b21 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -33,22 +33,13 @@ ids:pipEndpoint a owl:ObjectProperty; rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en . -ids:and rdfs:subPropertyOf odrl:and; - a owl:ObjectProperty; - rdfs:label "and operand"@en ; - rdfs:domain odrl:LogicalConstraint; - #rdfs:range rdf:List; - rdfs:range ids: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 ; -. - ids:or rdfs:subPropertyOf odrl:or; a owl:ObjectProperty; rdfs:label "or operand"@en ; rdfs:domain odrl:LogicalConstraint; #rdfs:range rdf:List; rdfs:range ids: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 ids:and, ids:or, or ids:xone can be used for a specific odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; . ids:xone rdfs:subPropertyOf odrl:xone; @@ -57,5 +48,5 @@ ids:xone rdfs:subPropertyOf odrl:xone; rdfs:domain odrl:LogicalConstraint; #rdfs:range rdf:List; rdfs:range ids: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 ids:and, ids:or, or ids:xone can be used for a specific odrl: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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; . diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 995c6019..9a937135 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -115,7 +115,7 @@ shapes:LogicalConstraintShape sh:targetClass odrl:LogicalConstraint ; sh:xone ( [ - sh:path ids:and ; + sh:path odrl:and ; sh:minCount 1 ; #sh:maxCount 1 ; sh:class ids:Constraint ; @@ -136,5 +136,5 @@ shapes:LogicalConstraintShape sh:severity sh:Violation ; ] ) ; - sh:message " (LogicalConstraintShape): Exactly one ids:and, ids:or, or ids:xone property must point from an odrl:LogicalConstraint to ids:Constraints."@en ; + sh:message " (LogicalConstraintShape): Exactly one odrl:and, ids:or, or ids:xone property must point from an odrl:LogicalConstraint to ids:Constraints."@en ; . From f15e85c91eab6941d447922644763807541f4721 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 15:13:13 +0200 Subject: [PATCH 122/288] Remove ids:or Remove ids:or, instead use odrl:and --- docs/serializations/ontology.json | 6 +++--- docs/serializations/ontology.jsonld | 6 +++--- docs/serializations/ontology.n3 | 6 +++--- docs/serializations/ontology.nt | 6 +++--- docs/serializations/ontology.rdf | 6 +++--- docs/serializations/ontology.ttl | 6 +++--- docs/serializations/ontology.xml | 6 +++--- docs/webvowl/data/ontology.json | 6 +++--- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 2 +- .../templates/TargetTemplates/AssetTemplateShape.ttl | 2 +- model/contract/Constraint.ttl | 11 +---------- testing/contract/ConstraintShape.ttl | 4 ++-- 14 files changed, 31 insertions(+), 40 deletions(-) diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 67f43130..0f3eba22 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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" @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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" @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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 eeaf0e2f..c5aac65e 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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" @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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" @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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 eaa0e321..050ba54d 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "and operand"@en . @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "or operand"@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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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 8c045e7d..d12feb26 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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 . @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!"@en . "or operand"@en . # "A Permission granted by the Contract."@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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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 1cfb0de2..05cbee30 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint! and operand @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint! or operand @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint! exclusive or diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index eaa0e321..050ba54d 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "and operand"@en . @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; rdfs:label "or operand"@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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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 16cf4093..5a7cbb63 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint! and operand @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint! or operand @@ -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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids: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 78a0414e..3246e7ac 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -15512,7 +15512,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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "476" @@ -16124,7 +16124,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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "560" @@ -18173,7 +18173,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 odrl:and, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!" }, "attributes" : [ "object", "external" ], "id" : "801" 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 9303bf41..92551e2d 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 @@ -27,7 +27,7 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a odrl:LogicalConstraint ; - ids:or ( # '(' is used as an RDF List operator here + odrl:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; 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 392b3f85..f775fba0 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 @@ -39,7 +39,7 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a odrl:LogicalConstraint ; - ids:or ( # '(' is used as an RDF List operator here + odrl:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; 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 0eb11d16..b1f4df77 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 @@ -39,7 +39,7 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ a odrl:LogicalConstraint ; - ids:or ( # '(' is used as an RDF List operator here + odrl:or ( # '(' is used as an RDF List operator here ([ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index 7db950f5..d5c6cc96 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -30,7 +30,7 @@ shapes:AssetTemplateShape sh:class odrl:AssetCollection ; # it's a Collection with LogicalConstraints sh:property [ sh:path [ - sh:or ( ids:or odrl:and ids:xone ); + sh:or ( odrl:or odrl:and ids:xone ); ]; sh:minInclusive 2 ; sh:class odrl:LogicalConstraint ; diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 9f426b21..69f11a1c 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -33,20 +33,11 @@ ids:pipEndpoint a owl:ObjectProperty; rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en . -ids:or rdfs:subPropertyOf odrl:or; - a owl:ObjectProperty; - rdfs:label "or operand"@en ; - rdfs:domain odrl:LogicalConstraint; - #rdfs:range rdf:List; - rdfs:range ids: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 ; -. - ids:xone rdfs:subPropertyOf odrl:xone; a owl:ObjectProperty; rdfs:label "exclusive or"@en ; rdfs:domain odrl:LogicalConstraint; #rdfs:range rdf:List; rdfs:range ids: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, ids:or, or ids:xone can be used for a specific odrl: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 ids:xone can be used for a specific odrl:LogicalConstraint!"@en ; . diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 9a937135..afb3690c 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -122,7 +122,7 @@ shapes:LogicalConstraintShape sh:severity sh:Violation ; ] [ - sh:path ids:or ; + sh:path odrl:or ; sh:minCount 1 ; #sh:maxCount 1 ; sh:class ids:Constraint ; @@ -136,5 +136,5 @@ shapes:LogicalConstraintShape sh:severity sh:Violation ; ] ) ; - sh:message " (LogicalConstraintShape): Exactly one odrl:and, ids:or, or ids:xone property must point from an odrl:LogicalConstraint to ids:Constraints."@en ; + sh:message " (LogicalConstraintShape): Exactly one odrl:and, odrl:or, or ids:xone property must point from an odrl:LogicalConstraint to ids:Constraints."@en ; . From 84aa0e386388ab41daff8bc3637df5a63ffa9979 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 20 Sep 2021 15:17:51 +0200 Subject: [PATCH 123/288] Remove ids:xone Remove ids:xone, instead use odrl:xone --- docs/serializations/ontology.json | 6 +++--- docs/serializations/ontology.jsonld | 6 +++--- docs/serializations/ontology.n3 | 6 +++--- docs/serializations/ontology.nt | 6 +++--- docs/serializations/ontology.rdf | 6 +++--- docs/serializations/ontology.ttl | 6 +++--- docs/serializations/ontology.xml | 6 +++--- docs/webvowl/data/ontology.json | 6 +++--- .../templates/TargetTemplates/AssetTemplateShape.ttl | 2 +- model/contract/Constraint.ttl | 9 --------- testing/contract/ConstraintShape.ttl | 4 ++-- 11 files changed, 27 insertions(+), 36 deletions(-) diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 0f3eba22..49ccfd3c 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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" @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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" @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 c5aac65e..7d717cab 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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" @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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" @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 050ba54d..d5d4430f 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 . @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 . @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 d12feb26..abfc3b71 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 . @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 . @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 05cbee30..58c5da67 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 050ba54d..d5d4430f 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 . @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 . @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 5a7cbb63..db32769d 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 @@ -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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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 3246e7ac..df53abe4 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -15512,7 +15512,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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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" @@ -16124,7 +16124,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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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" @@ -18173,7 +18173,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 odrl:and, odrl:or, or ids:xone can be used for a specific odrl: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" diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index d5c6cc96..78aa730b 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -30,7 +30,7 @@ shapes:AssetTemplateShape sh:class odrl:AssetCollection ; # it's a Collection with LogicalConstraints sh:property [ sh:path [ - sh:or ( odrl:or odrl:and ids:xone ); + sh:or ( odrl:or odrl:and odrl:xone ); ]; sh:minInclusive 2 ; sh:class odrl:LogicalConstraint ; diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 69f11a1c..521fa23e 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -32,12 +32,3 @@ ids:pipEndpoint a owl:ObjectProperty; rdfs:range xsd:anyURI ; rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en . - -ids:xone rdfs:subPropertyOf odrl:xone; - a owl:ObjectProperty; - rdfs:label "exclusive or"@en ; - rdfs:domain odrl:LogicalConstraint; - #rdfs:range rdf:List; - rdfs:range ids: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 ; -. diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index afb3690c..4d757473 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -129,12 +129,12 @@ shapes:LogicalConstraintShape sh:severity sh:Violation ; ] [ - sh:path ids:xone ; + sh:path odrl:xone ; sh:minCount 1 ; #sh:maxCount 1 ; sh:class ids:Constraint ; sh:severity sh:Violation ; ] ) ; - sh:message " (LogicalConstraintShape): Exactly one odrl:and, odrl:or, or ids:xone property must point from an odrl:LogicalConstraint to ids:Constraints."@en ; + sh:message " (LogicalConstraintShape): Exactly one odrl:and, odrl:or, or odrl:xone property must point from an odrl:LogicalConstraint to ids:Constraints."@en ; . From 8527ed140fcf194c7da0c690fef3b9d60af9f60a Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 22 Sep 2021 12:54:53 +0200 Subject: [PATCH 124/288] Remove ids:assignee Remove ids:assignee, instead use odrl:assignee --- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl | 8 ++++---- .../DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl | 8 ++++---- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 4 ++-- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 4 ++-- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 4 ++-- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/OFFER_PERMISSION_TEMPLATE.ttl | 4 ++-- .../PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.ttl | 4 ++-- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 4 ++-- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 4 ++-- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 8 ++++---- .../templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 8 ++++---- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../ROLEBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 8 ++++---- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 8 ++++---- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 4 ++-- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 4 ++-- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl | 4 ++-- .../SPATIAL_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl | 8 ++++---- .../templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl | 8 ++++---- .../DURATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_OFFER_TEMPLATE.ttl | 4 ++-- .../DURATION_REQUEST_TEMPLATE.ttl | 4 ++-- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 4 ++-- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl | 4 ++-- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 8 ++++---- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 8 ++++---- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_LOGGING_OFFER_TEMPLATE.ttl | 8 ++++---- .../USAGE_LOGGING_REQUEST_TEMPLATE.ttl | 8 ++++---- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 4 ++-- model/contract/Rule.ttl | 7 ------- testing/contract/RuleShape.ttl | 4 ++-- 57 files changed, 123 insertions(+), 130 deletions(-) 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 81c3c73a..6394ae2f 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 @@ -23,7 +23,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider, - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 27846416..394b1158 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 @@ -31,10 +31,10 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 d39835f8..e66d0582 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 @@ -31,10 +31,10 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 d2438394..2cef0d0d 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 @@ -23,13 +23,13 @@ idsc:DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE a ids:DistributeEcryptedAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:DISTRIBUTE ; ids:preDuty [ a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action idsc:ENCRYPT ; ] ; ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints 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 d7c3ed3e..bd2fe448 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 @@ -31,10 +31,10 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:DISTRIBUTE ; @@ -43,10 +43,10 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action idsc:ENCRYPT ; ] ; 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 404453d8..eb48150a 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 @@ -31,10 +31,10 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:DISTRIBUTE ; @@ -43,10 +43,10 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action idsc:ENCRYPT ; ] ; 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 319145f4..9e6784b2 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 @@ -22,7 +22,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 fe2f8c6f..b340395b 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 @@ -30,10 +30,10 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 1a49e5bd..c7fee67e 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 @@ -30,10 +30,10 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 ccadcd36..bac0be33 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 @@ -22,7 +22,7 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 721281f7..beb7cf11 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 @@ -30,10 +30,10 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 8c66ce2c..b171c309 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 @@ -30,10 +30,10 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 6fe1f99e..8482290f 100644 --- a/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl @@ -16,7 +16,7 @@ idsc:OBLIGATION_TEMPLATE a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints . 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 67888d31..215144e3 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 @@ -14,7 +14,7 @@ idsc:AGREEMENT_PERMISSION_TEMPLATE a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee 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 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 05e90a6d..dfb29e05 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 @@ -16,10 +16,10 @@ idsc:OFFER_PERMISSION_TEMPLATE a odrl:Permission ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) ) ids:target idsc:ASSET_TEMPLATE ; # A Permission has a target Asset. ids:action idsc:ACTION_TEMPLATE ; 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 a1466d29..7074d007 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 @@ -16,10 +16,10 @@ idsc:REQUEST_PERMISSION_TEMPLATE a odrl:Permission ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 41622352..bf5e99f1 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 @@ -23,7 +23,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 256bcc66..8d6b7020 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 @@ -31,10 +31,10 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 3532431e..4ecd7ad4 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 @@ -31,10 +31,10 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 2c277afb..9fc1ec74 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 @@ -23,7 +23,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ @@ -36,7 +36,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:preDuty [ a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; ids:includedIn idsc:COMPENSATE ; 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 be14da59..97d94389 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 @@ -31,10 +31,10 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; @@ -50,10 +50,10 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ a odrl:Action ; 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 abf74e3c..1edf18ba 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 @@ -31,10 +31,10 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; @@ -50,10 +50,10 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ a odrl:Action ; 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 f51cdb76..de75981b 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 @@ -23,7 +23,7 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider, - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 4d6c4702..2a8655f5 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 @@ -31,10 +31,10 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 c0e61e35..b373382a 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 @@ -31,10 +31,10 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 30a469df..d5ed7a57 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 @@ -23,13 +23,13 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:preDuty [ a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; ids:includedIn idsc:COMPENSATE ; 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 016b25b0..0374c3c2 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 @@ -31,10 +31,10 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; @@ -43,10 +43,10 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ( (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assigneeodrl: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ a odrl:Action ; 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 33023160..f24beaa2 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 @@ -31,10 +31,10 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; @@ -43,10 +43,10 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ a odrl:Action ; 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 92551e2d..cfda0ff5 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 @@ -22,7 +22,7 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 f775fba0..fe4c94b2 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 @@ -30,10 +30,10 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 b1f4df77..bc828bc8 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 @@ -30,10 +30,10 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 0055eca5..a2087e49 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 @@ -22,7 +22,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 449c6577..38defe79 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 @@ -30,10 +30,10 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 5526c402..3b5682ff 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 @@ -31,10 +31,10 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 8fc64b88..3301ada4 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 @@ -23,7 +23,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + 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 @@ -33,7 +33,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 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 ab5783a7..734ed220 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 @@ -31,10 +31,10 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; # the Provider's Data Asset ids:action idsc:ACTION_TEMPLATE ; @@ -47,10 +47,10 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider ) ids:target idsc:ASSET_TEMPLATE ; # the Consumer's Data Asset ids:action idsc:ACTION_TEMPLATE ; 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 fd657f81..5a8cfcd8 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 @@ -31,10 +31,10 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; # the Provider's Data Asset ids:action idsc:ACTION_TEMPLATE ; @@ -47,10 +47,10 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider ) ids:target idsc:ASSET_TEMPLATE ; # the Consumer's Data Asset ids:action idsc:ACTION_TEMPLATE ; 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 d66d664f..b8e6c899 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 @@ -22,7 +22,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 3870ea20..0dd82511 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 @@ -31,10 +31,10 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 ea8d9d12..2094cfa6 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 @@ -31,10 +31,10 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 d66d664f..b8e6c899 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 @@ -22,7 +22,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 3870ea20..0dd82511 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 @@ -31,10 +31,10 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 ea8d9d12..2094cfa6 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 @@ -31,10 +31,10 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 6c882805..0fc973f9 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 @@ -23,7 +23,7 @@ idsc:USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE a ids:IntervalUsageAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ 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 7460b099..c75c24f5 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 @@ -31,10 +31,10 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 afc544d7..47bbcdb0 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 @@ -31,10 +31,10 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 2156284c..bfbcfeb1 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 @@ -23,7 +23,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:constraint [ @@ -39,7 +39,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ids:postDuty [ a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; ids:includedIn idsc:DELETE ; 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 a0fd9035..6ba0ec39 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 @@ -31,10 +31,10 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; @@ -53,10 +53,10 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ a odrl:Action ; 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 b3075292..d1afb83a 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 @@ -31,10 +31,10 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; @@ -53,10 +53,10 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ a odrl:Action ; 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 12bd0718..8f78da27 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 @@ -23,13 +23,13 @@ idsc:USAGE_LOGGING_AGREEMENT_TEMPLATE a ids:LoggingAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:postDuty [ a odrl:Duty ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider - ids:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action idsc:LOG ; ] ; ( ids:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints 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 12023653..b1f0a8e3 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 @@ -31,10 +31,10 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; @@ -43,10 +43,10 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action idsc:LOG ; ] ; 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 c2d8aec5..c106313f 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 @@ -31,10 +31,10 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; @@ -43,10 +43,10 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action idsc:LOG ; ] ; 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 88425f16..44d274ac 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 @@ -23,7 +23,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; ids:permission [ a odrl:Permission ; ids:assigner idsc:PARTICIPANT_TEMPLATE ; - ids:assignee idsc:PARTICIPANT_TEMPLATE ; + odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; ids:postDuty [ 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 4534cb95..7cb8b8ed 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 @@ -31,10 +31,10 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 be57c19b..f9b1f67b 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 @@ -31,10 +31,10 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; ( (ids: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:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index 0bf45d4b..f50ae4aa 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -18,13 +18,6 @@ ids:action rdfs:range odrl:Action; rdfs:comment "The operation relating to the asset / data object. "@en. -ids:assignee rdfs:subPropertyOf odrl:assignee; - a owl:ObjectProperty; - rdfs:domain odrl:Rule; - rdfs:range ids:Participant; - rdfs:label "assignee"@en; - rdfs:comment "The recipient of the policy statement."@en. - ids:assigner rdfs:subPropertyOf odrl:assigner; a owl:ObjectProperty; diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 86fac6b7..0aa4a9e4 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -50,7 +50,7 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; - sh:path ids:assignee ; + sh:path odrl:assignee ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class ids:Participant ; ] @@ -58,7 +58,7 @@ shapes:RuleShape sh:minCount 0 ; #sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An odrl:Rule must have at maximum one ids:Participant linked through the ids:assignee property."@en ; + sh:message " (RuleShape): An odrl:Rule must have at maximum one ids:Participant linked through the odrl:assignee property."@en ; ] ; sh:property [ From d8da9b1974fd3f71b4d4e3ead8186cea7e78fda2 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 22 Sep 2021 13:10:48 +0200 Subject: [PATCH 125/288] Remove ids:assigner Remove ids:assigner, instead use odrl:assigner --- examples/DATA1.ttl | 2 +- examples/DATA2.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl | 8 ++++---- .../DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl | 8 ++++---- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 4 ++-- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 4 ++-- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 4 ++-- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/OFFER_PERMISSION_TEMPLATE.ttl | 4 ++-- .../PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.ttl | 4 ++-- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 4 ++-- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 4 ++-- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 8 ++++---- .../templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 8 ++++---- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../ROLEBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 8 ++++---- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 8 ++++---- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 4 ++-- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 4 ++-- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl | 4 ++-- .../SPATIAL_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl | 8 ++++---- .../templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl | 8 ++++---- .../DURATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_OFFER_TEMPLATE.ttl | 4 ++-- .../DURATION_REQUEST_TEMPLATE.ttl | 4 ++-- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 4 ++-- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl | 4 ++-- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 8 ++++---- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 8 ++++---- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_LOGGING_OFFER_TEMPLATE.ttl | 8 ++++---- .../USAGE_LOGGING_REQUEST_TEMPLATE.ttl | 8 ++++---- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 4 ++-- .../TEMP_RESOURCE.ttl | 2 +- model/contract/Rule.ttl | 8 -------- testing/contract/RuleShape.ttl | 4 ++-- 61 files changed, 127 insertions(+), 135 deletions(-) diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index eab35c69..a27fded3 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -73,7 +73,7 @@ data1:offer a ids:ContractOffer ; ids:permission [ a odrl:Permission ; - ids:assigner part1: ; + odrl:assigner part1: ; # individual target(s) ids:target data1: ; ids:action idsc:USE ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index e4c081fb..d971c997 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -100,7 +100,7 @@ data2: ids:provider part1: ; ids:permission [ a odrl:Permission ; - ids:assigner part1: ; + odrl:assigner part1: ; ids:target data2:generic_content ; # i.e. applies to any artifact / instance of given content ids:action idsc:USE ; ] diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 63a0053c..7730ff19 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -110,7 +110,7 @@ data1:offer ids:contractDocument _:contractReource; ids:permission [ a odrl:Permission; - ids:assigner ; + odrl:assigner ; # individual target(s) ids:target _:foo ; 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 6394ae2f..4f6edb99 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 @@ -22,7 +22,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider, + 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 ; 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 394b1158..7ef5155b 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 @@ -29,11 +29,11 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 e66d0582..703133bd 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 @@ -29,11 +29,11 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 2cef0d0d..f5c812d6 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 @@ -22,13 +22,13 @@ idsc:DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE a ids:DistributeEcryptedAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; ids:preDuty [ a odrl:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action idsc:ENCRYPT ; ] ; 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 bd2fe448..348103f1 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 @@ -29,11 +29,11 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -41,11 +41,11 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; ids:preDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action idsc:ENCRYPT ; 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 eb48150a..26dbc502 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 @@ -29,11 +29,11 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -41,11 +41,11 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; ids:preDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action idsc:ENCRYPT ; 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 9e6784b2..7406bf05 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 @@ -21,7 +21,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; 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 b340395b..e3dd6255 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 @@ -28,11 +28,11 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 c7fee67e..b6e69158 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 @@ -28,11 +28,11 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 bac0be33..def75ffc 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 @@ -21,7 +21,7 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; 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 beb7cf11..786c495e 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 @@ -28,11 +28,11 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 b171c309..a7389bed 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 @@ -28,11 +28,11 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 8482290f..9fab3c5c 100644 --- a/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl @@ -15,7 +15,7 @@ # 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 odrl:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; [ ids:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints 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 215144e3..9b993580 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 @@ -13,7 +13,7 @@ # -------- idsc:AGREEMENT_PERMISSION_TEMPLATE a odrl:Permission ; - ids:assigner 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 ; 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 dfb29e05..f35407f0 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 @@ -14,11 +14,11 @@ idsc:OFFER_PERMISSION_TEMPLATE a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) ) ids:target idsc:ASSET_TEMPLATE ; # A Permission has a target Asset. 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 7074d007..05a35b98 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 @@ -14,11 +14,11 @@ idsc:REQUEST_PERMISSION_TEMPLATE a odrl:Permission ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) ) ids:target idsc:ASSET_TEMPLATE ; 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 bf5e99f1..07ab61f0 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 @@ -22,7 +22,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 8d6b7020..df0ae8e2 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 @@ -29,11 +29,11 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 4ecd7ad4..30568e0a 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 @@ -29,11 +29,11 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 9fc1ec74..40d83240 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 @@ -22,7 +22,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; @@ -35,7 +35,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ] ; ids:preDuty [ a odrl:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; 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 97d94389..11416f10 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 @@ -29,11 +29,11 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -48,11 +48,11 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:preDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ 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 1edf18ba..41afae65 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 @@ -29,11 +29,11 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -48,11 +48,11 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:preDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ 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 de75981b..6f56cec4 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 @@ -22,7 +22,7 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider, + 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 ; 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 2a8655f5..225cea31 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 @@ -29,11 +29,11 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 b373382a..dca7db7a 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 @@ -29,11 +29,11 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 d5ed7a57..549427b1 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 @@ -22,13 +22,13 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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:preDuty [ a odrl:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; 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 0374c3c2..59d82dba 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 @@ -29,11 +29,11 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -41,11 +41,11 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ids:preDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assigneeodrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ 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 f24beaa2..859bd22e 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 @@ -29,11 +29,11 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -41,11 +41,11 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ids:preDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ 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 cfda0ff5..e0c215a0 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 @@ -21,7 +21,7 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 fe4c94b2..38313f11 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 @@ -28,11 +28,11 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 bc828bc8..bbea0ee0 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 @@ -28,11 +28,11 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 a2087e49..b0b0445f 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 @@ -21,7 +21,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; 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 38defe79..900fa1ec 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 @@ -28,11 +28,11 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 3b5682ff..9a5bfa46 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 @@ -29,11 +29,11 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 3301ada4..d026da5a 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 @@ -22,7 +22,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; @@ -32,7 +32,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; ] ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + 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 ; 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 734ed220..f2a7b2e5 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 @@ -29,11 +29,11 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 @@ -45,11 +45,11 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + (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 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 5a8cfcd8..ea836852 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 @@ -29,11 +29,11 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 @@ -45,11 +45,11 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer + (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 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 b8e6c899..efef3485 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 @@ -21,7 +21,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; 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 0dd82511..f95fe5da 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 @@ -29,11 +29,11 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 2094cfa6..762dc6dc 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 @@ -29,11 +29,11 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 b8e6c899..efef3485 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 @@ -21,7 +21,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; 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 0dd82511..f95fe5da 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 @@ -29,11 +29,11 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 2094cfa6..762dc6dc 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 @@ -29,11 +29,11 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 0fc973f9..7863290d 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 @@ -22,7 +22,7 @@ idsc:USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE a ids:IntervalUsageAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; 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 c75c24f5..17dad3a3 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 @@ -29,11 +29,11 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 47bbcdb0..19eb9c4c 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 @@ -29,11 +29,11 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 bfbcfeb1..8c7680a4 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 @@ -22,7 +22,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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 ; @@ -38,7 +38,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ] ; ids:postDuty [ a odrl:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; 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 6ba0ec39..3315a37a 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 @@ -29,11 +29,11 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -51,11 +51,11 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ids:postDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ 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 d1afb83a..5f0dac28 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 @@ -29,11 +29,11 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -51,11 +51,11 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ids:postDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action [ 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 8f78da27..ffde7bdf 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 @@ -22,13 +22,13 @@ idsc:USAGE_LOGGING_AGREEMENT_TEMPLATE a ids:LoggingAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + 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:postDuty [ a odrl:Duty ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action idsc:LOG ; ] ; 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 b1f0a8e3..292d7b75 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 @@ -29,11 +29,11 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -41,11 +41,11 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; ids:postDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action idsc:LOG ; 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 c106313f..e7cd6a78 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 @@ -29,11 +29,11 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; @@ -41,11 +41,11 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; ids:postDuty [ a odrl:Duty ; ( - (ids:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) ids:action idsc:LOG ; 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 44d274ac..c83ee51e 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 @@ -22,7 +22,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; ids:consumer idsc:PARTICIPANT_TEMPLATE ; ids:permission [ a odrl:Permission ; - ids:assigner idsc:PARTICIPANT_TEMPLATE ; + odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; 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 7cb8b8ed..30557289 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 @@ -29,11 +29,11 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; 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 f9b1f67b..a479232f 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 @@ -29,11 +29,11 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; ids: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 (odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or - (ids:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider + (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 ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 4b108757..76de1088 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -82,7 +82,7 @@ sample_Data: # Specify permission ids:action idsc:USE ; - ids:assigner ""; + odrl:assigner ""; # Individual target artifact(s) ids:target sample_Data:tempdata_file ; diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index f50ae4aa..88ced3a6 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -18,14 +18,6 @@ ids:action rdfs:range odrl:Action; rdfs:comment "The operation relating to the asset / data object. "@en. - -ids:assigner rdfs:subPropertyOf odrl:assigner; - a owl:ObjectProperty; - rdfs:domain odrl:Rule; - rdfs:range ids:Participant; - rdfs:label "assigner"@en; - rdfs:comment "The issuer of the policy statement."@en. - ids:target a owl:ObjectProperty; rdfs:domain odrl:Rule; diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 0aa4a9e4..a8f4f5e5 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -63,7 +63,7 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; - sh:path ids:assigner ; + sh:path odrl:assigner ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class ids:Participant ; ] @@ -71,7 +71,7 @@ shapes:RuleShape sh:minCount 0 ; #sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An odrl:Rule must have at maximum one ids:Participant linked through the ids:assigner property"@en ; + sh:message " (RuleShape): An odrl:Rule must have at maximum one ids:Participant linked through the odrl:assigner property"@en ; ] ; sh:property [ From 216825396bc51923f89009c6585b77c0a54af120 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 22 Sep 2021 14:03:29 +0200 Subject: [PATCH 126/288] Remove ids:constraint Remove ids:constraint, instead use odrl:constraint --- codes/RequestTemplate.ttl | 4 ++-- docs/serializations/ontology.json | 4 ++-- docs/serializations/ontology.nt | 4 ++-- docs/serializations/ontology.rdf | 4 ++-- docs/serializations/ontology.ttl | 6 ++++-- docs/serializations/ontology.xml | 4 ++-- docs/webvowl/data/ontology.json | 4 ++-- examples/DATA1.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 4 ++-- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/OFFER_PERMISSION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 6 +++--- .../templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 6 +++--- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 2 +- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl | 4 ++-- .../SPATIAL_REQUEST_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl | 4 ++-- .../DURATION_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../DURATION_OFFER_TEMPLATE.ttl | 4 ++-- .../DURATION_REQUEST_TEMPLATE.ttl | 4 ++-- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 4 ++-- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl | 6 +++--- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl | 6 +++--- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 8 ++++---- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 8 ++++---- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 8 ++++---- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_LOGGING_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_LOGGING_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 4 ++-- model/contract/Rule.ttl | 7 ------- testing/contract/RuleShape.ttl | 4 ++-- 67 files changed, 116 insertions(+), 121 deletions(-) diff --git a/codes/RequestTemplate.ttl b/codes/RequestTemplate.ttl index 771fe921..dac9ea2c 100644 --- a/codes/RequestTemplate.ttl +++ b/codes/RequestTemplate.ttl @@ -29,7 +29,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; "ids:consumer": "", "ids:permission": { "ids:action": "[ids:use|ids:read|...]" , - ["ids:constraint" : { + ["odrl:constraint" : { "odrl:leftOperand" : "", "odrl:operator" : "[ids:eq|ids:lt|ids:gt]", "ids:rightOperand" : "[|]" @@ -49,7 +49,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; ids:provider [ids:permission [ ids:action ids:[use|read|...] ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand ; odrl:operator [ids:eq|ids:lt|ids:gt] ; ids:rightOperand [|] diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 49ccfd3c..49eaca8e 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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", diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index abfc3b71..128e0c0a 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 . diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 58c5da67..9a90caee 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -11303,7 +11303,7 @@ ids:provider <Provider Participant URI> [ids: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>] @@ -11320,7 +11320,7 @@ "ids:consumer": "<Consumer Participant URI>", "ids: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>]" diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index d5d4430f..4265781d 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 ; @@ -6957,7 +6959,7 @@ owl:Class rdf:type owl:Class . ids:provider [ids:permission [ ids:action ids:[use|read|...] ; - ids:constraint [ + odrl:constraint [ ids:leftOperand ; ids:operator [ids:eq|ids:lt|ids:gt] ; ids:rightOperand [|] @@ -6974,7 +6976,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\" : \"[|]\" diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index db32769d..15a30946 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -11303,7 +11303,7 @@ ids:provider <Provider Participant URI> [ids: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>] @@ -11320,7 +11320,7 @@ "ids:consumer": "<Consumer Participant URI>", "ids: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>]" diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index df53abe4..005ef669 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" } ] }, diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index a27fded3..7f5eaf33 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -81,7 +81,7 @@ data1:offer ids:preDuty [ a odrl:Duty ; ids:action idsc:COMPENSATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQUALS ; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 7730ff19..699d8c30 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -119,7 +119,7 @@ data1:offer ids:preDuty [ a odrl:Duty; ids:action idsc:COMPENSATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; 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 4f6edb99..c65558d7 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 @@ -26,7 +26,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; odrl:operator idsc:SAME_AS ; 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 7ef5155b..00a3ffeb 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 @@ -38,7 +38,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; odrl:operator idsc:SAME_AS ; 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 703133bd..b8275bae 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 @@ -38,7 +38,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:SYSTEM ; odrl:operator idsc:SAME_AS ; 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 f5c812d6..04617886 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 @@ -32,7 +32,7 @@ idsc:DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE a ids:DistributeEcryptedAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids: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.ttl b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl index 348103f1..8fb420a9 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 @@ -50,7 +50,7 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; ) ids: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.ttl b/examples/contracts-and-usage-policy/templates/DistributeEncryptedTemplates/DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl index 26dbc502..37343ccd 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 @@ -50,7 +50,7 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; ) ids: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.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl index 7406bf05..3fbf30d8 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 @@ -25,7 +25,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids: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 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 e3dd6255..d0e02797 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 @@ -37,7 +37,7 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids: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 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 b6e69158..1d5e9ed0 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 @@ -37,7 +37,7 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids: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 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 def75ffc..0d9f1a75 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 @@ -25,14 +25,14 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl index 786c495e..11f7d907 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 @@ -37,14 +37,14 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.ttl index a7389bed..79e6f969 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 @@ -37,14 +37,14 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; ids: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/ObligationTemplates/OBLIGATION_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl index 9fab3c5c..724fd1f5 100644 --- a/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl @@ -18,5 +18,5 @@ idsc:OBLIGATION_TEMPLATE a odrl:Duty ; odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - [ 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/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl index 9b993580..18553dc2 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 @@ -17,7 +17,7 @@ idsc:AGREEMENT_PERMISSION_TEMPLATE a odrl:Permission ; 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: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 f35407f0..947167c7 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 @@ -23,7 +23,7 @@ idsc:OFFER_PERMISSION_TEMPLATE a odrl:Permission ; ) 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: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 05a35b98..37f14ff6 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 @@ -23,7 +23,7 @@ idsc:REQUEST_PERMISSION_TEMPLATE a odrl:Permission ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - [ 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/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl index 07ab61f0..7f727a47 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 @@ -26,7 +26,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; 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 df0ae8e2..ca8ab754 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 @@ -38,7 +38,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; 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 30568e0a..791a68df 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 @@ -38,7 +38,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; 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 40d83240..fda13170 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 @@ -26,7 +26,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:STATE ; odrl:operator idsc:NOT ; @@ -49,14 +49,14 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl index 11416f10..05cace70 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 @@ -38,7 +38,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:STATE ; odrl:operator idsc:NOT ; @@ -67,14 +67,14 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl index 41afae65..72c5dfe8 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 @@ -38,7 +38,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:STATE ; odrl:operator idsc:NOT ; @@ -67,14 +67,14 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ( ids:pipEndpoint ?pipUri ; )? ] ] ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.ttl index 6f56cec4..184c5d13 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 @@ -26,14 +26,14 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer, ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids: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 [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:USER ; odrl:operator idsc:HAS_MEMBERSHIP ; 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 225cea31..3f1409cd 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 @@ -38,14 +38,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids: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 [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:USER ; odrl:operator idsc:HAS_MEMBERSHIP ; 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 dca7db7a..bf4ecec6 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 @@ -38,14 +38,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids: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 [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:USER ; odrl:operator idsc:HAS_MEMBERSHIP ; 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 549427b1..66816464 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 @@ -42,7 +42,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; ] ] ; ] ; - ( 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.ttl b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl index 59d82dba..ad8be1f9 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 @@ -60,7 +60,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ] ] ; ] ; - ( 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.ttl b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl index 859bd22e..33823d8c 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 @@ -60,7 +60,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ] ] ; ] ; - ( 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.ttl b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl index e0c215a0..62f0aa27 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 @@ -25,7 +25,7 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a odrl:LogicalConstraint ; odrl:or ( # '(' is used as an RDF List operator here ([ 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 38313f11..d2783013 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 @@ -37,7 +37,7 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a odrl:LogicalConstraint ; odrl:or ( # '(' is used as an RDF List operator here ([ 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 bbea0ee0..cbb920aa 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 @@ -37,7 +37,7 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a odrl:LogicalConstraint ; odrl:or ( # '(' is used as an RDF List operator here ([ 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 b0b0445f..91d1c51b 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 @@ -25,7 +25,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE @@ -48,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.ttl b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl index 900fa1ec..b36b5094 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 @@ -37,7 +37,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE @@ -60,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.ttl b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.ttl index 9a5bfa46..bedf3b8a 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 @@ -38,7 +38,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE @@ -61,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.ttl b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl index d026da5a..1449f102 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 @@ -26,7 +26,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; 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: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 ] ; @@ -36,7 +36,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; 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: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 f2a7b2e5..b1b045b0 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 @@ -38,7 +38,7 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ) 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: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 ] ; @@ -54,7 +54,7 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ) 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: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.ttl b/examples/contracts-and-usage-policy/templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl index ea836852..59e91736 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 @@ -38,7 +38,7 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ) 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: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 ] ; @@ -54,7 +54,7 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ) 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: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/DURATION_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.ttl index efef3485..c362f811 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 @@ -25,13 +25,13 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.ttl index f95fe5da..8576b8ed 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 @@ -38,13 +38,13 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.ttl index 762dc6dc..637bd691 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 @@ -38,13 +38,13 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.ttl index efef3485..c362f811 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 @@ -25,13 +25,13 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.ttl index f95fe5da..8576b8ed 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 @@ -38,13 +38,13 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.ttl index 762dc6dc..637bd691 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 @@ -38,13 +38,13 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl index 7863290d..8ad7b795 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 @@ -26,17 +26,17 @@ idsc:USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE a ids:IntervalUsageAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl index 17dad3a3..f35e0aa9 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 @@ -38,17 +38,17 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl index 19eb9c4c..a0a542bd 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 @@ -38,17 +38,17 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; # ?startDateTime < ?endDateTime ] ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids: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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl index 8c7680a4..24ce4c92 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 @@ -26,12 +26,12 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; @@ -44,7 +44,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement a odrl:Action ; ids:includedIn idsc:DELETE ; ids:actionRefinement [ - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; @@ -53,7 +53,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement ] ] ; ] ; - ( 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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl index 3315a37a..f4da16b3 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 @@ -38,12 +38,12 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; @@ -62,7 +62,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; a odrl:Action ; ids:includedIn idsc:DELETE ; ids:actionRefinement [ - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; @@ -71,7 +71,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ] ] ; ] ; - ( 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.ttl b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl index 5f0dac28..379f08c8 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 @@ -38,12 +38,12 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ) ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; @@ -62,7 +62,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; a odrl:Action ; ids:includedIn idsc:DELETE ; ids:actionRefinement [ - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; @@ -71,7 +71,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ] ] ; ] ; - ( 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.ttl b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl index ffde7bdf..1fac63f3 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 @@ -32,7 +32,7 @@ idsc:USAGE_LOGGING_AGREEMENT_TEMPLATE a ids:LoggingAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids: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.ttl b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.ttl index 292d7b75..890c331b 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 @@ -50,7 +50,7 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; ) ids: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.ttl b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_REQUEST_TEMPLATE.ttl index e7cd6a78..b0e9f8da 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 @@ -50,7 +50,7 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; ) ids: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.ttl b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl index c83ee51e..428d6cbf 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 @@ -39,6 +39,6 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; ] ] ] ; - [ 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.ttl b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl index 30557289..93f27088 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 @@ -51,6 +51,6 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; ] ] ] ; - [ 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.ttl b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl index a479232f..e11fbd53 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 @@ -51,6 +51,6 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; ] ] ] ; - [ 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/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 76de1088..75c44b1c 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -88,7 +88,7 @@ sample_Data: ids:target sample_Data:tempdata_file ; # time interval restricted usage constraict - ids:constraint [ + odrl:constraint [ a ids:Constraint ; odrl:leftOperand idsc:now; ids:operator idsc:IN_TIME_INTERVAL ; @@ -98,7 +98,7 @@ sample_Data: # Obligation / Duty ids:preDuty [ ids:action idsc:COMPENSATE ; - ids:constraint [ + odrl:constraint [ odrl:leftOperand idsc:payAmount ; ids:operator ids:EQ ; ids:rightOperand 100 ; diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index 88ced3a6..c8195aa5 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -25,13 +25,6 @@ ids:target rdfs:label "target"@en; rdfs:comment "The subject of the policy statement (odrl:Rule)."@en. -ids:constraint rdfs:subPropertyOf odrl:constraint; - a owl:ObjectProperty; - rdfs:label "constraint"@en; - rdfs:domain odrl:Rule; - rdfs:range odrl:Constraint; - rdfs:comment "The constraint to be used for a specific rule."@en. - ids:assetRefinement a owl:ObjectProperty; rdfs:subPropertyOf odrl:refinement ; diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index a8f4f5e5..356b25a5 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -97,10 +97,10 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; - sh:path ids:constraint ; + sh:path odrl:constraint ; sh:class odrl:Constraint ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:constraint property must point from an odrl:Rule to an ids:Constraint or odrl:LogicalConstraint."@en ; + sh:message " (RuleShape): An odrl:constraint property must point from an odrl:Rule to an ids:Constraint or odrl:LogicalConstraint."@en ; ] . From ac5c3ee03fce5f5a8f4c6e3ffe7dc9886e24e129 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 22 Sep 2021 15:17:35 +0200 Subject: [PATCH 127/288] Remove ids:assetRefinement Remove ids:assetRefinement, instead use odrl:refinement --- .../templates/TargetTemplates/ASSET_TEMPLATE.ttl | 4 ++-- .../templates/TargetTemplates/AssetTemplateShape.ttl | 4 ++-- model/contract/Rule.ttl | 8 -------- testing/content/AssetShape.ttl | 4 ++-- testing/contract/RuleShape.ttl | 4 ++-- 5 files changed, 8 insertions(+), 16 deletions(-) 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 49248ed3..c6faf8e5 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl @@ -24,7 +24,7 @@ | # or [ a odrl:AssetCollection ; - ids:assetRefinement [ # a Collection with exactly one condition to describe its members + odrl:refinement [ # 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" 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 @@ -36,7 +36,7 @@ | # or [ a odrl:AssetCollection ; - ids:assetRefinement [ + 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 diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index 78aa730b..b1be8ca4 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -19,7 +19,7 @@ shapes:AssetTemplateShape [ sh:class odrl:AssetCollection ; # it's a simple Collection sh:property [ - sh:path ids:assetRefinement ; + sh:path odrl:refinement ; sh:class ids:Constraint ; sh:maxCount 1 ; sh:minInclusive 1 ; @@ -35,7 +35,7 @@ shapes:AssetTemplateShape sh:minInclusive 2 ; sh:class odrl:LogicalConstraint ; sh:property [ - sh:path ids:assetRefinement ; + sh:path odrl:refinement ; sh:class ids:Constraint ; sh:maxCount 1 ; sh:minInclusive 1 ; diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index c8195aa5..6efa359d 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -25,14 +25,6 @@ ids:target rdfs:label "target"@en; rdfs:comment "The subject of the policy statement (odrl:Rule)."@en. -ids:assetRefinement - a owl:ObjectProperty; - rdfs:subPropertyOf odrl:refinement ; - rdfs:label "content refinement"@en; - rdfs:domain [ rdf:type owl:Class ; - owl:unionOf ( odrl:Rule odrl:AssetCollection)]; - rdfs:range odrl:Constraint; - rdfs:comment "AssetRefinement define constraints that refine a (composite) Digital Content in an odrl:Rule respectively the odrl:AssetCollection."@en. ids:preDuty rdfs:subPropertyOf odrl:duty; a owl:ObjectProperty; diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index 957c8717..b2a99d72 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -57,10 +57,10 @@ shapes:AssetCollectionShape sh:property [ a sh:PropertyShape ; - sh:path ids:assetRefinement ; + sh:path odrl:refinement ; sh:class odrl:Constraint ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AssetCollectionShape): An ids:assetRefinement property must not have more than one point from an odrl:AssetCollection to an ids:Constraint or odrl:LogicalConstraint."@en ; + sh:message " (AssetCollectionShape): An odrl:refinement property must not have more than one point from an odrl:AssetCollection to an ids:Constraint or odrl:LogicalConstraint."@en ; ] ; . diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 356b25a5..1e885906 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -88,11 +88,11 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; - sh:path ids:assetRefinement ; + sh:path odrl:refinement ; sh:class odrl:Constraint ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An ids:assetRefinement must not have more than one point from an odrl:Rule to an odrl:Constraint."@en ; + sh:message " (RuleShape): An odrl:refinement must not have more than one point from an odrl:Rule to an odrl:Constraint."@en ; ] ; sh:property [ From 9d8b81ef72f6b3c53f2c3c8182287279cf26819e Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 22 Sep 2021 15:30:35 +0200 Subject: [PATCH 128/288] Remove ids:permission Remove ids:permission, instead use odlr:permission --- codes/RequestTemplate.ttl | 4 ++-- docs/serializations/ontology.n3 | 2 +- docs/serializations/ontology.rdf | 4 ++-- docs/serializations/ontology.ttl | 4 ++-- docs/serializations/ontology.xml | 4 ++-- examples/DATA1.ttl | 2 +- examples/DATA2.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../templates/AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../templates/OFFER_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../templates/REQUEST_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 2 +- .../templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 2 +- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../ROLEBASED_OFFER_TEMPLATE.ttl | 2 +- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 2 +- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl | 2 +- .../SPATIAL_REQUEST_TEMPLATE.ttl | 2 +- .../templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl | 4 ++-- .../DURATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_REQUEST_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl | 2 +- .../UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_LOGGING_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- model/contract/Contract.ttl | 7 ------- testing/contract/ContractShape.ttl | 4 ++-- 65 files changed, 72 insertions(+), 79 deletions(-) diff --git a/codes/RequestTemplate.ttl b/codes/RequestTemplate.ttl index dac9ea2c..2c0668d9 100644 --- a/codes/RequestTemplate.ttl +++ b/codes/RequestTemplate.ttl @@ -27,7 +27,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; "target": "[|]", "ids:provider": "", "ids:consumer": "", - "ids:permission": { + "odrl:permission": { "ids:action": "[ids:use|ids:read|...]" , ["odrl:constraint" : { "odrl:leftOperand" : "", @@ -47,7 +47,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; ids:target [|] ; ids:consumer ; ids:provider - [ids:permission [ + [odrl:permission[ ids:action ids:[use|read|...] ; odrl:constraint [ odrl:leftOperand ; diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index d5d4430f..8f730a25 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -6955,7 +6955,7 @@ owl:Class rdf:type owl:Class . ids:target [|] ; ids:consumer ; ids:provider - [ids:permission [ + [odrl:permission[ ids:action ids:[use|read|...] ; ids:constraint [ ids:leftOperand ; diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 9a90caee..6e1ab2cf 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -11301,7 +11301,7 @@ 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|...] ; odrl:constraint [ ids:leftOperand <Attribute URI> ; @@ -11318,7 +11318,7 @@ "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|...]" , ["odrl:constraint" : { "ids:leftOperand" : "<Attribute URI>", diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 4265781d..83e528d1 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -6957,7 +6957,7 @@ owl:Class rdf:type owl:Class . ids:target [|] ; ids:consumer ; ids:provider - [ids:permission [ + [odrl:permission[ ids:action ids:[use|read|...] ; odrl:constraint [ ids:leftOperand ; @@ -6974,7 +6974,7 @@ owl:Class rdf:type owl:Class . \"target\": \"[|]\", \"ids:provider\": \"\", \"ids:consumer\": \"\", - \"ids:permission\": { + \"odrl:permission\": { \"ids:action\": \"[ids:use|ids:read|...]\" , [\"odrl:constraint\" : { \"ids:leftOperand\" : \"\", diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index 15a30946..158f77b8 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -11301,7 +11301,7 @@ 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|...] ; odrl:constraint [ ids:leftOperand <Attribute URI> ; @@ -11318,7 +11318,7 @@ "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|...]" , ["odrl:constraint" : { "ids:leftOperand" : "<Attribute URI>", diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 7f5eaf33..9c6fbabc 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -71,7 +71,7 @@ data1:report_doc data1:offer a ids:ContractOffer ; - ids:permission [ + odrl:permission[ a odrl:Permission ; odrl:assigner part1: ; # individual target(s) diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index d971c997..1960125c 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -98,7 +98,7 @@ data2: ids:contractOffer [ a ids:ContractOffer ; ids:provider part1: ; - ids:permission [ + odrl:permission[ a odrl:Permission ; odrl:assigner part1: ; ids:target data2:generic_content ; # i.e. applies to any artifact / instance of given content diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 699d8c30..74c49548 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -108,7 +108,7 @@ data1:offer a ids:ContractOffer ; ids:provider ; ids:contractDocument _:contractReource; - ids:permission [ + odrl:permission[ a odrl:Permission; odrl:assigner ; 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/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_AGREEMENT_TEMPLATE.ttl index c65558d7..538366e8 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 @@ -20,7 +20,7 @@ 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 [ + 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, 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 00a3ffeb..41fee346 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 @@ -26,7 +26,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 b8275bae..4de292e7 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 @@ -26,7 +26,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 04617886..bc1ee88c 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 @@ -20,7 +20,7 @@ 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 [ + 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 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 8fb420a9..7daa1298 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 @@ -26,7 +26,7 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 37343ccd..995f6147 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 @@ -26,7 +26,7 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 3fbf30d8..d91a46b0 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 @@ -19,7 +19,7 @@ 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 [ + 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 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 d0e02797..eb064977 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 @@ -25,7 +25,7 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 1d5e9ed0..7f0d1016 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 @@ -25,7 +25,7 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 0d9f1a75..97fb9568 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 @@ -19,7 +19,7 @@ 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 [ + 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 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 11f7d907..6b5d0f5c 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 @@ -25,7 +25,7 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 79e6f969..fbda730d 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 @@ -25,7 +25,7 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider diff --git a/examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl index 576f5794..844da530 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:permissionidsc:OFFER_PERMISSION_TEMPLATE ; )+ . 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 7f727a47..b25a36ab 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 @@ -20,7 +20,7 @@ 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 [ + odrl:permission[ a odrl:Permission ; odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; 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 ca8ab754..bcd51add 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 @@ -26,7 +26,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 791a68df..ebf6b548 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 @@ -26,7 +26,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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.ttl b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl index fda13170..c6c4c856 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 @@ -20,7 +20,7 @@ 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 [ + 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 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 05cace70..ebbf21b1 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 @@ -26,7 +26,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 72c5dfe8..30876a5e 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 @@ -26,7 +26,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 184c5d13..cfae619d 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 @@ -20,7 +20,7 @@ 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 [ + 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, 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 3f1409cd..f27c1cd7 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 @@ -26,7 +26,7 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 bf4ecec6..1a0c7519 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 @@ -26,7 +26,7 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 66816464..6d2ab8fb 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 @@ -20,7 +20,7 @@ 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 [ + 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 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 ad8be1f9..aef0d9e2 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 @@ -26,7 +26,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 33823d8c..388d5cd7 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 @@ -26,7 +26,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 62f0aa27..c7bb697b 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 @@ -19,7 +19,7 @@ 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 [ + odrl:permission[ a odrl:Permission ; odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; 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 d2783013..026177a7 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 @@ -25,7 +25,7 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 cbb920aa..58adeb82 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 @@ -25,7 +25,7 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 91d1c51b..c39360a4 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 @@ -19,7 +19,7 @@ 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 [ + 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 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 b36b5094..c45324ad 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 @@ -25,7 +25,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 bedf3b8a..1619ae11 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 @@ -26,7 +26,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 1449f102..a4b01e3f 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 @@ -20,7 +20,7 @@ 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 [ + 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 @@ -30,7 +30,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; ( 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 [ + 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 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 b1b045b0..c8937ce9 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 @@ -26,7 +26,7 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider @@ -42,7 +42,7 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; ( 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 [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer 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 59e91736..4765ee3c 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 @@ -26,7 +26,7 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider @@ -42,7 +42,7 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; ( 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 [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer 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 c362f811..986ec6a8 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 @@ -19,7 +19,7 @@ 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 [ + 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 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 8576b8ed..650e1311 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 @@ -26,7 +26,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 637bd691..e6801a77 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 @@ -26,7 +26,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 c362f811..986ec6a8 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 @@ -19,7 +19,7 @@ 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 [ + 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 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 8576b8ed..650e1311 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 @@ -26,7 +26,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 637bd691..e6801a77 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 @@ -26,7 +26,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 8ad7b795..5e626260 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 @@ -20,7 +20,7 @@ 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 [ + 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 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 f35e0aa9..92335937 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 @@ -26,7 +26,7 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 a0a542bd..dd6858fa 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 @@ -26,7 +26,7 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 24ce4c92..48ec67cc 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 @@ -20,7 +20,7 @@ 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 [ + 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 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 f4da16b3..3676ed92 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 @@ -26,7 +26,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 379f08c8..c7e0036a 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 @@ -26,7 +26,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 1fac63f3..34edfa4b 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 @@ -20,7 +20,7 @@ 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 [ + 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 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 890c331b..0e0d4509 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 @@ -26,7 +26,7 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 b0e9f8da..d248ef62 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 @@ -26,7 +26,7 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 428d6cbf..d0c78087 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 @@ -20,7 +20,7 @@ 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 [ + odrl:permission[ a odrl:Permission ; odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; 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 93f27088..873b5146 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 @@ -26,7 +26,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider 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 e11fbd53..b50c1fd8 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 @@ -26,7 +26,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; (ids:provider idsc:PARTICIPANT_TEMPLATE ; ids:consumer idsc:PARTICIPANT_TEMPLATE ;) ) - ids:permission [ + odrl:permission[ a odrl:Permission ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 75c44b1c..451c699a 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -77,7 +77,7 @@ 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 [ + odrl:permission[ a odrl:Permission ; # Specify permission diff --git a/model/contract/Contract.ttl b/model/contract/Contract.ttl index 2e8221f8..139613a0 100644 --- a/model/contract/Contract.ttl +++ b/model/contract/Contract.ttl @@ -91,13 +91,6 @@ ids:contractAnnex a owl:ObjectProperty; # Properties # ---------- -ids:permission rdfs:subPropertyOf odrl:permission; - a owl:ObjectProperty; - rdfs:label "permission"@en; - rdfs:domain ids:Contract; - rdfs:range odrl:Permission; - rdfs:comment "A Permission granted by the Contract."@en. - ids:prohibition rdfs:subPropertyOf odrl:prohibition; a owl:ObjectProperty; rdfs:label "prohibition"@en; diff --git a/testing/contract/ContractShape.ttl b/testing/contract/ContractShape.ttl index aec2c983..b650f7ac 100644 --- a/testing/contract/ContractShape.ttl +++ b/testing/contract/ContractShape.ttl @@ -109,10 +109,10 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; - sh:path ids:permission ; + sh:path odrl:permission; sh:class odrl:Permission ; sh:severity sh:Violation ; - sh:message " (ContractShape): An ids:permission property must point from an ids:Contract to an odrl:Permission."@en ; + sh:message " (ContractShape): An odrl:permission property must point from an ids:Contract to an odrl:Permission."@en ; ] ; sh:property [ From 17669009bac1d57b969d241653e40244aef9df64 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 22 Sep 2021 15:40:18 +0200 Subject: [PATCH 129/288] Remove ids:prohibition Remove ids:prohibition, instead use odrl:prohibition --- model/contract/Contract.ttl | 7 ------- testing/contract/ContractShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/model/contract/Contract.ttl b/model/contract/Contract.ttl index 139613a0..56dcb93f 100644 --- a/model/contract/Contract.ttl +++ b/model/contract/Contract.ttl @@ -91,13 +91,6 @@ ids:contractAnnex a owl:ObjectProperty; # Properties # ---------- -ids:prohibition rdfs:subPropertyOf odrl:prohibition; - a owl:ObjectProperty; - rdfs:label "prohibition"@en; - rdfs:domain ids:Contract; - rdfs:range odrl:Prohibition; - rdfs:comment "A Prohibition imposed by the Contract."@en. - ids:obligation rdfs:subPropertyOf odrl:obligation; a owl:ObjectProperty; rdfs:label "obligation"@en; diff --git a/testing/contract/ContractShape.ttl b/testing/contract/ContractShape.ttl index b650f7ac..91f30b9c 100644 --- a/testing/contract/ContractShape.ttl +++ b/testing/contract/ContractShape.ttl @@ -125,10 +125,10 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; - sh:path ids:prohibition ; + sh:path odrl:prohibition ; sh:class odrl:Prohibition ; sh:severity sh:Violation ; - sh:message " (ContractShape): An ids:prohibition must point from an ids:Contract to an odrl:Prohibition."@en ; + sh:message " (ContractShape): An odrl:prohibition must point from an ids:Contract to an odrl:Prohibition."@en ; ] . From a6f54c1474bd5a5259cff1a18bbb80a4521a0b06 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 22 Sep 2021 15:43:37 +0200 Subject: [PATCH 130/288] Remove ids:obligation Remove ids:obligation, instead use odrl:obligation --- model/contract/Contract.ttl | 8 -------- testing/contract/ContractShape.ttl | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/model/contract/Contract.ttl b/model/contract/Contract.ttl index 56dcb93f..87110dd4 100644 --- a/model/contract/Contract.ttl +++ b/model/contract/Contract.ttl @@ -88,12 +88,4 @@ ids:contractAnnex a owl:ObjectProperty; rdfs:label "Annex to contract"@en ; rdfs:comment "Any type of resource related to the Contract."@en. -# Properties -# ---------- -ids:obligation rdfs:subPropertyOf odrl:obligation; - a owl:ObjectProperty; - rdfs:label "obligation"@en; - rdfs:domain ids:Contract; - rdfs:range odrl:Duty; - rdfs:comment "A Duty imposed by the Contract."@en. diff --git a/testing/contract/ContractShape.ttl b/testing/contract/ContractShape.ttl index 91f30b9c..8220eb69 100644 --- a/testing/contract/ContractShape.ttl +++ b/testing/contract/ContractShape.ttl @@ -117,10 +117,10 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; - sh:path ids:obligation ; + sh:path odrl:obligation ; sh:class odrl:Duty ; sh:severity sh:Violation ; - sh:message " (ContractShape): An ids:obligation property must point from an ids:Contract to an odrl:Duty."@en ; + sh:message " (ContractShape): An odrl:obligation property must point from an ids:Contract to an odrl:Duty."@en ; ] ; sh:property [ From a8a1a1a5664e1f920f2886bacafab6df7a6d9366 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 22 Sep 2021 15:48:37 +0200 Subject: [PATCH 131/288] Remove ids:includedIn Remove ids:includedIn, instead use odrl:includedIn --- .../templates/ActionTemplates/ACTION_TEMPLATE.ttl | 4 ++-- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- model/contract/Action.ttl | 9 --------- testing/contract/ActionShape.ttl | 4 ++-- 15 files changed, 16 insertions(+), 25 deletions(-) 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 4d6e8c4d..c3d3f002 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl @@ -19,7 +19,7 @@ | # or [ a odrl: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". + 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" odrl:leftOperand ?IdscLeftOperand ; # The feature of interest, for instance ?IdscLeftOperand := idsc:PATH @@ -32,7 +32,7 @@ | # or [ a odrl:Action ; - ids:includedIn ?ActionUri ; + odrl:includedIn ?ActionUri ; ids:actionRefinement [ 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 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 c6c4c856..4122c49a 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 @@ -39,7 +39,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; 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 ebbf21b1..10826b10 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 @@ -57,7 +57,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ) ids:action [ a odrl:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; 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 30876a5e..42666091 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 @@ -57,7 +57,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ) ids:action [ a odrl:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; 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 6d2ab8fb..503499b8 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 @@ -32,7 +32,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; 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 aef0d9e2..83d276cb 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 @@ -50,7 +50,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ) ids:action [ a odrl:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; 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 388d5cd7..55ef83aa 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 @@ -50,7 +50,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; ) ids:action [ a odrl:Action ; - ids:includedIn idsc:COMPENSATE ; + odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; 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 48ec67cc..e29bcc69 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 @@ -42,7 +42,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer ids:action [ a odrl:Action ; - ids:includedIn idsc:DELETE ; + odrl:includedIn idsc:DELETE ; ids:actionRefinement [ odrl:constraint [ a ids:Constraint ; 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 3676ed92..f0ea6f8f 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 @@ -60,7 +60,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; ) ids:action [ a odrl:Action ; - ids:includedIn idsc:DELETE ; + odrl:includedIn idsc:DELETE ; ids:actionRefinement [ odrl:constraint [ a ids:Constraint ; 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 c7e0036a..7145f5e2 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 @@ -60,7 +60,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; ) ids:action [ a odrl:Action ; - ids:includedIn idsc:DELETE ; + odrl:includedIn idsc:DELETE ; ids:actionRefinement [ odrl:constraint [ a ids:Constraint ; 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 d0c78087..1550ec2c 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 @@ -30,7 +30,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; a odrl:Duty ; ids:action [ a odrl:Action ; - ids:includedIn idsc:NOTIFY ; + odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; 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 873b5146..b61fb6dd 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 @@ -42,7 +42,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; a odrl:Duty ; ids:action [ a odrl:Action ; - ids:includedIn idsc:NOTIFY ; + odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; 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 b50c1fd8..ab4b5798 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 @@ -42,7 +42,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; a odrl:Duty ; ids:action [ a odrl:Action ; - ids:includedIn idsc:NOTIFY ; + odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ a ids:Constraint ; odrl:leftOperand idsc:ENDPOINT ; diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index 8162a9ed..e6861017 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -16,12 +16,3 @@ ids:actionRefinement rdfs:range ids:Constraint; rdfs:comment "Constraint that refines an Action."@en ; . - -ids:includedIn - a owl:ObjectProperty; - rdfs:subPropertyOf odrl:includedIn ; - rdfs:label "is included in"@en; - rdfs:domain odrl:Action; - rdfs:range odrl:Action; - rdfs:comment "The subject transitively asserts the object Action."@en ; -. diff --git a/testing/contract/ActionShape.ttl b/testing/contract/ActionShape.ttl index 61359bbc..be5a8292 100644 --- a/testing/contract/ActionShape.ttl +++ b/testing/contract/ActionShape.ttl @@ -25,11 +25,11 @@ shapes:ActionShape sh:property [ a sh:PropertyShape ; - sh:path ids:includedIn ; + sh:path odrl:includedIn ; sh:class odrl:Action ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ActionShape): An ids:includedIn property must not have more than one point from an odrl:Action to an odrl:Action."@en ; + sh:message " (ActionShape): An odrl:includedIn property must not have more than one point from an odrl:Action to an odrl:Action."@en ; ] ; . From 1f51b5d0abfdbd20fb51d8182e33777bd0252847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 30 Sep 2021 10:41:53 +0200 Subject: [PATCH 132/288] 4.2.0 changelogs --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e26a62e..609019d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ 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-Pre-release] 2021-07-23 +## [4.2.0] 2021-09-30 Pre-release version 4.2.0 of the IDS Information Model ### Added From d747b7b541c766078d8667fe67ceff458494e9c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 30 Sep 2021 11:50:50 +0200 Subject: [PATCH 133/288] Create default_pull_request_template.md --- .../default_pull_request_template.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATES/default_pull_request_template.md diff --git a/.github/PULL_REQUEST_TEMPLATES/default_pull_request_template.md b/.github/PULL_REQUEST_TEMPLATES/default_pull_request_template.md new file mode 100644 index 00000000..57396ff7 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATES/default_pull_request_template.md @@ -0,0 +1,9 @@ +## 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) + +## Checklist: +- [ ] Provide complete validation shapes for the new ontology terms; remove shapes for the old ones From 91033fc86357a4042801e5224b7920b4674e65c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 30 Sep 2021 11:52:03 +0200 Subject: [PATCH 134/288] Create Release_Pull_Request_Template.md --- .../Release_Pull_Request_Template.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATES/Release_Pull_Request_Template.md diff --git a/.github/PULL_REQUEST_TEMPLATES/Release_Pull_Request_Template.md b/.github/PULL_REQUEST_TEMPLATES/Release_Pull_Request_Template.md new file mode 100644 index 00000000..709b553a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATES/Release_Pull_Request_Template.md @@ -0,0 +1,15 @@ +## Checklist for releases: + +#### Before a release: +- [ ] Provide complete validation shapes for the new ontology terms; remove shapes for the old ones +- [ ] 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 From bbd9ffc09c8b9a3765be4ade31ba1d7b6e454df9 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Tue, 5 Oct 2021 14:50:15 +0200 Subject: [PATCH 135/288] Releaxing Resource and Participant entries at the Connector Self-Description and the ResourceCatalog. Now, both simple URIs without outgoing elements as well as complex RDF nodes with outgoing Properties are allowed (and can be represented in the generated Java code). --- testing/infrastructure/CatalogShape.ttl | 15 ++++++++++++--- .../InfrastructureComponentShape.ttl | 10 ++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index f8db3026..111c2c49 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -45,7 +45,10 @@ shapes:ResourceCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:offeredResources ; - sh:class ids:Resource ; + sh:or ( + [ sh:class ids:Resource ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:offeredResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; ] ; @@ -53,7 +56,10 @@ shapes:ResourceCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:requestedResource ; - sh:class ids:Resource ; + sh:or ( + [ sh:class ids:Resource ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:requestedResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; ] ; @@ -66,7 +72,10 @@ shapes:ParticipantCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:member ; - sh:class ids:Participant ; + sh:or ( + [ sh:class ids:Participant ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:severity sh:Violation ; sh:message " (ParticipantCatalog): An ids:member property must point from an ids:ParticipantCatalog to an ids:Participant."@en ; ] ; diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index a7d59f6b..d80d7905 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -27,7 +27,10 @@ shapes:InfrastructureComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:maintainer ; - sh:nodeKind sh:IRI ; + sh:or ( + [ sh:class ids:Participant ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:minCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:maintainer property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; @@ -36,7 +39,10 @@ shapes:InfrastructureComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:curator ; - sh:nodeKind sh:IRI ; + sh:or ( + [ sh:class ids:Participant ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:minCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:curator property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; From d85d7cb927db61347aae0268f77816052bb7e3ea Mon Sep 17 00:00:00 2001 From: Christoph Lange Date: Wed, 6 Oct 2021 17:36:56 +0200 Subject: [PATCH 136/288] fixed spelling --- codes/LeftOperand.ttl | 2 +- model/participant/Participant.ttl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 908ca42f..75524b95 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -122,7 +122,7 @@ idsc:SYSTEM a ids:LeftOperand; # ----------- idsc:ENDPOINT a ids:LeftOperand; rdfs:label "endpoint" ; - rdfs:comment "Remote target for an action or information provider (PIP). Must be used together with idsc:IS or idsc:IN operators. RightOperand must be a xsd:anyURI or an URL which should point to an actually deployed endpoint. An example is a refinment of idsc:NOTIFY where idsc:REMOTE points to a Clearing House."@en ; + rdfs:comment "Remote target for an action or information provider (PIP). Must be used together with idsc:IS or idsc:IN operators. RightOperand must be a xsd:anyURI or an URL which should point to an actually deployed endpoint. An example is a refinement of idsc:NOTIFY where idsc:REMOTE points to a Clearing House."@en ; . diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 44a93991..fa7c5a36 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -83,7 +83,7 @@ ids:participantCertification ids:participantRefinement a owl:ObjectProperty; - rdfs:label "participant refinment"@en; + rdfs:label "participant refinement"@en; rdfs:domain ids:Participant ; rdfs:range ids:AbstractConstraint ; rdfs:comment "Conditions which needs to be satisfied that a single Participant can be seen as a member of the subject Participant. For instance, all Participants with their headquarter in Europe might be a potential consumer of GDPR-releated data."@en; From 9c1b2f26f7310e7cf649d51cae86e78e9ec6aafc Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 7 Oct 2021 14:21:44 +0200 Subject: [PATCH 137/288] update file to remove again ids:MediaType update file to remove again ids:MediaType --- model/content/MediaType.ttl | 7 ------- 1 file changed, 7 deletions(-) diff --git a/model/content/MediaType.ttl b/model/content/MediaType.ttl index 788c2a70..53521f5d 100644 --- a/model/content/MediaType.ttl +++ b/model/content/MediaType.ttl @@ -8,13 +8,6 @@ # Classes # ------- -ids:MediaType - a owl:Class; - rdfs:subClassOf dct:MediaType ; # *not* restricted to IANA media types - rdfs:label "Media Type"@en ; - rdfs:comment "General class of media types (formerly known as MIME types). ids:CustomMediaType is used only when no ids:IANAMediaType available."@en ; - . - ids:CustomMediaType a owl:Class ; rdfs:subClassOf dct:MediaType; From be1818301554c1250668965b141e30b4b07d87d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 7 Oct 2021 14:56:08 +0200 Subject: [PATCH 138/288] minor chnage in PR templates, rerun ontology script --- ...t_Template.md => PULL_REQUEST_TEMPLATE.md} | 14 ++++++++++++-- .../default_pull_request_template.md | 9 --------- Ontology.ttl | 19 +++++++++++++------ 3 files changed, 25 insertions(+), 17 deletions(-) rename .github/PULL_REQUEST_TEMPLATES/{Release_Pull_Request_Template.md => PULL_REQUEST_TEMPLATE.md} (72%) delete mode 100644 .github/PULL_REQUEST_TEMPLATES/default_pull_request_template.md diff --git a/.github/PULL_REQUEST_TEMPLATES/Release_Pull_Request_Template.md b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md similarity index 72% rename from .github/PULL_REQUEST_TEMPLATES/Release_Pull_Request_Template.md rename to .github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md index 709b553a..f2eb3db0 100644 --- a/.github/PULL_REQUEST_TEMPLATES/Release_Pull_Request_Template.md +++ b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,17 @@ -## Checklist for releases: +## Type of change -#### Before a release: +- [ ] 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: - [ ] 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 diff --git a/.github/PULL_REQUEST_TEMPLATES/default_pull_request_template.md b/.github/PULL_REQUEST_TEMPLATES/default_pull_request_template.md deleted file mode 100644 index 57396ff7..00000000 --- a/.github/PULL_REQUEST_TEMPLATES/default_pull_request_template.md +++ /dev/null @@ -1,9 +0,0 @@ -## 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) - -## Checklist: -- [ ] Provide complete validation shapes for the new ontology terms; remove shapes for the old ones diff --git a/Ontology.ttl b/Ontology.ttl index faa98383..3f269b03 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -34,13 +34,13 @@ 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 "2021-10-07"^^xsd:date ; + owl:versionInfo "4.2.0" ; + owl:versionIRI ; vann:preferredNamespaceUri "https://w3id.org/idsa/core/" ; vann:preferredNamespacePrefix "ids" ; rdfs:seeAlso ; @@ -102,12 +102,16 @@ _: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 ; @@ -121,6 +125,7 @@ ids: owl:imports ; owl:imports ; owl:imports ; + owl:imports ; owl:imports ; owl:imports ; owl:imports ; @@ -180,6 +185,8 @@ ids: owl:imports ; owl:imports ; owl:imports ; + owl:imports ; + owl:imports ; owl:imports ; owl:imports ; owl:imports ; From cd157ef051b0ba801de031aaf5bb43f24b6cd456 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 7 Oct 2021 15:45:36 +0200 Subject: [PATCH 139/288] Remove ids:TemporalEntity Remove, instead use time:TemporalEntity --- codes/BinaryOperators.ttl | 22 +++++++++--------- codes/LeftOperand.ttl | 2 +- docs/serializations/ontology.json | 24 ++++++++++---------- docs/serializations/ontology.jsonld | 24 ++++++++++---------- docs/serializations/ontology.n3 | 24 ++++++++++---------- docs/serializations/ontology.nt | 24 ++++++++++---------- docs/serializations/ontology.rdf | 24 ++++++++++---------- docs/serializations/ontology.ttl | 24 ++++++++++---------- docs/serializations/ontology.xml | 24 ++++++++++---------- docs/webvowl/data/ontology.json | 25 +++++++++++---------- model/context/TemporalEntity.ttl | 10 ++------- testing/content/UsageControlObjectShape.ttl | 4 ++-- testing/context/TemporalEntityShape.ttl | 4 ++-- testing/taxonomies/DigitalContentShape.ttl | 5 +++-- 14 files changed, 118 insertions(+), 122 deletions(-) diff --git a/codes/BinaryOperators.ttl b/codes/BinaryOperators.ttl index 030ce6a1..f5f6dae7 100644 --- a/codes/BinaryOperators.ttl +++ b/codes/BinaryOperators.ttl @@ -111,22 +111,22 @@ 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 ; + 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 @@ -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/LeftOperand.ttl b/codes/LeftOperand.ttl index f8d6c53c..80b3a267 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -33,7 +33,7 @@ idsc:PAY_AMOUNT a odrl:LeftOperand; idsc:POLICY_EVALUATION_TIME a odrl:LeftOperand; skos:broader odrl:dateTime; rdfs:label "policy evaluation time"@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 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 ; . idsc:ELAPSED_TIME a odrl:LeftOperand ; diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 49eaca8e..dbc099c4 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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", @@ -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", @@ -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", @@ -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", @@ -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", @@ -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,7 +6029,7 @@ } ], "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", diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 7d717cab..9c6a420d 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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", @@ -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", @@ -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", @@ -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", @@ -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", @@ -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,7 +6029,7 @@ } ], "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", diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 8f730a25..591fca4f 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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,7 +5499,7 @@ 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 , ; @@ -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 @@ -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 ; . @@ -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,10 +7325,10 @@ 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 diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index 128e0c0a..690b0283 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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,7 +4884,7 @@ _: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 . . . @@ -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 . @@ -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 . @@ -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 . . # @@ -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 . @@ -6263,10 +6263,10 @@ _: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 . diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 6e1ab2cf..8404ea2e 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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,7 +9009,7 @@ - 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 @@ -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. @@ -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 @@ -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. diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 83e528d1..f51558ed 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -5071,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 . @@ -5283,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 @@ -5501,7 +5501,7 @@ 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 , ; @@ -5662,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 @@ -6338,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 @@ -6346,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 @@ -6811,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 ; . @@ -7111,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 @@ -7119,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 @@ -7327,10 +7327,10 @@ 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 diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index 158f77b8..716f0592 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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,7 +9009,7 @@ - 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 @@ -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. @@ -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 @@ -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. diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 005ef669..bf48865f 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -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", @@ -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" } ] }, @@ -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", @@ -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", diff --git a/model/context/TemporalEntity.ttl b/model/context/TemporalEntity.ttl index b69afcce..f72f1e36 100644 --- a/model/context/TemporalEntity.ttl +++ b/model/context/TemporalEntity.ttl @@ -11,15 +11,9 @@ # Classes # ------- -ids:TemporalEntity - a owl:Class; - rdfs:subClassOf time:TemporalEntity; - rdfs:label "TemporalEntity"@en ; - rdfs:comment "A temporal interval, instant or a relative duration."@en. - ids:DurationEntity a owl:Class; - rdfs:subClassOf ids:TemporalEntity; + rdfs:subClassOf time:TemporalEntity; rdfs:label "Duration"@en ; rdfs:comment "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."@en; . @@ -33,7 +27,7 @@ ids:Frequency ids:hasDuration a owl:DatatypeProperty ; rdfs:seeAlso time:hasDuration; - rdfs:domain ids:TemporalEntity; + rdfs:domain time:TemporalEntity; rdfs:range xsd:duration; rdfs:label "has 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. diff --git a/testing/content/UsageControlObjectShape.ttl b/testing/content/UsageControlObjectShape.ttl index 63701b73..5fac5fe9 100644 --- a/testing/content/UsageControlObjectShape.ttl +++ b/testing/content/UsageControlObjectShape.ttl @@ -1,6 +1,6 @@ @prefix dct: . @prefix ids: . - +@prefix time: . @prefix owl: . @prefix rdfs: . @prefix xsd: . @@ -103,7 +103,7 @@ shapes:UsageControlObjectShape sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (UsageControlObjectShape): An ids:requester property must not have more than one point from an ids:UsageControlObject to an ids:TemporalEntity."@en ; + sh:message " (UsageControlObjectShape): An ids:requester property must not have more than one point from an ids:UsageControlObject to a time:TemporalEntity."@en ; ] ; sh:property [ diff --git a/testing/context/TemporalEntityShape.ttl b/testing/context/TemporalEntityShape.ttl index 3fe2f62b..f76f08bc 100644 --- a/testing/context/TemporalEntityShape.ttl +++ b/testing/context/TemporalEntityShape.ttl @@ -23,7 +23,7 @@ shapes: shapes:TemporalEntityShape a sh:NodeShape ; - sh:targetClass ids:TemporalEntity ; + sh:targetClass time:TemporalEntity ; sh:property [ a sh:PropertyShape ; @@ -31,7 +31,7 @@ shapes:TemporalEntityShape sh:datatype xsd:duration ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (TemporalEntityShape): An ids:hasDuration property must not have more than one point from an ids:TemporalEntity to an xsd:duration."@en ; + sh:message " (TemporalEntityShape): An ids:hasDuration property must not have more than one point from a time:TemporalEntity to an xsd:duration."@en ; ] ; . diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 4bff49ac..87444c36 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -7,6 +7,7 @@ @prefix sh: . @prefix shapes: . @prefix rdf: . +@prefix time: . shapes: a owl:Ontology ; @@ -123,9 +124,9 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path dct:temporal ; - sh:class ids:TemporalEntity ; + sh:class time:TemporalEntity ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): A dct:temporal property must point from an ids:DigitalContent to an ids:TemporalEntity."@en ; + sh:message " (DigitalContentShape): A dct:temporal property must point from an ids:DigitalContent to a time:TemporalEntity."@en ; ] ; sh:property [ From cd15adc1904d46ad10a4d0c715aa05c5a866b33b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 7 Oct 2021 15:58:43 +0200 Subject: [PATCH 140/288] Update CatalogShape.ttl --- testing/infrastructure/CatalogShape.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index 111c2c49..14e66853 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -44,7 +44,7 @@ shapes:ResourceCatalogShape sh:targetClass ids:ResourceCatalog ; sh:property [ a sh:PropertyShape ; - sh:path ids:offeredResources ; + sh:path ids:offeredResource ; sh:or ( [ sh:class ids:Resource ; ] [ sh:nodeKind sh:IRI ; ] From e7c567b46e36d8695526d973227e58c5a54bddf6 Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp Date: Thu, 7 Oct 2021 18:04:21 +0200 Subject: [PATCH 141/288] Update Ontology.ttl --- Ontology.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ontology.ttl b/Ontology.ttl index 3f269b03..9a0b0700 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -103,7 +103,7 @@ _:AnnaKasprzik a dct:Agent, foaf:Person ; foaf:name "Maarten Kollenstart" ; . a dct:Agent, foaf:Person ; - foaf:name "Johannes Lipp" ; + foaf:name "Johannes Theissen-Lipp" ; . a dct:Agent, foaf:Person ; foaf:name "Lina Molinas Comet" ; From 5edbd5fe0c94bf0dd2704fd5bcf1b1a9f33bff43 Mon Sep 17 00:00:00 2001 From: Ali Ariff Date: Tue, 12 Oct 2021 18:41:37 +0200 Subject: [PATCH 142/288] fix spelling --- docs/sections/crossref-en.html | 2 +- docs/sections/crossref-en_source.html | 2 +- docs/serializations/ontology.json | 2 +- docs/serializations/ontology.jsonld | 2 +- docs/serializations/ontology.n3 | 2 +- docs/serializations/ontology.nt | 2 +- docs/serializations/ontology.rdf | 2 +- docs/serializations/ontology.ttl | 2 +- docs/serializations/ontology.xml | 2 +- docs/webvowl/data/ontology.json | 2 +- model/contract/Contract.ttl | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/sections/crossref-en.html b/docs/sections/crossref-en.html index 0aad48ff..e0fe304b 100644 --- a/docs/sections/crossref-en.html +++ b/docs/sections/crossref-en.html @@ -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.
diff --git a/docs/sections/crossref-en_source.html b/docs/sections/crossref-en_source.html index 2670ff95..6007b297 100644 --- a/docs/sections/crossref-en_source.html +++ b/docs/sections/crossref-en_source.html @@ -12487,7 +12487,7 @@

Contract datedp

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

- Date of singing the Contract. + Date of signing the Contract.
diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index 301cc9f4..5a205b13 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 301cc9f4..5a205b13 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 756004cf..a28c5d80 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index b6e18a49..0cf20d42 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 6e382242..eb7c13a1 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -2508,7 +2508,7 @@ - Absolute datetime of singing the Contract. + Absolute datetime of signing the Contract. Contract date diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 756004cf..a28c5d80 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index 6e382242..eb7c13a1 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -2508,7 +2508,7 @@ - Absolute datetime of singing the Contract. + Absolute datetime of signing the Contract. Contract date diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 363b7e48..3a7f9b72 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -17605,7 +17605,7 @@ }, "domain" : "54", "comment" : { - "en" : "Absolute datetime of singing the Contract." + "en" : "Absolute datetime of signing the Contract." }, "attributes" : [ "datatype", "external" ], "id" : "763" diff --git a/model/contract/Contract.ttl b/model/contract/Contract.ttl index 19b7438d..991e1147 100644 --- a/model/contract/Contract.ttl +++ b/model/contract/Contract.ttl @@ -60,7 +60,7 @@ ids:contractDate a owl:DatatypeProperty; rdfs:domain ids:Contract; rdfs:range xsd:dateTimeStamp; rdfs:label "Contract date"@en ; - rdfs:comment "Absolute datetime of singing the Contract."@en. + rdfs:comment "Absolute datetime of signing the Contract."@en. # "Datengeber" ids:provider a owl:ObjectProperty; From 4c888492f27a6ab2892184fb7219f26139a0a8f3 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 12 Oct 2021 19:02:46 +0200 Subject: [PATCH 143/288] Remove ids:standardLicense Remove ids:standardLicense, instead use dct:licence --- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../cli/conn_self_description.ttl | 6 ++--- model/content/DigitalContent.ttl | 24 ------------------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 5 files changed, 7 insertions(+), 31 deletions(-) diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 74c49548..ce00f886 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -50,7 +50,7 @@ data1: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - ids:standardLicense ; + dct:licence ; # Language of resource: Englisch dct:language idsc:EN ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 451c699a..5529b8d7 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -36,7 +36,7 @@ sample_Data: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - ids:standardLicense idsc:OTHERCOMMERCIALLICENSE; + dct:licence idsc:OTHERCOMMERCIALLICENSE; # Language of resource: Englisch dct:language idsc:ENGLISH ; 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 17ceca67..e5424077 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -30,7 +30,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; + dct:licence ; dct:hasVersion "Version 1" . @@ -78,7 +78,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; + dct:licence ; dct:hasVersion "Version 1" . @@ -88,5 +88,5 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; + dct:licence ; dct:hasVersion "Version 1" . diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 0b900de2..b9792be7 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -47,30 +47,6 @@ ids:contentPart rdfs:range ids:DigitalContent; rdfs:comment "Reference to a Digital Content (physically or logically) included, definition of part-whole hierarchies."@en . -ids:standardLicense - a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:licence ; - rdfs:domain ids:Resource ; - rdfs:range xsd:anyURI; - rdfs:seeAlso ; - rdfs:label "Standard License"@en; - 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. - """@en. - - -ids:customLicense - a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:licence ; - rdfs:domain ids:Resource ; - rdfs:range xsd:anyURI; - rdfs:label "Custom License"@en; - rdfs:comment "URL reference to a custom license regulating the general usage of the Resource."@en. - ids:representation a owl:ObjectProperty; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 87444c36..bcd7c5a5 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -90,11 +90,11 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:standardLicense ; + sh:path dct:licence ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:standardLicense property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; + sh:message " (DigitalContentShape): A dct:licence property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; ] ; sh:property [ From 37f33e3d254fc0516f13db8aa859a411a4012fb9 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 12 Oct 2021 19:03:33 +0200 Subject: [PATCH 144/288] Revert "Remove ids:standardLicense" This reverts commit 4c888492f27a6ab2892184fb7219f26139a0a8f3. --- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../cli/conn_self_description.ttl | 6 ++--- model/content/DigitalContent.ttl | 24 +++++++++++++++++++ testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index ce00f886..74c49548 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -50,7 +50,7 @@ data1: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - dct:licence ; + ids:standardLicense ; # Language of resource: Englisch dct:language idsc:EN ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 5529b8d7..451c699a 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -36,7 +36,7 @@ sample_Data: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - dct:licence idsc:OTHERCOMMERCIALLICENSE; + ids:standardLicense idsc:OTHERCOMMERCIALLICENSE; # Language of resource: Englisch dct:language idsc:ENGLISH ; 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 e5424077..17ceca67 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -30,7 +30,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - dct:licence ; + ids:standardLicense ; dct:hasVersion "Version 1" . @@ -78,7 +78,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - dct:licence ; + ids:standardLicense ; dct:hasVersion "Version 1" . @@ -88,5 +88,5 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - dct:licence ; + ids:standardLicense ; dct:hasVersion "Version 1" . diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index b9792be7..0b900de2 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -47,6 +47,30 @@ ids:contentPart rdfs:range ids:DigitalContent; rdfs:comment "Reference to a Digital Content (physically or logically) included, definition of part-whole hierarchies."@en . +ids:standardLicense + a owl:DatatypeProperty ; + rdfs:subPropertyOf dct:licence ; + rdfs:domain ids:Resource ; + rdfs:range xsd:anyURI; + rdfs:seeAlso ; + rdfs:label "Standard License"@en; + 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. + """@en. + + +ids:customLicense + a owl:DatatypeProperty ; + rdfs:subPropertyOf dct:licence ; + rdfs:domain ids:Resource ; + rdfs:range xsd:anyURI; + rdfs:label "Custom License"@en; + rdfs:comment "URL reference to a custom license regulating the general usage of the Resource."@en. + ids:representation a owl:ObjectProperty; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index bcd7c5a5..87444c36 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -90,11 +90,11 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path dct:licence ; + sh:path ids:standardLicense ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): A dct:licence property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; + sh:message " (DigitalContentShape): An ids:standardLicense property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; ] ; sh:property [ From 823a639887543ccd524c2838cad95306ccd4dd2e Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 12 Oct 2021 19:07:25 +0200 Subject: [PATCH 145/288] Remove ids:standardLicense Remove ids:standardLicense, instead use dct:licence --- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../cli/conn_self_description.ttl | 6 +++--- model/content/DigitalContent.ttl | 16 ---------------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 5 files changed, 7 insertions(+), 23 deletions(-) diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 74c49548..ce00f886 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -50,7 +50,7 @@ data1: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - ids:standardLicense ; + dct:licence ; # Language of resource: Englisch dct:language idsc:EN ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 451c699a..5529b8d7 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -36,7 +36,7 @@ sample_Data: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - ids:standardLicense idsc:OTHERCOMMERCIALLICENSE; + dct:licence idsc:OTHERCOMMERCIALLICENSE; # Language of resource: Englisch dct:language idsc:ENGLISH ; 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 17ceca67..e5424077 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -30,7 +30,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; + dct:licence ; dct:hasVersion "Version 1" . @@ -78,7 +78,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; + dct:licence ; dct:hasVersion "Version 1" . @@ -88,5 +88,5 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - ids:standardLicense ; + dct:licence ; dct:hasVersion "Version 1" . diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index 0b900de2..e5515abf 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -47,22 +47,6 @@ ids:contentPart rdfs:range ids:DigitalContent; rdfs:comment "Reference to a Digital Content (physically or logically) included, definition of part-whole hierarchies."@en . -ids:standardLicense - a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:licence ; - rdfs:domain ids:Resource ; - rdfs:range xsd:anyURI; - rdfs:seeAlso ; - rdfs:label "Standard License"@en; - 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. - """@en. - - ids:customLicense a owl:DatatypeProperty ; rdfs:subPropertyOf dct:licence ; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 87444c36..bcd7c5a5 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -90,11 +90,11 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:standardLicense ; + sh:path dct:licence ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:standardLicense property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; + sh:message " (DigitalContentShape): A dct:licence property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; ] ; sh:property [ From 4b6cb39f79c5036977a5039d6c860494866bbd46 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 12 Oct 2021 20:59:46 +0200 Subject: [PATCH 146/288] Remove ids:customLicense Remove ids:customLicense, replace it by dct:licence --- examples/APPSTORE.jsonld | 4 ++-- examples/APPSTORE.ttl | 4 ++-- examples/APP_RESOURCE.ttl | 2 +- examples/APP_RESOURCE_old.jsonld | 2 +- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- .../cli/conn_self_description.ttl | 6 +++--- model/content/DigitalContent.ttl | 8 -------- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- 9 files changed, 13 insertions(+), 21 deletions(-) diff --git a/examples/APPSTORE.jsonld b/examples/APPSTORE.jsonld index 53f13ae3..d5109627 100644 --- a/examples/APPSTORE.jsonld +++ b/examples/APPSTORE.jsonld @@ -12,7 +12,7 @@ { "@id": "http://foo.bar", "@type": "ids:AppResource", - "ids:customLicense": { + "dct:licence": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { @@ -64,7 +64,7 @@ { "@id": "http://appIdentifier_2", "@type": "ids:AppResource", - "ids:customLicense": { + "dct:licence": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { diff --git a/examples/APPSTORE.ttl b/examples/APPSTORE.ttl index 7876362c..0c99ca7b 100644 --- a/examples/APPSTORE.ttl +++ b/examples/APPSTORE.ttl @@ -34,12 +34,12 @@ dct:title "App Title" ; dct:description "AppResource 2."@en; dcat:keyword "Data", "processing", "bla" ; - ids:customLicense ; + dct:licence ; . a ids:AppResource; dct:title "App 1 Title" ; dct:description "AppResource 1"@en; dcat:keyword "Data", "processing", "bla" ; - ids:customLicense ; + dct:licence ; . diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index d7a996db..62c8f83a 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -11,7 +11,7 @@ dct:title "App Title" ; dct:description "Data App for something with data."@en; dcat:keyword "Data", "processing", "bla" ; - ids:customLicense ; + dct:licence ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; ids:endpointInformation "This is the default endpoint of the FIT Connector. Used for communication and data exchange."; diff --git a/examples/APP_RESOURCE_old.jsonld b/examples/APP_RESOURCE_old.jsonld index 3a25e060..b2c21fbb 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.jsonld @@ -59,7 +59,7 @@ }, { "@id": "https://connector.fit.fraunhofer.de/apps/ImageAnonymizationApp/1337", "@type": "ids:AppResource", - "ids:customLicense": { + "dct:licence": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { 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 7e888f75..b05b15a0 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 @@ -44,7 +44,7 @@ life_expectancy:Resource ] ; # Open Government License - ids:customLicense ; + dct:licence ; # Language of resource dct:language idsc:EN ; 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 4ace2efc..fc0c112e 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 @@ -48,7 +48,7 @@ life_expectancy:Resource ] ; # Open Government License - ids:customLicense ; + dct:licence ; # Language of resource dct:language idsc:EN ; 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 e5424077..9e3ba693 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -25,7 +25,7 @@ ids:Resource ; - ids:customLicense "www.licence.de" ; + dct:licence "www.licence.de" ; dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; @@ -72,7 +72,7 @@ ids:Resource ; - ids:customLicense "www.licence.de" ; + dct:licence "www.licence.de" ; dct:description "Temperature data for IDS-Lab usecase"@en ; dcat:keyword "Temperature;JSON;IDS-Lab"@en ; ids:resourceEndpoint ; @@ -83,7 +83,7 @@ ids:Resource ; - ids:customLicense "www.licence.de" ; + dct:licence "www.licence.de" ; dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; diff --git a/model/content/DigitalContent.ttl b/model/content/DigitalContent.ttl index e5515abf..b9792be7 100644 --- a/model/content/DigitalContent.ttl +++ b/model/content/DigitalContent.ttl @@ -47,14 +47,6 @@ ids:contentPart rdfs:range ids:DigitalContent; rdfs:comment "Reference to a Digital Content (physically or logically) included, definition of part-whole hierarchies."@en . -ids:customLicense - a owl:DatatypeProperty ; - rdfs:subPropertyOf dct:licence ; - rdfs:domain ids:Resource ; - rdfs:range xsd:anyURI; - rdfs:label "Custom License"@en; - rdfs:comment "URL reference to a custom license regulating the general usage of the Resource."@en. - ids:representation a owl:ObjectProperty; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index bcd7c5a5..ee6f5c8d 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -99,11 +99,11 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; - sh:path ids:customLicense ; + sh:path dct:licence ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): An ids:customLicense property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; + sh:message " (DigitalContentShape): A dct:licence property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; ] ; sh:property [ From 0b1ed9c52095d2541402a1e6026039ffdbe2cbd5 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Wed, 13 Oct 2021 09:47:36 +0200 Subject: [PATCH 147/288] make ids:Catalog a subclass of odrl:AssetCollection --- model/infrastructure/Catalog.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/infrastructure/Catalog.ttl b/model/infrastructure/Catalog.ttl index a220e222..39ff12ec 100644 --- a/model/infrastructure/Catalog.ttl +++ b/model/infrastructure/Catalog.ttl @@ -11,7 +11,7 @@ ids:Catalog a owl:Class; - rdfs:subClassOf dcat:Catalog; + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection; rdfs:label "Catalog"@en ; rdfs:comment "Class that represents (distributable) Catalogs."@en ; From 7cdce621863addcc8b469860000d4454150602b2 Mon Sep 17 00:00:00 2001 From: changqin26 Date: Wed, 13 Oct 2021 09:52:10 +0200 Subject: [PATCH 148/288] Added odrl prefix. --- model/infrastructure/Catalog.ttl | 1 + 1 file changed, 1 insertion(+) diff --git a/model/infrastructure/Catalog.ttl b/model/infrastructure/Catalog.ttl index 39ff12ec..3e944156 100644 --- a/model/infrastructure/Catalog.ttl +++ b/model/infrastructure/Catalog.ttl @@ -4,6 +4,7 @@ @prefix xsd: . @prefix dcat: . @prefix ids: . +@prefix odrl: . # Classes From e83ee6e3681e4edcfa1af7953f5d57369e5cfb9a Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Fri, 15 Oct 2021 18:50:13 +0200 Subject: [PATCH 149/288] Add helper file Add helper file related to the refactoring of the IDS information model (#490) --- .DS_Store | Bin 6148 -> 6148 bytes .gitignore | 1 + utils/refactor_helper.ttl | 404 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 405 insertions(+) create mode 100644 utils/refactor_helper.ttl diff --git a/.DS_Store b/.DS_Store index fb25563961e94a1b5ef704edb19a254d3e029f45..5b3f96e8025917f65b31ce9837929959f25648c2 100644 GIT binary patch delta 129 zcmZoMXfc@J&&akhU^g=(+h!gXB}T?mll55}xFxHr4NXmS6by|FChugGW1Kbl2CF>d z?8!e^WyM(;N*PKRG8u9hij&HV3zBm3lNcBn@aW^84U|XHwV92LiE%SK$6tN`B(Nga delta 36 scmZoMXfc@J&&aYdU^g=(%Vr)HCC16xEN3VGVU^lg@`-UXJI7ys0Md>O8UO$Q diff --git a/.gitignore b/.gitignore index 8c7ec246..60ee90f6 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ model/.DS_Store .DS_Store model/.DS_Store model/.DS_Store +.DS_Store diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl new file mode 100644 index 00000000..e0bd8f46 --- /dev/null +++ b/utils/refactor_helper.ttl @@ -0,0 +1,404 @@ +# 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: . + + +foaf:Agent + a owl:Class ; + 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 . + +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). is used only when no ids:IANAMediaType available."@en . + + +dcat:Distribution + a rdfs:Class ; + a owl:Class ; + rdfs:label "Distribution"@en ; + rdfs:comment "Syntactic template of a Resource."@en . + +odrl:Asset + a rdfs:Class ; + a owl:Class ; + a skos:Concept; + 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 ; + a skos:Concept; + 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 Licences to be referred to by Resources."@en . + +time:Instant + a owl:Class ; + rdfs:label "Instant"@en ; + rdfs:comment "A defined point in time with zero duration."@en . + +time:Interval + a owl:Class ; + 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 ; + a skos:Concept ; + rdfs:label "Constraint"@en ; + rdfs:comment "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 ; + a skos:Concept ; + 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 ; + a skos:Concept ; + 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 ; + a skos:Concept ; + rdfs:label "Rule"@en ; + rdfs:comment "Superclass of Permissions, Prohibitions and Duties."@en . + +odrl:Permission + a rdfs:Class ; + a owl:Class ; + a skos:Concept ; + 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 ; + a skos:Concept ; + 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 ; + a skos:Concept ; ; + 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 ; + a skos:Concept ; + rdfs:label "Action"@en ; + rdfs:comment "A thing one might be permitted to do or prohibited from doing to something."@en . + +dcat:Catalog + a rdfs:Class ; + a owl:Class ; + rdfs:label "Catalog"@en ; + rdfs:comment "Class that represents (distributable) Catalogs."@en . + +dct:title + a rdf:Property ; + rdfs:label "Title"@en ; + rdfs:comment "(Localized) name of the entity."@en . + +dct:description + a rdf:Property ; + rdfs:label "Description"@en ; + rdfs:comment "Explanation of the resource in a natural language text."@en . + +sh:shapesGraph + a rdf:Property ; + rdfs:label "shapes graph"@en ; + 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: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: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:comment "General official homepage of the participant."@en . + +foaf:familyName + a owl:DatatypeProperty ; + rdfs:label "familyName"@en ; + rdfs:comment "Family name of a Person."@en . + +foaf:givenName + a owl:DatatypeProperty ; + rdfs:label "Given name"@en ; + rdfs:comment "Given name of a Person."@en . + +foaf:phone + a owl:ObjectProperty ; + rdfs:label "phone"@en ; + rdfs:comment "Phone number of a person."@en . + +dct:identifier + a rdf:Property ; + rdfs:label "Identifier"@en ; + 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: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:comment "Media Type of the Representation."@en . + +dct:created + a rdf:Property ; + rdfs:label "Date Created"@en ; + 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:comment "Natural language(s) used within the content."@en . + +dcat:theme + a rdf:Property ; + a owl:ObjectProperty ; + rdfs:label "theme"@en ; + 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: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:comment "Temporal period or instance covered by the content."@en . + +dcat:temporalResolution + a owl:DatatypeProperty ; + rdfs:label "temporal resolution"@en ; + 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:comment "Named spatial entity covered by the Resource."@en . + +dct:accrualPeriodicity + a rdf:Property ; + rdfs:label "Accrual Periodicity"@en ; + 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: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: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:comment "Date (as xsd:dateTimeStamp) of issuing the Message."@en . + +dct:hasVersion + a rdf:Property ; + rdfs:label "Has Version"@en ; + rdfs:comment "Version identifier of the Managed Entity"@en . + +time:inXSDDateTimeStamp + a owl:DatatypeProperty ; + rdfs:label "in XSD date-time-stamp"@en ; + rdfs:comment "Absolute date time with a defined time zone."@en . + +time:hasBeginning + a owl:ObjectProperty ; + rdfs:label "has beginning"@en ; + rdfs:comment "Beginning of an Interval."@en . + +time:hasEnd + a owl:ObjectProperty ; + rdfs:label "has end"@en ; + rdfs:comment "End of an Interval."@en . + +odrl:leftOperand + a rdf:Property ; + a skos:Concept ; + rdfs:label "Has Left Operand"@en ; + rdfs:comment "The left operand in a constraint expression."@en . + +odrl:operator + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Has Operator"@en ; + rdfs:comment "The operator function applied to operands of a Constraint"@en . + +odrl:rightOperandReference + a rdf:Property ; + a skos:Concept ; + rdfs:label "Has Right Operand Reference"@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 . + +odrl:unit + a rdf:Property ; + rdfs:label "Unit"@en ; + rdfs:comment "The unit of measurement of a Constraint."@en . + +odrl:and + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "And"@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 odrl:LogicalConstraint!"@en . + +odrl:or + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Or"@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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en . + +odrl:xone + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Only One"@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 ids:xone can be used for a specific odrl:LogicalConstraint!"@en . + +odrl:assignee + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Assignee"@en ; + rdfs:comment "The recipient of the policy statement."@en . + +odrl:assigner + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Assigner"@en ; + rdfs:comment "The issuer of the policy statement."@en . + +odrl:constraint + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Has Constraint"@en; + rdfs:comment "The constraint to be used for a specific rule."@en . + +odrl:refinement + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Refinement"@en ; + 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 ; + a skos:Concept ; + rdfs:label "Has Permission"@en ; + rdfs:comment "A Permission granted by the Contract."@en . + +odrl:prohibition + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Has Prohibition"@en ; + rdfs:comment "A Prohibition imposed by the Contract."@en . + +odrl:obligation + a rdf:Property ; + a owl:ObjectProperty ; + a skos:Concept ; + rdfs:label "Obligation"@en ; + rdfs:comment "A Duty imposed by the Contract."@en . + +odrl:includedIn + a rdf:Property ; + a owl:ObjectProperty ; + a owl:TransitiveProperty ; + a skos:Concept ; + rdfs:label "Included In"@en ; + rdfs:comment "The subject transitively asserts the object Action."@en . + +time:TemporalEntity + a owl:Class ; + rdfs:label "Temporal entity"@en ; + rdfs:comment "A temporal interval, instant or a relative duration."@en . + +dct:licence + a rdf:Property ; + rdfs:label "License"@en ; + 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 . + + + + + From b502c1f911b5271d66b7eb7d42a2a75896e6d2d3 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 18 Oct 2021 12:19:21 +0200 Subject: [PATCH 150/288] Update to org:Site Update to org:Site --- .gitignore | 1 + examples/PARTICIPANT_1.jsonld | 2 +- examples/PARTICIPANT_1.ttl | 2 +- examples/PARTICIPANT_2.ttl | 2 +- examples/PARTICIPANT_3.ttl | 6 +++--- model/.DS_Store | Bin 8196 -> 8196 bytes model/participant/Participant.ttl | 2 +- testing/participant/ParticipantShape.ttl | 8 ++++---- 8 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 60ee90f6..78355670 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ model/.DS_Store model/.DS_Store model/.DS_Store .DS_Store +model/.DS_Store diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index 32690629..036cbfc9 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -25,7 +25,7 @@ "ids:participantCertification": { "@id": "_:ub97bL19C34" }, - "org:hasPrimarySite": { + "org:Site": { "@id": "_:ub97bL15C21" }, "ids:legalForm" : "DX6Z" , diff --git a/examples/PARTICIPANT_1.ttl b/examples/PARTICIPANT_1.ttl index e943369a..abe6dff7 100644 --- a/examples/PARTICIPANT_1.ttl +++ b/examples/PARTICIPANT_1.ttl @@ -18,7 +18,7 @@ part1: foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ - a 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 3c830b0a..bcbcbe9c 100644 --- a/examples/PARTICIPANT_2.ttl +++ b/examples/PARTICIPANT_2.ttl @@ -15,7 +15,7 @@ part2: foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ - a 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 71764f1c..f6dd06dd 100644 --- a/examples/PARTICIPANT_3.ttl +++ b/examples/PARTICIPANT_3.ttl @@ -15,7 +15,7 @@ part3: foaf:homepage ; ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275. org:hasPrimarySite [ - a org:hasPrimarySite ; + a org:Site ; ids:siteAddress "Supercargo Gmbh, Musterstraße 5, Köln, Deutschland" ; ] ; ids:participantCertification [ @@ -36,7 +36,7 @@ part3:ru # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 org:hasPrimarySite [ - a org:hasPrimarySite ; + a org:Site ; ids:siteAddress "Supercargo OOO, Yлица пример 120, Москва, Россия" ; ] . @@ -50,7 +50,7 @@ part3:hk # ids:industrialClassification? ids:legalForm "DX6Z" ; # see ELF-Code and ISO-20275 org:hasPrimarySite [ - a org:hasPrimarySite ; + a org:Site ; ids:siteAddress "Sample Road 15c, Hongkong" ; ] . diff --git a/model/.DS_Store b/model/.DS_Store index 11cbee8cc44d0610e30637c5c3378afa64cb1e0c..7bc5a1678287b94b8ac6e9d047255f0cca6a9cf7 100644 GIT binary patch delta 24 fcmZp1XmQwZMv&dqL`T8U$YAn80jJHPLhpG2Wi|)l delta 16 XcmZp1XmQwZMsV^j0ng2%LhpG2J4*(V diff --git a/model/participant/Participant.ttl b/model/participant/Participant.ttl index 723476f6..c0bf684c 100644 --- a/model/participant/Participant.ttl +++ b/model/participant/Participant.ttl @@ -102,7 +102,7 @@ ids:siteAddress # rdfs:subPropertyOf org:siteAddress; # a owl:ObjectProperty; a owl:DatatypeProperty ; - rdfs:domain org:hasPrimarySite; + rdfs:domain org:Site; rdfs:range xsd:string; rdfs:label "site address"@en; rdfs:comment "Indicates an address for the site."@en. diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index fe651c07..790341e8 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -30,10 +30,10 @@ shapes:ParticipantShape sh:property [ a sh:PropertyShape ; sh:path org:hasPrimarySite ; - sh:class org:hasPrimarySite ; + sh:class org:Site ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ParticipantShape): An ids:Participant must not have more than one org:hasPrimarySite linked through the org:hasPrimarySite property"@en ; + sh:message " (ParticipantShape): An ids:Participant must not have more than one org:Site linked through the org:hasPrimarySite property"@en ; ] ; sh:property [ @@ -180,7 +180,7 @@ shapes:PersonShape shapes:SiteShape a sh:NodeShape ; - sh:targetClass org:hasPrimarySite ; + sh:targetClass org:Site ; sh:property [ a sh:PropertyShape ; @@ -188,5 +188,5 @@ shapes:SiteShape sh:datatype xsd:string ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (SiteShape): An ids:siteAddress property must not have more than one point from an org:hasPrimarySite to an xsd:string."@en ; + sh:message " (SiteShape): An ids:siteAddress property must not have more than one point from an org:Site to an xsd:string."@en ; ] . From 8549d599f549cff8baa3e4b1ae8b5360c1944fac Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 18 Oct 2021 12:24:02 +0200 Subject: [PATCH 151/288] Update helper file to include org:Site Update helper file to include org:Site --- utils/refactor_helper.ttl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index e0bd8f46..e2646dd1 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -24,6 +24,12 @@ foaf:Person 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 ; From ecf9c83d7269db785e8a5af24da0c866407fcdb2 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Wed, 20 Oct 2021 13:50:05 +0200 Subject: [PATCH 152/288] Going back and removing the relaxations of Agents and Resources being both URI or RDF Entity. --- codes/Mediatype.ttl | 16 ++-- examples/DATA3.ttl | 85 +++++++++++++++++++ testing/infrastructure/CatalogShape.ttl | 27 +++--- .../InfrastructureComponentShape.ttl | 18 ++-- 4 files changed, 118 insertions(+), 28 deletions(-) create mode 100644 examples/DATA3.ttl diff --git a/codes/Mediatype.ttl b/codes/Mediatype.ttl index e17baf05..1db55569 100644 --- a/codes/Mediatype.ttl +++ b/codes/Mediatype.ttl @@ -3,12 +3,12 @@ @prefix ids: . @prefix idsc: . - - a ids:IANAMediaType ; - rdfs:label "JSON"@en ; - rdfs:comment "JSON media type."@en. +# +# a ids:IANAMediaType ; +# rdfs:label "JSON"@en ; +# rdfs:comment "JSON media type."@en. -idsc:OTHER_MEDIATYPE - a ids:CustomMediaType ; - rdfs:label "Other mediatype"@en ; - rdfs:comment "Other custom mediatype."@en. \ No newline at end of file +#idsc:OTHER_MEDIATYPE +# a ids:CustomMediaType ; +# rdfs:label "Other mediatype"@en ; +# rdfs:comment "Other custom mediatype."@en. diff --git a/examples/DATA3.ttl b/examples/DATA3.ttl new file mode 100644 index 00000000..77cdc13e --- /dev/null +++ b/examples/DATA3.ttl @@ -0,0 +1,85 @@ +@prefix ids: . +@prefix idsc: . +@prefix rdf: . +@prefix xsd: . + +@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" ; + ids:temporalCoverage [ + a ids:Interval ; + ids:begin [ + a ids:Instant ; + ids:dateTime "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 ; + ] ; + ] ; + 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 ; + ] ; + + # 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: ; + ids:action idsc:USE ; + ids:constraint [ + a ids:Constraint ; + ids:leftOperand idsc:SECURITY_LEVEL ; + ids:operator idsc:GTEQ ; + ids:rightOperand idsc:TRUST_SECURITY_PROFILE + ] + ] . + + a ids:IANAMediaType . + a ids:IANAMediaType . diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index 14e66853..efa39323 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -45,10 +45,11 @@ shapes:ResourceCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:offeredResource ; - sh:or ( - [ sh:class ids:Resource ; ] - [ sh:nodeKind sh:IRI ; ] - ) ; + #sh:or ( + # [ + sh:class ids:Resource ; #] + # [ sh:nodeKind sh:IRI ; ] + #) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:offeredResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; ] ; @@ -56,10 +57,11 @@ shapes:ResourceCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:requestedResource ; - sh:or ( - [ sh:class ids:Resource ; ] - [ sh:nodeKind sh:IRI ; ] - ) ; + # sh:or ( + # [ + sh:class ids:Resource ;# ] + # [ sh:nodeKind sh:IRI ; ] + # ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:requestedResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; ] ; @@ -72,10 +74,11 @@ shapes:ParticipantCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:member ; - sh:or ( - [ sh:class ids:Participant ; ] - [ sh:nodeKind sh:IRI ; ] - ) ; + #sh:or ( + # [ + sh:class ids:Participant ;# ] + # [ sh:nodeKind sh:IRI ; ] + #) ; sh:severity sh:Violation ; sh:message " (ParticipantCatalog): An ids:member property must point from an ids:ParticipantCatalog to an ids:Participant."@en ; ] ; diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index d80d7905..2fcf2be9 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -27,10 +27,11 @@ shapes:InfrastructureComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:maintainer ; - sh:or ( - [ sh:class ids:Participant ; ] - [ sh:nodeKind sh:IRI ; ] - ) ; + #sh:or ( + # [ sh:class ids:Participant ; ] + # [ + sh:nodeKind sh:IRI ;# ] + #) ; sh:minCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:maintainer property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; @@ -39,10 +40,11 @@ shapes:InfrastructureComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:curator ; - sh:or ( - [ sh:class ids:Participant ; ] - [ sh:nodeKind sh:IRI ; ] - ) ; + #sh:or ( + # [ sh:class ids:Participant ; ] + # [ + sh:nodeKind sh:IRI ; #] + #) ; sh:minCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:curator property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; From c802e75d9681ba2d351c2e234ab8f66403bb7cfc Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Wed, 20 Oct 2021 16:42:47 +0200 Subject: [PATCH 153/288] The shapes:InfrastructureComponentShape had sh:targetClass ids:InfrastructureComponentShape but should be ids:InfrastructureComponent. --- testing/infrastructure/InfrastructureComponentShape.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index d80d7905..6dac87fa 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -22,7 +22,7 @@ shapes: shapes:InfrastructureComponentShape a sh:NodeShape ; - sh:targetClass ids:InfrastructureComponentShape ; + sh:targetClass ids:InfrastructureComponent ; sh:property [ a sh:PropertyShape ; From 43397db72a1cb21a0006cf5e1009ecbad83c68c3 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Wed, 20 Oct 2021 17:17:11 +0200 Subject: [PATCH 154/288] Removing the doublicated ComponentShape, merging its content into the InfrastructureComponentShape Reintroducing the possibility to give either an ids:Resource object or its URI only, also for the Participant. --- testing/infrastructure/CatalogShape.ttl | 27 ++--- testing/infrastructure/ComponentShape.ttl | 108 ------------------ .../InfrastructureComponentShape.ttl | 53 ++++++--- 3 files changed, 47 insertions(+), 141 deletions(-) delete mode 100644 testing/infrastructure/ComponentShape.ttl diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index efa39323..f81f8cba 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -45,11 +45,10 @@ shapes:ResourceCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:offeredResource ; - #sh:or ( - # [ - sh:class ids:Resource ; #] - # [ sh:nodeKind sh:IRI ; ] - #) ; + sh:or ( + [ sh:class ids:Resource ; idsm:isNonBreaking true ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:offeredResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; ] ; @@ -57,11 +56,10 @@ shapes:ResourceCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:requestedResource ; - # sh:or ( - # [ - sh:class ids:Resource ;# ] - # [ sh:nodeKind sh:IRI ; ] - # ) ; + sh:or ( + [ sh:class ids:Resource ; idsm:isNonBreaking true ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:requestedResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; ] ; @@ -74,11 +72,10 @@ shapes:ParticipantCatalogShape sh:property [ a sh:PropertyShape ; sh:path ids:member ; - #sh:or ( - # [ - sh:class ids:Participant ;# ] - # [ sh:nodeKind sh:IRI ; ] - #) ; + sh:or ( + [ sh:class ids:Participant ; idsm:isNonBreaking true ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:severity sh:Violation ; sh:message " (ParticipantCatalog): An ids:member property must point from an ids:ParticipantCatalog to an ids:Participant."@en ; ] ; diff --git a/testing/infrastructure/ComponentShape.ttl b/testing/infrastructure/ComponentShape.ttl deleted file mode 100644 index c78a96a7..00000000 --- a/testing/infrastructure/ComponentShape.ttl +++ /dev/null @@ -1,108 +0,0 @@ -@prefix owl: . -@prefix dct: . -@prefix rdfs: . -@prefix prov: . -@prefix rdf: . -@prefix xsd: . -@prefix ids: . - -@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:InfrastructureComponentShape - a sh:NodeShape ; - sh:targetClass ids:InfrastructureComponent ; - - sh:sparql [ - a sh:SPARQLConstraint ; - sh:message " (InfrastructureComponentShape): An ids:InfrastructureComponent 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:InfrastructureComponent) - } - """ ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:maintainer ; - #sh:class ids:Participant ; - sh:nodeKind sh:IRI ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:InfrastructureComponent must have at least one ids:Participant linked through the ids:maintainer property"@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:curator ; - #sh:class ids:Participant ; - sh:nodeKind sh:IRI ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:InfrastructureComponent must have at least one ids:Participant linked through the ids:curator property"@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:physicalLocation ; - sh:class ids:Location ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:physicalLocation property must point from an ids:InfrastructureComponent to an ids:Location."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:inboundModelVersion ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:inboundModelVersion property must point from an ids:InfrastructureComponent to at least one xsd:string."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:outboundModelVersion ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:InfrastructureComponent must have at least one xsd:string linked through the ids:outboundModelVersion property"@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:componentCertification ; - sh:class ids:ComponentCertification ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:componentCertification property must point from an ids:InfrastructureComponent to an ids:ComponentCertification."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:publicKey ; - sh:class ids:PublicKey ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:publicKey property must point from an ids:InfrastructureComponent to an ids:PublicKey."@en ; - ] . diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index 2fcf2be9..565d40c9 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -22,17 +22,30 @@ shapes: shapes:InfrastructureComponentShape a sh:NodeShape ; - sh:targetClass ids:InfrastructureComponentShape ; + sh:targetClass ids:InfrastructureComponent ; + + sh:sparql [ + a sh:SPARQLConstraint ; + sh:message " (InfrastructureComponentShape): An ids:InfrastructureComponent 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:InfrastructureComponent) + } + """ ; + ] ; sh:property [ a sh:PropertyShape ; sh:path ids:maintainer ; - #sh:or ( - # [ sh:class ids:Participant ; ] - # [ - sh:nodeKind sh:IRI ;# ] - #) ; + sh:or ( + [ sh:class ids:Participant ; ] + [ sh:nodeKind sh:IRI ; idsm:isNonBreaking true ; ] + ) ; sh:minCount 1 ; + sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:maintainer property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; ] ; @@ -40,21 +53,22 @@ shapes:InfrastructureComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:curator ; - #sh:or ( - # [ sh:class ids:Participant ; ] - # [ - sh:nodeKind sh:IRI ; #] - #) ; - sh:minCount 1 ; + sh:or ( + [ sh:class ids:Participant ; ] + [ sh:nodeKind sh:IRI ; idsm:isNonBreaking true ; ] + ) ; + #sh:minCount 1 ; + sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:curator property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; ] ; sh:property [ - a sh:PropertyShape ; - sh:path ids:physicalLocation ; - sh:class ids:Location ; - sh:severity sh:Violation ; + a sh:PropertyShape ; + sh:path ids:physicalLocation ; + sh:class ids:Location ; + sh:maxCount 1 ; + sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:physicalLocation property must point from an ids:InfrastructureComponent to an ids:Location."@en ; ] ; @@ -72,8 +86,9 @@ shapes:InfrastructureComponentShape sh:path ids:outboundModelVersion ; sh:datatype xsd:string ; sh:minCount 1 ; + sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:outboundModelVersion property must have at least one point from an ids:InfrastructureComponent to an xsd:string."@en ; + sh:message " (InfrastructureComponentShape): An ids:outboundModelVersion property must have exactly one point from an ids:InfrastructureComponent to an xsd:string."@en ; ] ; sh:property [ @@ -81,6 +96,7 @@ shapes:InfrastructureComponentShape sh:path ids:componentCertification ; sh:class ids:ComponentCertification ; sh:severity sh:Violation ; + sh:maxCount 1 ; sh:message " (InfrastructureComponentShape): An ids:componentCertification property must point from an ids:InfrastructureComponent to an ids:ComponentCertification."@en ; ] ; @@ -88,7 +104,8 @@ shapes:InfrastructureComponentShape a sh:PropertyShape ; sh:path ids:publicKey ; sh:class ids:PublicKey ; + sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (InfrastructureComponentShape): An ids:publicKey property must point from an ids:InfrastructureComponent to an ids:PublicKey."@en ; + sh:message " (InfrastructureComponentShape): An ids:publicKey property must point from an ids:InfrastructureComponent to at maximum one ids:PublicKey."@en ; ] ; . From 86c3bf2bf4c9e38b9755a80d0aa4612934b98b56 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Wed, 20 Oct 2021 17:39:04 +0200 Subject: [PATCH 155/288] removing the RuleShap declarations for assignee, assigner, and target to let them only point to URIs --- testing/contract/RuleShape.ttl | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 5eca95d4..7b7c446f 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -51,10 +51,11 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; sh:path ids:assignee ; - sh:or ( - [ sh:nodeKind sh:IRI ; ] - [ sh:class ids:Participant ; ] - ); + #sh:or ( + # [ + sh:nodeKind sh:IRI ;# ] + # [ sh:class ids:Participant ; #] + #); sh:minCount 0 ; #sh:maxCount 1 ; sh:severity sh:Violation ; @@ -64,10 +65,11 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; sh:path ids:assigner ; - sh:or ( - [ sh:nodeKind sh:IRI ; ] - [ sh:class ids:Participant ; ] - ); + #sh:or ( + # [ + sh:nodeKind sh:IRI ;# ] + # [ sh:class ids:Participant ; #] + #); sh:minCount 0 ; #sh:maxCount 1 ; sh:severity sh:Violation ; @@ -77,10 +79,11 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; sh:path ids:target ; - sh:or ( - [ sh:nodeKind sh:IRI ; ] - [ sh:class ids:Asset ; ] - ); + #sh:or ( + # [ + sh:nodeKind sh:IRI ;# ] + # [ sh:class ids:Participant ; #] + #); sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (RuleShape): An ids:target property must not have more than one point from an ids:Rule to an ids:Asset."@en ; From 4516ee27fb3b18f32836d83f3c6d2e8bcf1cdff9 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Wed, 20 Oct 2021 17:39:34 +0200 Subject: [PATCH 156/288] removing the RuleShap declarations for assignee, assigner, and target to let them only point to URIs --- testing/contract/RuleShape.ttl | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 5eca95d4..7b7c446f 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -51,10 +51,11 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; sh:path ids:assignee ; - sh:or ( - [ sh:nodeKind sh:IRI ; ] - [ sh:class ids:Participant ; ] - ); + #sh:or ( + # [ + sh:nodeKind sh:IRI ;# ] + # [ sh:class ids:Participant ; #] + #); sh:minCount 0 ; #sh:maxCount 1 ; sh:severity sh:Violation ; @@ -64,10 +65,11 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; sh:path ids:assigner ; - sh:or ( - [ sh:nodeKind sh:IRI ; ] - [ sh:class ids:Participant ; ] - ); + #sh:or ( + # [ + sh:nodeKind sh:IRI ;# ] + # [ sh:class ids:Participant ; #] + #); sh:minCount 0 ; #sh:maxCount 1 ; sh:severity sh:Violation ; @@ -77,10 +79,11 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; sh:path ids:target ; - sh:or ( - [ sh:nodeKind sh:IRI ; ] - [ sh:class ids:Asset ; ] - ); + #sh:or ( + # [ + sh:nodeKind sh:IRI ;# ] + # [ sh:class ids:Participant ; #] + #); sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (RuleShape): An ids:target property must not have more than one point from an ids:Rule to an ids:Asset."@en ; From b44eea84fc5a9679341db0d754dd4d0c1d1fbad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 21 Oct 2021 09:44:26 +0200 Subject: [PATCH 157/288] Fix typo Fix small Typo, which was originally discovered by @aliariff (see PR #515 ). --- model/contract/Contract.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/contract/Contract.ttl b/model/contract/Contract.ttl index 19b7438d..991e1147 100644 --- a/model/contract/Contract.ttl +++ b/model/contract/Contract.ttl @@ -60,7 +60,7 @@ ids:contractDate a owl:DatatypeProperty; rdfs:domain ids:Contract; rdfs:range xsd:dateTimeStamp; rdfs:label "Contract date"@en ; - rdfs:comment "Absolute datetime of singing the Contract."@en. + rdfs:comment "Absolute datetime of signing the Contract."@en. # "Datengeber" ids:provider a owl:ObjectProperty; From 3aed17857f89358e709730a7b7470a7b377911be Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 21 Oct 2021 12:16:21 +0200 Subject: [PATCH 158/288] Remove ids:Constraint Remove ids:Constraint and replace it by odrl:Constraint --- docs/serializations/ontology.json | 4 ++-- docs/serializations/ontology.jsonld | 8 ++++---- docs/serializations/ontology.n3 | 8 ++++---- docs/serializations/ontology.nt | 4 ++-- docs/serializations/ontology.rdf | 4 ++-- docs/serializations/ontology.ttl | 4 ++-- docs/serializations/ontology.xml | 4 ++-- docs/webvowl/data/ontology.json | 4 ++-- examples/DATA1.ttl | 2 +- examples/TEXT_RESOURCE.jsonld | 4 ++-- examples/TEXT_RESOURCE.ttl | 2 +- .../ActionTemplates/ACTION_TEMPLATE.ttl | 4 ++-- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 2 +- .../CONSTRAINT_TEMPLATE.ttl | 4 ++-- .../EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EVENT_OFFER_TEMPLATE.ttl | 2 +- .../EVENT_REQUEST_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../PARTICIPANT_TEMPLATE.ttl | 4 ++-- ...OSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- ...PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 2 +- ...RPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../RENTAL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 6 +++--- .../RENTAL_REQUEST_TEMPLATE.ttl | 6 +++--- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_OFFER_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 4 ++-- .../SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 6 +++--- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 6 +++--- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SPATIAL_OFFER_TEMPLATE.ttl | 2 +- .../SPATIAL_REQUEST_TEMPLATE.ttl | 2 +- .../TargetTemplates/ASSET_TEMPLATE.ttl | 4 ++-- .../TargetTemplates/AssetTemplateShape.ttl | 4 ++-- .../DURATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_REQUEST_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 2 +- ...USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- model/contract/Action.ttl | 2 +- model/contract/Constraint.ttl | 15 +++------------ testing/content/AssetShape.ttl | 2 +- testing/contract/ActionShape.ttl | 4 ++-- testing/contract/ConstraintShape.ttl | 18 +++++++++--------- testing/contract/RuleShape.ttl | 2 +- testing/participant/ParticipantShape.ttl | 2 +- utils/refactor_helper.ttl | 2 +- 64 files changed, 108 insertions(+), 117 deletions(-) diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index dbc099c4..ef86f156 100644 --- a/docs/serializations/ontology.json +++ b/docs/serializations/ontology.json @@ -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 odrl: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 odrl: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" diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 9c6a420d..3c918a23 100644 --- a/docs/serializations/ontology.jsonld +++ b/docs/serializations/ontology.jsonld @@ -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", @@ -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 odrl: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 odrl: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" diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index 591fca4f..0a816c5e 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -6957,7 +6957,7 @@ owl:Class rdf:type owl:Class . ids:provider [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\" : \"[|]\" @@ -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 odrl: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 odrl: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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index 690b0283..80b9cc1b 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -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 odrl: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 odrl: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 . diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index 8404ea2e..70a30d5e 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -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 odrl: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 odrl: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 diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index f51558ed..04f9ba94 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -9141,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 odrl: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 odrl: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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index 716f0592..c5617ac1 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -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 odrl: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 odrl: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 diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index bf48865f..0599ab2b 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -17456,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 odrl: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" @@ -17570,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 odrl: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" diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 9c6fbabc..ac0ca327 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -82,7 +82,7 @@ data1:offer a odrl:Duty ; ids:action idsc:COMPENSATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQUALS ; ids:rightOperand 25 ; diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index 2cf7287a..6db24f40 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -91,7 +91,7 @@ "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": "odrl:LeftOperand", "@id": "https://w3id.org/idsa/code/POLICY_EVALUATION_TIME" @@ -124,7 +124,7 @@ "@id": "https://w3id.org/idsa/code/COMPENSATE" }, "constraint": { - "@type": "ids:Constraint", + "@type": "odrl:Constraint", "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 ce00f886..7b540190 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -120,7 +120,7 @@ data1:offer a odrl:Duty; ids:action idsc:COMPENSATE ; odrl:constraint [ - a ids:Constraint; + a odrl:Constraint; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; ids:rightOperand 25 ; 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 c3d3f002..5da57405 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl @@ -21,7 +21,7 @@ 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" + 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 ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "blue" @@ -38,7 +38,7 @@ ?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 ; + a odrl:Constraint ; odrl:leftOperand ?IdscLeftOperand ; odrl:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; 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 538366e8..eccb6541 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 @@ -27,7 +27,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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.ttl b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.ttl index 41fee346..7afb0982 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 @@ -39,7 +39,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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.ttl b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.ttl index 4de292e7..9feb93b3 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 @@ -39,7 +39,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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.ttl b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl index 7e854c35..d9744fd7 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl @@ -16,7 +16,7 @@ ( [ - a ids:Constraint ; # Constraint + 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" @@ -29,7 +29,7 @@ ?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 ; + a odrl:Constraint ; odrl:leftOperand ?IdscLeftOperand ; ids:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; 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 d91a46b0..d43e2b7d 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 @@ -26,7 +26,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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 ; 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 eb064977..c9f5361e 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 @@ -38,7 +38,7 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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 ; 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 7f0d1016..75deb2ef 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 @@ -38,7 +38,7 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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 ; 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 97fb9568..734acd93 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 @@ -26,7 +26,7 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; ids:rightOperand ?n ; # Do not execute the Action more than ?n times. 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 6b5d0f5c..7e4b82ef 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 @@ -38,7 +38,7 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; ids:rightOperand ?n ; # Do not execute the Action more than ?n times. 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 fbda730d..3c2cae0d 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 @@ -38,7 +38,7 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; ids:rightOperand ?n ; # Do not execute the Action more than ?n times. 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 36f0a077..e3e61f89 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl @@ -25,7 +25,7 @@ [ 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" + 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 ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "ADMIN" @@ -41,7 +41,7 @@ ?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 ; + a odrl:Constraint ; odrl:leftOperand ?IdscLeftOperand ; odrl:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; 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 b25a36ab..95c5f54a 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 @@ -27,7 +27,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference ?PurposeURI ; 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 bcd51add..b9a543d5 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 @@ -39,7 +39,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference ?PurposeURI ; 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 ebf6b548..04d55fc3 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 @@ -39,7 +39,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PURPOSE ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference ?PurposeURI ; 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 4122c49a..28c4d3f6 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 @@ -27,7 +27,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:STATE ; odrl: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. @@ -41,7 +41,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee @@ -50,7 +50,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; ] ] ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?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 10826b10..cc6acd41 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 @@ -39,7 +39,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:STATE ; odrl: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. @@ -59,7 +59,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee @@ -68,7 +68,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; ] ] ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?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 42666091..52ff603f 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 @@ -39,7 +39,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:STATE ; odrl: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. @@ -59,7 +59,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee @@ -68,7 +68,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; ] ] ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; ids:rightOperand ?duration ; # for a certain usage ?duration 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 cfae619d..f3a3936b 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 @@ -27,14 +27,14 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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. ] ; odrl:constraint [ - a ids: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. 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 f27c1cd7..a47f27f4 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 @@ -39,14 +39,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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. ] ; odrl:constraint [ - a ids: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. 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 1a0c7519..65db1f2d 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 @@ -39,14 +39,14 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids: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. ] ; odrl:constraint [ - a ids: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. 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 503499b8..13f19015 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 @@ -34,7 +34,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd: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 83d276cb..ac9e4431 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 @@ -52,7 +52,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd: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 55ef83aa..b49a9aef 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 @@ -52,7 +52,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; ids:rightOperand "?price"^^xsd:double ; 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 c7bb697b..00314faa 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 @@ -29,19 +29,19 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; a odrl:LogicalConstraint ; odrl:or ( # '(' is used as an RDF List operator here ([ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ - a ids:Constraint ; + 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 ; + a odrl:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference 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 026177a7..73f6d01d 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 @@ -41,19 +41,19 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; a odrl:LogicalConstraint ; odrl:or ( # '(' is used as an RDF List operator here ([ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ - a ids:Constraint ; + 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 ; + a odrl:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference 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 58adeb82..f64cbf7f 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 @@ -41,19 +41,19 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; a odrl:LogicalConstraint ; odrl:or ( # '(' is used as an RDF List operator here ([ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference idsc:BASE_SECURITY_PROFILE ; ])? ([ - a ids:Constraint ; + 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 ; + a odrl:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; odrl:operator idsc:SAME_AS ; odrl:rightOperandReference idsc:TRUST_PLUS_SECURITY_PROFILE ; # TRUST+ is always included 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 c39360a4..e1e51445 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 @@ -26,7 +26,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( 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 c45324ad..0d000500 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 @@ -38,7 +38,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( 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 1619ae11..5c307c04 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 @@ -39,7 +39,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE ids:rightOperand ( 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 c6faf8e5..75c7207c 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl @@ -25,7 +25,7 @@ [ a odrl:AssetCollection ; odrl:refinement [ # 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" + 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 ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "blue" @@ -41,7 +41,7 @@ ?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 ; + a odrl:Constraint ; odrl:leftOperand ?IdscLeftOperand ; odrl:operator ?IdsBinaryOperator ; ids:rightOperand ?Value ; diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index b1be8ca4..c9ac48f9 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -20,7 +20,7 @@ shapes:AssetTemplateShape sh:class odrl:AssetCollection ; # it's a simple Collection sh:property [ sh:path odrl:refinement ; - sh:class ids:Constraint ; + sh:class odrl:Constraint ; sh:maxCount 1 ; sh:minInclusive 1 ; sh:severity sh:Violation ; @@ -36,7 +36,7 @@ shapes:AssetTemplateShape sh:class odrl:LogicalConstraint ; sh:property [ sh:path odrl:refinement ; - sh:class ids:Constraint ; + sh:class odrl:Constraint ; sh:maxCount 1 ; sh:minInclusive 1 ; sh:severity sh:Violation ; 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 986ec6a8..f4220a93 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 @@ -26,7 +26,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 650e1311..1576727d 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 @@ -39,7 +39,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 e6801a77..747e7864 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 @@ -39,7 +39,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 986ec6a8..f4220a93 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 @@ -26,7 +26,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 650e1311..1576727d 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 @@ -39,7 +39,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?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 e6801a77..747e7864 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 @@ -39,7 +39,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; ids:target idsc:ASSET_TEMPLATE ; ids:action idsc:ACTION_TEMPLATE ; odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; ids:operator idsc:SHORTER_EQ ; ids:rightOperand ?duration ; # for a certain usage ?duration 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 e29bcc69..a1761817 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 @@ -45,7 +45,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement odrl:includedIn idsc:DELETE ; ids:actionRefinement [ odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; ids:rightOperand "?endDateTime"^^xsd: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 f0ea6f8f..36f82505 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 @@ -63,7 +63,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; odrl:includedIn idsc:DELETE ; ids:actionRefinement [ odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; ids:rightOperand "?endDateTime"^^xsd: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 7145f5e2..782d720d 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 @@ -63,7 +63,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; odrl:includedIn idsc:DELETE ; ids:actionRefinement [ odrl:constraint [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; 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 1550ec2c..ef127b69 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 @@ -32,7 +32,7 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; a odrl:Action ; odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ENDPOINT ; odrl:operator idsc:DEFINES_AS ; odrl:rightOperandReference ?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 b61fb6dd..538e3149 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 @@ -44,7 +44,7 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; a odrl:Action ; odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ENDPOINT ; odrl:operator idsc:DEFINES_AS ; odrl:rightOperandReference ?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 ab4b5798..53207e39 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 @@ -44,7 +44,7 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; a odrl:Action ; odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ - a ids:Constraint ; + a odrl:Constraint ; odrl:leftOperand idsc:ENDPOINT ; odrl:operator idsc:DEFINES_AS ; odrl:rightOperandReference ?notificationEndpointUrl ; # Send notification information to this URL diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 5529b8d7..a2db351d 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -89,7 +89,7 @@ sample_Data: # time interval restricted usage constraict odrl:constraint [ - a ids: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} ]"; diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index e6861017..c658c95d 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -13,6 +13,6 @@ ids:actionRefinement # rdfs:subPropertyOf odrl:refinement ; rdfs:label "action refinement"@en; rdfs:domain odrl:Action; - rdfs:range ids:Constraint; + rdfs:range odrl:Constraint; rdfs:comment "Constraint that refines an Action."@en ; . diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index 521fa23e..69391427 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -7,28 +7,19 @@ @prefix ids: . -# Classes -# ------- - -ids:Constraint rdfs:subClassOf odrl:Constraint; - a owl:Class; - rdfs:label "Constraint"@en; - rdfs:comment "The class of Constraints that restrict a Rule."@en; -. - # Properties # ---------- ids:rightOperand rdfs:subPropertyOf odrl:rightOperand; a owl:ObjectProperty; rdfs:label "rightOperand"@en ; - rdfs:domain ids:Constraint; + 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 ids:rightOperand or odrl: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. ids:pipEndpoint a owl:ObjectProperty; rdfs:label "has PIP endpoint"@en; - rdfs:domain ids:Constraint; + rdfs:domain odrl:Constraint; rdfs:range xsd:anyURI ; rdfs:comment "The reference to the endpoint which provides the current state of the feature of interest (as referrenced by the leftOperand) can be retrieved."@en . diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index b2a99d72..03c39b4a 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -61,6 +61,6 @@ shapes:AssetCollectionShape sh:class odrl:Constraint ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AssetCollectionShape): An odrl:refinement property must not have more than one point from an odrl:AssetCollection to an ids:Constraint or odrl:LogicalConstraint."@en ; + sh:message " (AssetCollectionShape): An odrl:refinement property must not have more than one point from an odrl:AssetCollection to an odrl:Constraint or odrl:LogicalConstraint."@en ; ] ; . diff --git a/testing/contract/ActionShape.ttl b/testing/contract/ActionShape.ttl index be5a8292..5e8e42d4 100644 --- a/testing/contract/ActionShape.ttl +++ b/testing/contract/ActionShape.ttl @@ -17,10 +17,10 @@ shapes:ActionShape sh:property [ a sh:PropertyShape ; sh:path ids:actionRefinement ; - sh:class ids:Constraint ; + sh:class odrl:Constraint ; #sh:minCount 1 ; #The Action codes do not meet this criteria sh:severity sh:Violation ; - sh:message " (ActionShape): An ids:actionRefinement property must have at least one point from an odrl:Action to an ids:Constraint."@en ; + sh:message " (ActionShape): An ids:actionRefinement property must have at least one point from an odrl:Action to an odrl:Constraint."@en ; ] ; sh:property [ diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 4d757473..aec92ada 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -44,7 +44,7 @@ shapes:AbstractConstraintShape shapes:ConstraintShape a sh:NodeShape ; - sh:targetClass ids:Constraint ; + sh:targetClass odrl:Constraint ; sh:property [ a sh:PropertyShape ; @@ -53,7 +53,7 @@ shapes:ConstraintShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:Constraint must have exactly one odrl:LeftOperand linked through the odrl:leftOperand property"@en ; + sh:message " (ConstraintShape): An odrl:Constraint must have exactly one odrl:LeftOperand linked through the odrl:leftOperand property"@en ; ] ; sh:property [ @@ -63,7 +63,7 @@ shapes:ConstraintShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:Constraint must have exactly one ids:BinaryOperator linked through the odrl:operator property"@en ; + sh:message " (ConstraintShape): An odrl:Constraint must have exactly one ids:BinaryOperator linked through the odrl:operator property"@en ; ] ; sh:xone ( @@ -96,7 +96,7 @@ shapes:ConstraintShape sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An odrl:unit property must point from an ids:Constraint to a unit via a URI."@en ; + sh:message " (ConstraintShape): An odrl:unit property must point from an odrl:Constraint to a unit via a URI."@en ; ] ; sh:property [ @@ -105,7 +105,7 @@ shapes:ConstraintShape sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): An ids:pipEndpoint property must point from an ids:Constraint to an xsd:anyURI."@en ; + sh:message " (ConstraintShape): An ids:pipEndpoint property must point from an odrl:Constraint to an xsd:anyURI."@en ; ] ; . @@ -118,23 +118,23 @@ shapes:LogicalConstraintShape sh:path odrl:and ; sh:minCount 1 ; #sh:maxCount 1 ; - sh:class ids:Constraint ; + sh:class odrl:Constraint ; sh:severity sh:Violation ; ] [ sh:path odrl:or ; sh:minCount 1 ; #sh:maxCount 1 ; - sh:class ids:Constraint ; + sh:class odrl:Constraint ; sh:severity sh:Violation ; ] [ sh:path odrl:xone ; sh:minCount 1 ; #sh:maxCount 1 ; - sh:class ids:Constraint ; + sh:class odrl:Constraint ; sh:severity sh:Violation ; ] ) ; - sh:message " (LogicalConstraintShape): Exactly one odrl:and, odrl:or, or odrl:xone property must point from an odrl:LogicalConstraint to ids:Constraints."@en ; + sh:message " (LogicalConstraintShape): Exactly one odrl:and, odrl:or, or odrl:xone property must point from an odrl:LogicalConstraint to odrl:Constraint."@en ; . diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 1e885906..f18dd19f 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -100,7 +100,7 @@ shapes:RuleShape sh:path odrl:constraint ; sh:class odrl:Constraint ; sh:severity sh:Violation ; - sh:message " (RuleShape): An odrl:constraint property must point from an odrl:Rule to an ids:Constraint or odrl:LogicalConstraint."@en ; + sh:message " (RuleShape): An odrl:constraint property must point from an odrl:Rule to an odrl:Constraint or odrl:LogicalConstraint."@en ; ] . diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 790341e8..69dba645 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -125,7 +125,7 @@ shapes:ParticipantShape sh:class odrl:Constraint ; sh:severity sh:Violation ; sh:maxCount 1 ; - sh:message " (ParticipantShape): At maximum one ids:participantRefinement property must not have more than one point from an ids:Participant to an ids:Constraint or odrl:LogicalConstraint."@en ; + sh:message " (ParticipantShape): At maximum one ids:participantRefinement property must not have more than one point from an ids:Participant to an odrl:Constraint or odrl:LogicalConstraint."@en ; ] ; . diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index e2646dd1..113091cf 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -309,7 +309,7 @@ odrl:rightOperandReference a rdf:Property ; a skos:Concept ; rdfs:label "Has Right Operand Reference"@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 ids:rightOperandReference should be used in an odrl:Constraint."@en . odrl:unit a rdf:Property ; From fe937511dc51115273af2837d545414e2ba334c2 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 21 Oct 2021 14:09:45 +0200 Subject: [PATCH 159/288] update prefix for Time Ontology and remove definitions including skos:Concept Changes related to #490 Update prefix for Time Ontology Remove definitions including skos:Concept from helper file --- codes/ArtifactState.ttl | 2 +- codes/BinaryOperators.ttl | 2 +- model/content/ArtifactState.ttl | 2 +- utils/refactor_helper.ttl | 30 +++--------------------------- 4 files changed, 6 insertions(+), 30 deletions(-) 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 f5f6dae7..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: . 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/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index 113091cf..2acc9840 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -9,7 +9,7 @@ @prefix dct: . @prefix dcat: . @prefix odrl: . -@prefix time: . +@prefix time: . @prefix schema: . @prefix sh: . @@ -58,14 +58,12 @@ dcat:Distribution odrl:Asset a rdfs:Class ; a owl:Class ; - a skos:Concept; 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 ; - a skos:Concept; rdfs:label "Asset Collection"@en ; rdfs:comment "An AssetCollection is a bracket object combining several odrl:Asset."@en . @@ -92,56 +90,48 @@ schema:Event odrl:Constraint a rdfs:Class ; a owl:Class ; - a skos:Concept ; rdfs:label "Constraint"@en ; - rdfs:comment "The upper class of Constraints and LogicalConstraints is solely intended as a placholder at the range of IDS Properties."@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 ; - a skos:Concept ; 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 ; - a skos:Concept ; + 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 ; - a skos:Concept ; rdfs:label "Rule"@en ; rdfs:comment "Superclass of Permissions, Prohibitions and Duties."@en . odrl:Permission a rdfs:Class ; a owl:Class ; - a skos:Concept ; 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 ; - a skos:Concept ; 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 ; - a skos:Concept ; ; 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 ; - a skos:Concept ; rdfs:label "Action"@en ; rdfs:comment "A thing one might be permitted to do or prohibited from doing to something."@en . @@ -294,20 +284,17 @@ time:hasEnd odrl:leftOperand a rdf:Property ; - a skos:Concept ; rdfs:label "Has Left Operand"@en ; rdfs:comment "The left operand in a constraint expression."@en . odrl:operator a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Has Operator"@en ; rdfs:comment "The operator function applied to operands of a Constraint"@en . odrl:rightOperandReference a rdf:Property ; - a skos:Concept ; rdfs:label "Has Right Operand Reference"@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 odrl:Constraint."@en . @@ -319,70 +306,60 @@ odrl:unit odrl:and a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "And"@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 odrl:LogicalConstraint!"@en . odrl:or a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Or"@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, ids:or, or ids:xone can be used for a specific odrl:LogicalConstraint!"@en . odrl:xone a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Only One"@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 ids:xone can be used for a specific odrl:LogicalConstraint!"@en . odrl:assignee a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Assignee"@en ; rdfs:comment "The recipient of the policy statement."@en . odrl:assigner a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Assigner"@en ; rdfs:comment "The issuer of the policy statement."@en . odrl:constraint a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Has Constraint"@en; rdfs:comment "The constraint to be used for a specific rule."@en . odrl:refinement a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Refinement"@en ; 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 ; - a skos:Concept ; rdfs:label "Has Permission"@en ; rdfs:comment "A Permission granted by the Contract."@en . odrl:prohibition a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Has Prohibition"@en ; rdfs:comment "A Prohibition imposed by the Contract."@en . odrl:obligation a rdf:Property ; a owl:ObjectProperty ; - a skos:Concept ; rdfs:label "Obligation"@en ; rdfs:comment "A Duty imposed by the Contract."@en . @@ -390,7 +367,6 @@ odrl:includedIn a rdf:Property ; a owl:ObjectProperty ; a owl:TransitiveProperty ; - a skos:Concept ; rdfs:label "Included In"@en ; rdfs:comment "The subject transitively asserts the object Action."@en . From 6323200b0d39f5becf0c6395c65c2caf419b1e99 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Thu, 21 Oct 2021 15:54:47 +0200 Subject: [PATCH 160/288] Replacing defaultValue/nonbreaking property with sh:order --- testing/infrastructure/CatalogShape.ttl | 12 ++++++------ .../infrastructure/InfrastructureComponentShape.ttl | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index f81f8cba..785f60a7 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -46,8 +46,8 @@ shapes:ResourceCatalogShape a sh:PropertyShape ; sh:path ids:offeredResource ; sh:or ( - [ sh:class ids:Resource ; idsm:isNonBreaking true ; ] - [ sh:nodeKind sh:IRI ; ] + [ sh:class ids:Resource ; sh:order 1 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:offeredResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; @@ -57,8 +57,8 @@ shapes:ResourceCatalogShape a sh:PropertyShape ; sh:path ids:requestedResource ; sh:or ( - [ sh:class ids:Resource ; idsm:isNonBreaking true ; ] - [ sh:nodeKind sh:IRI ; ] + [ sh:class ids:Resource ; sh:order 1 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:requestedResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; @@ -73,8 +73,8 @@ shapes:ParticipantCatalogShape a sh:PropertyShape ; sh:path ids:member ; sh:or ( - [ sh:class ids:Participant ; idsm:isNonBreaking true ; ] - [ sh:nodeKind sh:IRI ; ] + [ sh:class ids:Participant ; sh:order 1 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ParticipantCatalog): An ids:member property must point from an ids:ParticipantCatalog to an ids:Participant."@en ; diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index 565d40c9..a93c10b4 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -41,8 +41,8 @@ shapes:InfrastructureComponentShape a sh:PropertyShape ; sh:path ids:maintainer ; sh:or ( - [ sh:class ids:Participant ; ] - [ sh:nodeKind sh:IRI ; idsm:isNonBreaking true ; ] + [ sh:class ids:Participant ; sh:order 2 ; ] + [ sh:nodeKind sh:IRI ; sh:order 1 ; ] ) ; sh:minCount 1 ; sh:maxCount 1 ; @@ -54,8 +54,8 @@ shapes:InfrastructureComponentShape a sh:PropertyShape ; sh:path ids:curator ; sh:or ( - [ sh:class ids:Participant ; ] - [ sh:nodeKind sh:IRI ; idsm:isNonBreaking true ; ] + [ sh:class ids:Participant ; sh:order 2 ; ] + [ sh:nodeKind sh:IRI ; sh:order 1 ; ] ) ; #sh:minCount 1 ; sh:maxCount 1 ; From 43f638a666b04a574baeb0dd5b57e9a57d81cf99 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 21 Oct 2021 17:38:48 +0200 Subject: [PATCH 161/288] Update helper file to include rdfs:domain and rdfs:range in properties Include rdfs:domain and rdfs:range in properties in the helper file (#490) --- utils/refactor_helper.ttl | 117 ++++++++++++++++++++++++++++++++++---- 1 file changed, 107 insertions(+), 10 deletions(-) diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index 2acc9840..0f33f8b5 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -12,8 +12,12 @@ @prefix time: . @prefix schema: . @prefix sh: . +@prefix ids: . +@prefix xsd: . +# Definition of Classes + foaf:Agent a owl:Class ; rdfs:label "Agent"@en ; @@ -141,226 +145,325 @@ dcat:Catalog 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 ids:Participant; + 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 ids:Participant; + 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 ids:Frequency ; 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: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 ids: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 @@ -368,19 +471,13 @@ odrl:includedIn 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 . -time:TemporalEntity - a owl:Class ; - rdfs:label "Temporal entity"@en ; - rdfs:comment "A temporal interval, instant or a relative duration."@en . - dct:licence 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 . - - - - - From 78da3cd140fcc5d84fe3abb601ad8208ac17adbe Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Thu, 4 Nov 2021 13:42:14 +0100 Subject: [PATCH 162/288] Include rdfs:subClassOf relations Include missing rdfs:subClassOf relations based on issue #490 --- utils/refactor_helper.ttl | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index 0f33f8b5..d0c7e471 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -20,6 +20,8 @@ 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 . @@ -56,6 +58,9 @@ dct:MediaType 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 . @@ -68,6 +73,7 @@ odrl:Asset 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 . @@ -78,11 +84,14 @@ dct:License 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 . @@ -112,24 +121,28 @@ odrl:LeftOperand 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 . From 3ab603ea8b2111810cf0877c313711bd1ebe0275 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 17 Nov 2021 11:43:14 +0100 Subject: [PATCH 163/288] include readme file and evaluation file Include readme file with documentation regarding updates in the context of the T60, and the related evaluation file. --- .gitignore | 2 ++ ...age of external classes and properties.pdf | Bin 0 -> 164193 bytes evaluation_external/README.md | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 evaluation_external/List and evaluation of every usage of external classes and properties.pdf create mode 100644 evaluation_external/README.md 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/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 0000000000000000000000000000000000000000..bb9cffa4effd63508ba120ac26805873847fb722 GIT binary patch literal 164193 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 qdh+ Date: Wed, 17 Nov 2021 17:37:44 +0100 Subject: [PATCH 164/288] update documentation about changes in the context of T60 update documentation about changes in the context of T60 --- evaluation_external/README.md | 52 +++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index f570075e..1a08d6d9 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -1,18 +1,66 @@ # T60 - Reusability through application profiles ## Introduction +In the IDS Information Model we re-used 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. +Moreover, based on the performed analysis, we understood that a better approach would be to remove those redundant definitions and directly use the external properties in our SHACL shapes instead. ## Goal +Our main goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use the external definitions from the respective existent ontologies. ## Methodology +First, we created a new branch "refactorIDSModel-enhancement" by clonating 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 not adding any additional information to the already external definition. +Possibly Redundant (pr): the internal definition of a class or property which redundancy is not clear because it adds some level of specificity. +Non-redundant (nr): the internal definition of a class or property adding 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 which is referring to. Then, for the evaluation (r, pr, nr) as aforementioned, we analyzed the internal definition, for example which other additional information was introduced by it, and we 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. Then we proceeded to the concrete implementation of changes as described in the next section. -## Previous state +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 odlr: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, and decided to remove 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 probably redundant, 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 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, were we added @prefix foaf: , and replace 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. + +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] + +For that, first we evaluated the redundant, possible redundant, and non-redundant 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) -## Implementation ## 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 infomodel has been improved. +Link: [Revised infomodel](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/refactorIDSModel-enhancement/utils/refactor_helper.ttl) ## 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) From f2c7626af1f302a8c0062b3c8ae130671a2907a6 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 17 Nov 2021 17:40:35 +0100 Subject: [PATCH 165/288] update readme file include link related to issue 413 --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 1a08d6d9..efdcb298 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -35,7 +35,7 @@ Lastly, for the third example, We decided to keep it, and therefore no changes w 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] +[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, possible redundant, and non-redundant classes and properties, based on the following issue: From a0f263ad39c026ced53700478baa1cb9d6068f90 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 17 Nov 2021 17:44:48 +0100 Subject: [PATCH 166/288] Update README.md small formatting improvement --- evaluation_external/README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index efdcb298..0124b731 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -17,20 +17,21 @@ Our approach for identifying possible redundant definitions was to search in fil Once we found these results, we listed each class and property by file, the relation (subClassOf or subPropertyOf), and the external class or property which is referring to. Then, for the evaluation (r, pr, nr) as aforementioned, we analyzed the internal definition, for example which other additional information was introduced by it, and we 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. Then we 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 odlr: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, and decided to remove the ids:Agent and replaced it by foaf:Agent +- 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 odlr: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, and decided to remove 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 probably redundant, but we decided to keep it, as it is more specific than dct:type. +- 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 probably redundant, 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 range (ids:CertificationLevel). We noticed that it is only used in codes and in validations. + +- The ids:includedCertificationLevel is defined as a subPropertyOf dct:isPartOf. It adds rdfs:label, rdfs:comment, rdfs:seeAlso, rdfs:domain (ids:CertificationLevel), and 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, were we added @prefix foaf: , and replace ids:Agent by foaf:Agent. Moreover, we removed the definition of ids:Agent in Participant.ttl. +- For the implementation of the first given example, we modified the following files in the model: Message.ttl, Resource.ttl, Connector.ttl, Participant.ttl, were we added @prefix foaf: , and replace 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. +- 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. Here we list the issues related to the evaluation and implementation of changes. From 1fd362dd2f9dcdc970dfa2fece3485cf0746df4c Mon Sep 17 00:00:00 2001 From: Christoph Lange Date: Wed, 24 Nov 2021 13:41:22 +0100 Subject: [PATCH 167/288] Explicitly mentioned CSVW --- examples/queries-using-sparql/README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 From 99b54b3d4dd8c65edae07ce2c1fbbce845b4cd5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Thu, 25 Nov 2021 13:36:52 +0100 Subject: [PATCH 168/288] Empty commit to restart CI From 2add24a505fe530dcb54fbbb865b3a237df4b876 Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 9 Dec 2021 14:51:21 +0100 Subject: [PATCH 169/288] Remove duplicates from .gitignore --- .gitignore | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.gitignore b/.gitignore index 78355670..ba625884 100644 --- a/.gitignore +++ b/.gitignore @@ -9,12 +9,4 @@ artifacts /IDSInformationModelAll.ttl /catalog-v001.xml *.project -model/content/.DS_Store -model/governance/.DS_Store -model/.DS_Store -model/.DS_Store .DS_Store -model/.DS_Store -model/.DS_Store -.DS_Store -model/.DS_Store From 1994655f528b4c5f3ca8a79e506fbe8732b6df0e Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Fri, 10 Dec 2021 15:21:16 +0100 Subject: [PATCH 170/288] Relaxing the object of ids:sovereign and ids:publisher to be either a URI or an ids:Agent. --- testing/content/ResourceShape.ttl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index 38bd3a9a..beaed630 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -69,7 +69,10 @@ shapes:ResourceShape a sh:PropertyShape ; sh:path ids:publisher ; #sh:class ids:Agent ; - sh:nodeKind sh:IRI ; + sh:or ( + [ sh:class ids:Agent ; ] + [ sh:nodeKind sh:IRI ; ] + ) ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (ResourceShape): An ids:publisher property must not have more than one point from an ids:Resource to an ids:Agent."@en ; @@ -79,7 +82,10 @@ shapes:ResourceShape a sh:PropertyShape ; sh:path ids:sovereign ; #sh:class ids:Agent ; - sh:nodeKind sh:IRI ; + sh:or ( + [ sh:class ids:Agent ; ] + [ 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 ids:Agent."@en ; From b80c7f88bba7199dd550f5bd4b50d21b19adc17c Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Mon, 13 Dec 2021 14:45:35 +0100 Subject: [PATCH 171/288] removing Action and LeftOperand hierarchies. --- codes/Action.ttl | 54 +++++++++++++++++++++---------------------- codes/LeftOperand.ttl | 18 +++++++-------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index 729c1f9f..a8f0d549 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -15,8 +15,8 @@ idsc:ANONYMIZE a ids:Action ; rdfs:comment "To anonymize all, parts or certain attributes of the resource."@en ; rdfs:label "anonymize"@en ; - skos:broader ; - odrl:includedIn idsc:USE ; + #skos:broader ; + #odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the provider side."@en ; . @@ -24,8 +24,8 @@ idsc:AGGREGATE_BY_CONSUMER a ids:Action ; rdfs:comment "Data will be part of another piece of data so that it is not distinguishable anymore."@en ; rdfs:label "aggregate by consumer"@en ; - skos:broader ; - odrl:includedIn idsc:USE ; + #skos:broader ; + #odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -33,8 +33,8 @@ idsc:AGGREGATE_BY_PROVIDER a ids:Action ; rdfs:comment "Data will be part of another piece of data so that it is not distinguishable anymore."@en ; rdfs:label "aggregate by provider"@en ; - skos:broader ; - odrl:includedIn idsc:AGGREGATE_BY_CONSUMER ; + #skos:broader ; + #odrl:includedIn idsc:AGGREGATE_BY_CONSUMER ; skos:note "This action is always evaluated at the provider side."@en ; . @@ -49,8 +49,8 @@ idsc:COMPENSATE a ids:Action; rdfs:label "compensate"@en ; rdfs:comment "To pay a certain amount of money in order to use a resource."@en ; - skos:broader ; - odrl:includedIn idsc:USE ; + #skos:broader ; + #odrl:includedIn idsc:USE ; skos:note "This action must be evaluated both at the consumer and provider side. A compensation might be required before access is granted (provider-side), or each time the usage action is performed (consumer-side)."@en ; . @@ -65,8 +65,8 @@ idsc:DELETE a ids:Action; rdfs:label "delete"@en ; rdfs:comment "To remove a resource or inhibit any further access with reasonable measures."@en ; - skos:broader ; - odrl:includedIn idsc:WRITE ; + #skos:broader ; + #odrl:includedIn idsc:WRITE ; skos:note "This action is evaluated at the consumer side if used in a duty clause. A provider cannot be forced to delete its data resources. If used in a permission clause, it is effecting the data provider as it allows the consumer to delete the provider's resource remotely."@en ; . @@ -74,8 +74,8 @@ idsc:DISTRIBUTE a ids:Action; rdfs:label "distribute"@en; rdfs:comment "To forward or supply a resource to a third-party."@en ; - skos:broader ; - odrl:includedIn idsc:USE ; + #skos:broader ; + #odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the consumer side and allows it to become a data provider of this resource."@en ; . @@ -83,8 +83,8 @@ idsc:GRANT_USE a ids:Action; rdfs:label "grant use"@en; rdfs:comment "To grant use of a resource to another party. Does *not* imply any other usage rights."@en ; - skos:broader ; - odrl:includedIn idsc:USE ; + # skos:broader ; + #odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the consumer side, at the moment a third party intends to access the resource as received by the original consumer."@en ; . @@ -105,7 +105,7 @@ idsc:ENCRYPT a ids:Action ; rdfs:comment "The data artifact or parts of it are encrypted and can not be read by neither the ids:DataConsumer nor any other third party. The encryption algorithm might be specified by a constraint."@en ; rdfs:label "encrypt"@en ; - odrl:includedIn idsc:USE ; + # odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the provider side."@en ; . @@ -113,7 +113,7 @@ idsc:LOG a ids:Action ; rdfs:comment "To log information or store information about incidents in a local file or database. Is not necessarily available to external parties but can be used to create transparency on happened events."@en ; rdfs:label "log"@en ; - odrl:includedIn idsc:USE ; + #odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -121,8 +121,8 @@ idsc:MODIFY a ids:Action ; rdfs:comment "To change a resource locally."@en ; rdfs:label "modify"@en ; - skos:broader ; - odrl:includedIn idsc:WRITE ; + #skos:broader ; + #odrl:includedIn idsc:WRITE ; skos:note "This action is always evaluated at the consumer side. It corresponds to 'allow changes of the copied resource'."@en ; . @@ -137,8 +137,8 @@ idsc:NEXT_POLICY a ids:Action ; rdfs:comment "To forward the resource under the same policy. Implies a permission to distribute."@en ; rdfs:label "next policy"@en ; - skos:broader ; - odrl:includedIn idsc:DISTRIBUTE ; + #skos:broader ; + #odrl:includedIn idsc:DISTRIBUTE ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -146,8 +146,8 @@ idsc:NOTIFY a ids:Action ; rdfs:comment "To log information or notify an instance about incidents. Can be used to define Clearing House interactions."@en ; rdfs:label "notify"@en ; - skos:broader ; - odrl:includedIn idsc:LOG ; + #skos:broader ; + #odrl:includedIn idsc:LOG ; skos:note "This action can target the consumer and the data provider of the resource."@en ; . @@ -155,8 +155,8 @@ idsc:READ a ids:Action ; rdfs:comment "To obtain data from the resource."@en ; rdfs:label "read"@en ; - skos:broader ; - odrl:includedIn idsc:MODIFY ; + #skos:broader ; + #odrl:includedIn idsc:MODIFY ; skos:note "This action is always evaluated at the provider side. It corresponds to 'give access to a resource'."@en ; . @@ -179,7 +179,7 @@ idsc:TRACK_PROVENANCE #odrl:implies ids:acceptTracking; rdfs:comment "To accept that the use of the Asset may be tracked."@en ; rdfs:label "track provenance"@en ; - odrl:includedIn idsc:NOTIFY ; + #odrl:includedIn idsc:NOTIFY ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -187,7 +187,7 @@ idsc:USE a ids:Action; rdfs:label "use"@en; rdfs:comment "To use a resource in any possible way. Includes all other actions."@en ; - skos:broader ; + #skos:broader ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -195,6 +195,6 @@ idsc:WRITE a ids:Action ; rdfs:comment "To change a remote resource."@en ; rdfs:label "write"@en ; - odrl:includedIn idsc:USE ; + #odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the provider side. It corresponds to 'allow changes of a resource' but *not* including its deletion."@en ; . diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index a6955a74..73132f26 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -21,8 +21,8 @@ idsc:PAYMENT a ids:LeftOperand; . idsc:PAY_AMOUNT a ids:LeftOperand; - skos:broader odrl:payAmount; - ids:broader idsc:PAYMENT ; + #skos:broader odrl:payAmount; + #ids:broader idsc:PAYMENT ; rdfs:label "payAmount"@en; rdfs:comment "Monetary amount to pay, usually used with idsc:EQ. Datatype is double. Currency required."@en ; . @@ -31,15 +31,15 @@ idsc:PAY_AMOUNT a ids:LeftOperand; # time # ---- idsc:POLICY_EVALUATION_TIME a ids:LeftOperand; - skos:broader odrl:dateTime; + #skos:broader odrl:dateTime; rdfs:label "policy evaluation time"@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 ids:TemporalEntity."@en ; . idsc:ELAPSED_TIME a ids:LeftOperand ; -skos:broader odrl:elapsedTime; -rdfs:label "elapsed time"@en ; -rdfs:comment "A continuous elapsed time period which may be used for exercising of the action of the Rule. Allowed operators are idsc:SHORTER, idsc:SHORTER_EQ, idsc:LONGER, idsc:LONGER_EQ, and idsc:DURATION_EQ with datatype xsd:duration."@en ; + #skos:broader odrl:elapsedTime; + rdfs:label "elapsed time"@en ; + rdfs:comment "A continuous elapsed time period which may be used for exercising of the action of the Rule. Allowed operators are idsc:SHORTER, idsc:SHORTER_EQ, idsc:LONGER, idsc:LONGER_EQ, and idsc:DURATION_EQ with datatype xsd:duration."@en ; . idsc:DELAY a ids:LeftOperand ; @@ -90,7 +90,7 @@ idsc:REPLACE_WITH a ids:LeftOperand; # space # ----- idsc:ABSOLUTE_SPATIAL_POSITION a ids:LeftOperand ; - skos:broader odrl:absoluteSpatialPosition ; + #skos:broader odrl:absoluteSpatialPosition ; rdfs:label "Absolute geo-spatial position"@en ; rdfs:comment "The current geospatial position of the *consuming connector*. In case the connector only appears as a virtual entity, the physical location of the hosting server is referenced. Allowed operators are idsc:in. No other spatial operators (close to, north of, etc.) are currently allowed."@en ; . @@ -119,7 +119,7 @@ idsc:RECIPIENT a ids:LeftOperand ; # idsc:PURPOSE a ids:LeftOperand; - skos:broader odrl:purpose; + #skos:broader odrl:purpose; rdfs:label "purpose"@en ; rdfs:comment "A defined purpose for exercising the action of the Rule. Use with idsc:IN or idsc:SAME_AS and RDF Resources."@en ; . @@ -139,7 +139,7 @@ idsc:ARTIFACT_STATE a ids:LeftOperand; # numeric # ------- idsc:COUNT a ids:LeftOperand; - skos:broader odrl:count; + #skos:broader odrl:count; rdfs:label "count"@en ; rdfs:comment "Numeric count of executions of the Rule. Operators can be idsc:LT, idsc:LTEQ, idsc:EQ, idsc:GT, idsc:GTEQ. Datatype is xsd:double."@en ; . From 37a724da6e1f10a4f6e95e54742b5b9c734bcc1a Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Mon, 13 Dec 2021 15:58:48 +0100 Subject: [PATCH 172/288] Removing all attributes from Action and LeftOperand to reach a state that can create DefaultEnums. --- model/contract/Action.ttl | 48 +++++++++++++++++----------------- model/contract/LeftOperand.ttl | 18 ++++++------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index 6c241f8d..9ca04fbc 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -19,28 +19,28 @@ ids:Action rdfs:subClassOf odrl:Action; # Properties # ---------- -ids:actionRefinement - a owl:ObjectProperty; +#ids:actionRefinement +# a owl:ObjectProperty; # rdfs:subPropertyOf odrl:refinement ; - rdfs:label "action refinement"@en; - rdfs:domain ids:Action; - rdfs:range ids:Constraint; - rdfs:comment "Constraint that refines an Action."@en ; -. - -ids:includedIn - a owl:ObjectProperty; - rdfs:subPropertyOf odrl:includedIn ; - rdfs:label "is included in"@en; - rdfs:domain ids:Action; - rdfs:range ids:Action; - rdfs:comment "The subject transitively asserts the object Action."@en ; -. - -ids:pxpEndpoint - a owl:ObjectProperty; - rdfs:label "has PXP endpoint"@en; - rdfs:domain ids:Action; - rdfs:range ids:PXP ; - rdfs:comment "The reference to the PXP which operates a specific action, URI or reference to an associated PXP interface."@en; -. +# rdfs:label "action refinement"@en; +# rdfs:domain ids:Action; +# rdfs:range ids:Constraint; +# rdfs:comment "Constraint that refines an Action."@en ; +#. + +#ids:includedIn +# a owl:ObjectProperty; +# rdfs:subPropertyOf odrl:includedIn ; +# rdfs:label "is included in"@en; +# rdfs:domain ids:Action; +# rdfs:range ids:Action; +# rdfs:comment "The subject transitively asserts the object Action."@en ; +#. + +#ids:pxpEndpoint +# a owl:ObjectProperty; +# rdfs:label "has PXP endpoint"@en; +# rdfs:domain ids:Action; +# rdfs:range ids:PXP ; +# rdfs:comment "The reference to the PXP which operates a specific action, URI or reference to an associated PXP interface."@en; +#. diff --git a/model/contract/LeftOperand.ttl b/model/contract/LeftOperand.ttl index b71d1030..e32a80de 100644 --- a/model/contract/LeftOperand.ttl +++ b/model/contract/LeftOperand.ttl @@ -18,12 +18,12 @@ ids:LeftOperand rdfs:subClassOf odrl:LeftOperand; # Properties # ---------- -ids:broader - a owl:ObjectProperty; - skos:broader odrl:includedIn ; - rdfs:seeAlso ; - rdfs:label "broader LeftOperand"@en; - rdfs:domain ids:LeftOperand; - rdfs:range ids:LeftOperand; - rdfs:comment "This LeftOperand is transitively included in the object LeftOperand."@en ; -. +#ids:broader +# a owl:ObjectProperty; +# skos:broader odrl:includedIn ; +# rdfs:seeAlso ; +# rdfs:label "broader LeftOperand"@en; +# rdfs:domain ids:LeftOperand; +# rdfs:range ids:LeftOperand; +# rdfs:comment "This LeftOperand is transitively included in the object LeftOperand."@en ; +#. From 4227b22d49f6f2075ee11d42aa985af58faac23f Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Mon, 13 Dec 2021 16:16:46 +0100 Subject: [PATCH 173/288] Removing all attributes from CertificationLevel to reach a state that can create DefaultEnums. --- model/governance/Certification.ttl | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/model/governance/Certification.ttl b/model/governance/Certification.ttl index d8d4034a..d1c1a200 100644 --- a/model/governance/Certification.ttl +++ b/model/governance/Certification.ttl @@ -30,14 +30,14 @@ ids:CertificationLevel # Properties # ---------- -ids:includedCertificationLevel - a owl:ObjectProperty; - rdfs:subPropertyOf dct:isPartOf ; - rdfs:seeAlso ; - rdfs:label "included certification level"@en; - rdfs:domain ids:CertificationLevel; - rdfs:range ids:CertificationLevel; - rdfs:comment "Certification Level transitively implied by given Certification Level of same root type."@en. +#ids:includedCertificationLevel +# a owl:ObjectProperty; +# rdfs:subPropertyOf dct:isPartOf ; +# rdfs:seeAlso ; +# rdfs:label "included certification level"@en; +# rdfs:domain ids:CertificationLevel; +# rdfs:range ids:CertificationLevel; +# rdfs:comment "Certification Level transitively implied by given Certification Level of same root type."@en. ids:certificationLevel a owl:ObjectProperty; @@ -58,4 +58,3 @@ ids:evaluationFacility a owl:ObjectProperty; rdfs:domain ids:Certification; rdfs:range ids:EvaluationFacility; rdfs:comment "Evaluation Facility that performed and issued given Certification"@en. - From 06f60e9c242d705337855c2e037eaf6a48faabbb Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Mon, 13 Dec 2021 17:15:32 +0100 Subject: [PATCH 174/288] Revert "Removing all attributes from CertificationLevel to reach a state that can create DefaultEnums." This reverts commit 4227b22d49f6f2075ee11d42aa985af58faac23f. --- model/governance/Certification.ttl | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/model/governance/Certification.ttl b/model/governance/Certification.ttl index d1c1a200..d8d4034a 100644 --- a/model/governance/Certification.ttl +++ b/model/governance/Certification.ttl @@ -30,14 +30,14 @@ ids:CertificationLevel # Properties # ---------- -#ids:includedCertificationLevel -# a owl:ObjectProperty; -# rdfs:subPropertyOf dct:isPartOf ; -# rdfs:seeAlso ; -# rdfs:label "included certification level"@en; -# rdfs:domain ids:CertificationLevel; -# rdfs:range ids:CertificationLevel; -# rdfs:comment "Certification Level transitively implied by given Certification Level of same root type."@en. +ids:includedCertificationLevel + a owl:ObjectProperty; + rdfs:subPropertyOf dct:isPartOf ; + rdfs:seeAlso ; + rdfs:label "included certification level"@en; + rdfs:domain ids:CertificationLevel; + rdfs:range ids:CertificationLevel; + rdfs:comment "Certification Level transitively implied by given Certification Level of same root type."@en. ids:certificationLevel a owl:ObjectProperty; @@ -58,3 +58,4 @@ ids:evaluationFacility a owl:ObjectProperty; rdfs:domain ids:Certification; rdfs:range ids:EvaluationFacility; rdfs:comment "Evaluation Facility that performed and issued given Certification"@en. + From c07997e0db02ac299e5c011c136c1ff85d90a994 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Mon, 13 Dec 2021 17:15:48 +0100 Subject: [PATCH 175/288] Revert "Removing all attributes from Action and LeftOperand to reach a state that can create DefaultEnums." This reverts commit 37a724da6e1f10a4f6e95e54742b5b9c734bcc1a. --- model/contract/Action.ttl | 48 +++++++++++++++++----------------- model/contract/LeftOperand.ttl | 18 ++++++------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/model/contract/Action.ttl b/model/contract/Action.ttl index 9ca04fbc..6c241f8d 100644 --- a/model/contract/Action.ttl +++ b/model/contract/Action.ttl @@ -19,28 +19,28 @@ ids:Action rdfs:subClassOf odrl:Action; # Properties # ---------- -#ids:actionRefinement -# a owl:ObjectProperty; +ids:actionRefinement + a owl:ObjectProperty; # rdfs:subPropertyOf odrl:refinement ; -# rdfs:label "action refinement"@en; -# rdfs:domain ids:Action; -# rdfs:range ids:Constraint; -# rdfs:comment "Constraint that refines an Action."@en ; -#. - -#ids:includedIn -# a owl:ObjectProperty; -# rdfs:subPropertyOf odrl:includedIn ; -# rdfs:label "is included in"@en; -# rdfs:domain ids:Action; -# rdfs:range ids:Action; -# rdfs:comment "The subject transitively asserts the object Action."@en ; -#. - -#ids:pxpEndpoint -# a owl:ObjectProperty; -# rdfs:label "has PXP endpoint"@en; -# rdfs:domain ids:Action; -# rdfs:range ids:PXP ; -# rdfs:comment "The reference to the PXP which operates a specific action, URI or reference to an associated PXP interface."@en; -#. + rdfs:label "action refinement"@en; + rdfs:domain ids:Action; + rdfs:range ids:Constraint; + rdfs:comment "Constraint that refines an Action."@en ; +. + +ids:includedIn + a owl:ObjectProperty; + rdfs:subPropertyOf odrl:includedIn ; + rdfs:label "is included in"@en; + rdfs:domain ids:Action; + rdfs:range ids:Action; + rdfs:comment "The subject transitively asserts the object Action."@en ; +. + +ids:pxpEndpoint + a owl:ObjectProperty; + rdfs:label "has PXP endpoint"@en; + rdfs:domain ids:Action; + rdfs:range ids:PXP ; + rdfs:comment "The reference to the PXP which operates a specific action, URI or reference to an associated PXP interface."@en; +. diff --git a/model/contract/LeftOperand.ttl b/model/contract/LeftOperand.ttl index e32a80de..b71d1030 100644 --- a/model/contract/LeftOperand.ttl +++ b/model/contract/LeftOperand.ttl @@ -18,12 +18,12 @@ ids:LeftOperand rdfs:subClassOf odrl:LeftOperand; # Properties # ---------- -#ids:broader -# a owl:ObjectProperty; -# skos:broader odrl:includedIn ; -# rdfs:seeAlso ; -# rdfs:label "broader LeftOperand"@en; -# rdfs:domain ids:LeftOperand; -# rdfs:range ids:LeftOperand; -# rdfs:comment "This LeftOperand is transitively included in the object LeftOperand."@en ; -#. +ids:broader + a owl:ObjectProperty; + skos:broader odrl:includedIn ; + rdfs:seeAlso ; + rdfs:label "broader LeftOperand"@en; + rdfs:domain ids:LeftOperand; + rdfs:range ids:LeftOperand; + rdfs:comment "This LeftOperand is transitively included in the object LeftOperand."@en ; +. From cd36e80d81f1ea9fa032906653362215e238f4b8 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Mon, 13 Dec 2021 17:16:08 +0100 Subject: [PATCH 176/288] Revert "removing Action and LeftOperand hierarchies." This reverts commit b80c7f88bba7199dd550f5bd4b50d21b19adc17c. --- codes/Action.ttl | 54 +++++++++++++++++++++---------------------- codes/LeftOperand.ttl | 18 +++++++-------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index a8f0d549..729c1f9f 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -15,8 +15,8 @@ idsc:ANONYMIZE a ids:Action ; rdfs:comment "To anonymize all, parts or certain attributes of the resource."@en ; rdfs:label "anonymize"@en ; - #skos:broader ; - #odrl:includedIn idsc:USE ; + skos:broader ; + odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the provider side."@en ; . @@ -24,8 +24,8 @@ idsc:AGGREGATE_BY_CONSUMER a ids:Action ; rdfs:comment "Data will be part of another piece of data so that it is not distinguishable anymore."@en ; rdfs:label "aggregate by consumer"@en ; - #skos:broader ; - #odrl:includedIn idsc:USE ; + skos:broader ; + odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -33,8 +33,8 @@ idsc:AGGREGATE_BY_PROVIDER a ids:Action ; rdfs:comment "Data will be part of another piece of data so that it is not distinguishable anymore."@en ; rdfs:label "aggregate by provider"@en ; - #skos:broader ; - #odrl:includedIn idsc:AGGREGATE_BY_CONSUMER ; + skos:broader ; + odrl:includedIn idsc:AGGREGATE_BY_CONSUMER ; skos:note "This action is always evaluated at the provider side."@en ; . @@ -49,8 +49,8 @@ idsc:COMPENSATE a ids:Action; rdfs:label "compensate"@en ; rdfs:comment "To pay a certain amount of money in order to use a resource."@en ; - #skos:broader ; - #odrl:includedIn idsc:USE ; + skos:broader ; + odrl:includedIn idsc:USE ; skos:note "This action must be evaluated both at the consumer and provider side. A compensation might be required before access is granted (provider-side), or each time the usage action is performed (consumer-side)."@en ; . @@ -65,8 +65,8 @@ idsc:DELETE a ids:Action; rdfs:label "delete"@en ; rdfs:comment "To remove a resource or inhibit any further access with reasonable measures."@en ; - #skos:broader ; - #odrl:includedIn idsc:WRITE ; + skos:broader ; + odrl:includedIn idsc:WRITE ; skos:note "This action is evaluated at the consumer side if used in a duty clause. A provider cannot be forced to delete its data resources. If used in a permission clause, it is effecting the data provider as it allows the consumer to delete the provider's resource remotely."@en ; . @@ -74,8 +74,8 @@ idsc:DISTRIBUTE a ids:Action; rdfs:label "distribute"@en; rdfs:comment "To forward or supply a resource to a third-party."@en ; - #skos:broader ; - #odrl:includedIn idsc:USE ; + skos:broader ; + odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the consumer side and allows it to become a data provider of this resource."@en ; . @@ -83,8 +83,8 @@ idsc:GRANT_USE a ids:Action; rdfs:label "grant use"@en; rdfs:comment "To grant use of a resource to another party. Does *not* imply any other usage rights."@en ; - # skos:broader ; - #odrl:includedIn idsc:USE ; + skos:broader ; + odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the consumer side, at the moment a third party intends to access the resource as received by the original consumer."@en ; . @@ -105,7 +105,7 @@ idsc:ENCRYPT a ids:Action ; rdfs:comment "The data artifact or parts of it are encrypted and can not be read by neither the ids:DataConsumer nor any other third party. The encryption algorithm might be specified by a constraint."@en ; rdfs:label "encrypt"@en ; - # odrl:includedIn idsc:USE ; + odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the provider side."@en ; . @@ -113,7 +113,7 @@ idsc:LOG a ids:Action ; rdfs:comment "To log information or store information about incidents in a local file or database. Is not necessarily available to external parties but can be used to create transparency on happened events."@en ; rdfs:label "log"@en ; - #odrl:includedIn idsc:USE ; + odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -121,8 +121,8 @@ idsc:MODIFY a ids:Action ; rdfs:comment "To change a resource locally."@en ; rdfs:label "modify"@en ; - #skos:broader ; - #odrl:includedIn idsc:WRITE ; + skos:broader ; + odrl:includedIn idsc:WRITE ; skos:note "This action is always evaluated at the consumer side. It corresponds to 'allow changes of the copied resource'."@en ; . @@ -137,8 +137,8 @@ idsc:NEXT_POLICY a ids:Action ; rdfs:comment "To forward the resource under the same policy. Implies a permission to distribute."@en ; rdfs:label "next policy"@en ; - #skos:broader ; - #odrl:includedIn idsc:DISTRIBUTE ; + skos:broader ; + odrl:includedIn idsc:DISTRIBUTE ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -146,8 +146,8 @@ idsc:NOTIFY a ids:Action ; rdfs:comment "To log information or notify an instance about incidents. Can be used to define Clearing House interactions."@en ; rdfs:label "notify"@en ; - #skos:broader ; - #odrl:includedIn idsc:LOG ; + skos:broader ; + odrl:includedIn idsc:LOG ; skos:note "This action can target the consumer and the data provider of the resource."@en ; . @@ -155,8 +155,8 @@ idsc:READ a ids:Action ; rdfs:comment "To obtain data from the resource."@en ; rdfs:label "read"@en ; - #skos:broader ; - #odrl:includedIn idsc:MODIFY ; + skos:broader ; + odrl:includedIn idsc:MODIFY ; skos:note "This action is always evaluated at the provider side. It corresponds to 'give access to a resource'."@en ; . @@ -179,7 +179,7 @@ idsc:TRACK_PROVENANCE #odrl:implies ids:acceptTracking; rdfs:comment "To accept that the use of the Asset may be tracked."@en ; rdfs:label "track provenance"@en ; - #odrl:includedIn idsc:NOTIFY ; + odrl:includedIn idsc:NOTIFY ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -187,7 +187,7 @@ idsc:USE a ids:Action; rdfs:label "use"@en; rdfs:comment "To use a resource in any possible way. Includes all other actions."@en ; - #skos:broader ; + skos:broader ; skos:note "This action is always evaluated at the consumer side."@en ; . @@ -195,6 +195,6 @@ idsc:WRITE a ids:Action ; rdfs:comment "To change a remote resource."@en ; rdfs:label "write"@en ; - #odrl:includedIn idsc:USE ; + odrl:includedIn idsc:USE ; skos:note "This action is always evaluated at the provider side. It corresponds to 'allow changes of a resource' but *not* including its deletion."@en ; . diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 73132f26..a6955a74 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -21,8 +21,8 @@ idsc:PAYMENT a ids:LeftOperand; . idsc:PAY_AMOUNT a ids:LeftOperand; - #skos:broader odrl:payAmount; - #ids:broader idsc:PAYMENT ; + skos:broader odrl:payAmount; + ids:broader idsc:PAYMENT ; rdfs:label "payAmount"@en; rdfs:comment "Monetary amount to pay, usually used with idsc:EQ. Datatype is double. Currency required."@en ; . @@ -31,15 +31,15 @@ idsc:PAY_AMOUNT a ids:LeftOperand; # time # ---- idsc:POLICY_EVALUATION_TIME a ids:LeftOperand; - #skos:broader odrl:dateTime; + skos:broader odrl:dateTime; rdfs:label "policy evaluation time"@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 ids:TemporalEntity."@en ; . idsc:ELAPSED_TIME a ids:LeftOperand ; - #skos:broader odrl:elapsedTime; - rdfs:label "elapsed time"@en ; - rdfs:comment "A continuous elapsed time period which may be used for exercising of the action of the Rule. Allowed operators are idsc:SHORTER, idsc:SHORTER_EQ, idsc:LONGER, idsc:LONGER_EQ, and idsc:DURATION_EQ with datatype xsd:duration."@en ; +skos:broader odrl:elapsedTime; +rdfs:label "elapsed time"@en ; +rdfs:comment "A continuous elapsed time period which may be used for exercising of the action of the Rule. Allowed operators are idsc:SHORTER, idsc:SHORTER_EQ, idsc:LONGER, idsc:LONGER_EQ, and idsc:DURATION_EQ with datatype xsd:duration."@en ; . idsc:DELAY a ids:LeftOperand ; @@ -90,7 +90,7 @@ idsc:REPLACE_WITH a ids:LeftOperand; # space # ----- idsc:ABSOLUTE_SPATIAL_POSITION a ids:LeftOperand ; - #skos:broader odrl:absoluteSpatialPosition ; + skos:broader odrl:absoluteSpatialPosition ; rdfs:label "Absolute geo-spatial position"@en ; rdfs:comment "The current geospatial position of the *consuming connector*. In case the connector only appears as a virtual entity, the physical location of the hosting server is referenced. Allowed operators are idsc:in. No other spatial operators (close to, north of, etc.) are currently allowed."@en ; . @@ -119,7 +119,7 @@ idsc:RECIPIENT a ids:LeftOperand ; # idsc:PURPOSE a ids:LeftOperand; - #skos:broader odrl:purpose; + skos:broader odrl:purpose; rdfs:label "purpose"@en ; rdfs:comment "A defined purpose for exercising the action of the Rule. Use with idsc:IN or idsc:SAME_AS and RDF Resources."@en ; . @@ -139,7 +139,7 @@ idsc:ARTIFACT_STATE a ids:LeftOperand; # numeric # ------- idsc:COUNT a ids:LeftOperand; - #skos:broader odrl:count; + skos:broader odrl:count; rdfs:label "count"@en ; rdfs:comment "Numeric count of executions of the Rule. Operators can be idsc:LT, idsc:LTEQ, idsc:EQ, idsc:GT, idsc:GTEQ. Datatype is xsd:double."@en ; . From 2eb5dfb3f7dda38826fb88c2a8738b55d02f8d6e Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Mon, 13 Dec 2021 22:20:38 +0100 Subject: [PATCH 177/288] relaxed resource cannot have sh:minCount for now. --- testing/infrastructure/InfrastructureComponentShape.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index 02d852e0..cf7c48b8 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -31,7 +31,7 @@ shapes:InfrastructureComponentShape [ sh:class ids:Participant ; sh:order 2 ; ] [ sh:nodeKind sh:IRI ; sh:order 1 ; ] ) ; - sh:minCount 1 ; + #sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:maintainer property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; From 4536d3a05875a4b2f428112069c60b9ec3232213 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Wed, 12 Jan 2022 11:07:34 +0100 Subject: [PATCH 178/288] Adding a default information for Resource.sovereign and Resource.publisher --- testing/content/ResourceShape.ttl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index beaed630..cf674054 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -70,8 +70,8 @@ shapes:ResourceShape sh:path ids:publisher ; #sh:class ids:Agent ; sh:or ( - [ sh:class ids:Agent ; ] - [ sh:nodeKind sh:IRI ; ] + [ sh:class ids:Agent ; sh:order 1 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -83,8 +83,8 @@ shapes:ResourceShape sh:path ids:sovereign ; #sh:class ids:Agent ; sh:or ( - [ sh:class ids:Agent ; ] - [ sh:nodeKind sh:IRI ; ] + [ sh:class ids:Agent ; sh:order 1 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:maxCount 1 ; sh:severity sh:Violation ; From 409f72c67af26b411ece55c395598dc5bd56cb37 Mon Sep 17 00:00:00 2001 From: Martin van der Werff Date: Thu, 20 Jan 2022 15:37:02 +0100 Subject: [PATCH 179/288] Fix typo (#519) * Fix typo The space before @en breaks loading the file with python RDFLib * Fix typo The space before @en breaks loading the file with python RDFLib --- codes/Frequency.ttl | 26 +++++++++++++------------- model/content/DataApp.ttl | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/codes/Frequency.ttl b/codes/Frequency.ttl index c4c1a7fe..b3ec1aa2 100644 --- a/codes/Frequency.ttl +++ b/codes/Frequency.ttl @@ -162,7 +162,7 @@ idsc:THREE_TIMES_A_WEEK a ids:Frequency; idsc:DAILY a ids:Frequency; a skos:Concept ; rdfs:label "Daily"@en ; - skos:prefLabel "Daily" @en ; + skos:prefLabel "Daily"@en ; rdfs:comment "The event occurs once a day."@en ; owl:sameAs ; rdfs:isDefinedBy ; @@ -172,55 +172,55 @@ idsc:DAILY a ids:Frequency; 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 ; + 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 ; + 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: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 ; + 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: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: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: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: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:label "Every 1 minutes"@en ; rdfs:comment "The event occurs every 1 minute."@en ; . 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. From 6cae36880102c76cac88893bd0d782b1dda01032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Fri, 28 Jan 2022 09:42:08 +0100 Subject: [PATCH 180/288] Rename ParISSHape.ttl to ParISShape.ttl (#535) --- testing/infrastructure/{ParISSHape.ttl => ParISShape.ttl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename testing/infrastructure/{ParISSHape.ttl => ParISShape.ttl} (100%) diff --git a/testing/infrastructure/ParISSHape.ttl b/testing/infrastructure/ParISShape.ttl similarity index 100% rename from testing/infrastructure/ParISSHape.ttl rename to testing/infrastructure/ParISShape.ttl From 4579b542d79e7c460375724dab464454403d05e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haydar=20Aky=C3=BCrek?= Date: Fri, 28 Jan 2022 09:42:32 +0100 Subject: [PATCH 181/288] Update Frequency.ttl (#536) add idsc:once Closes #489 --- codes/Frequency.ttl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/codes/Frequency.ttl b/codes/Frequency.ttl index b3ec1aa2..8137faa6 100644 --- a/codes/Frequency.ttl +++ b/codes/Frequency.ttl @@ -224,6 +224,12 @@ idsc:EVERY_1_MINUTE a ids:Frequency; 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 ; From fd28a11ab8b7c74f349e254ecc8bef974e8ab9a5 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 16:01:36 +0100 Subject: [PATCH 182/288] Update README.md adding statistics regarding changes --- evaluation_external/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 0124b731..02a51a2f 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -8,7 +8,7 @@ Moreover, based on the performed analysis, we understood that a better approach Our main goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use the external definitions from the respective existent ontologies. ## Methodology -First, we created a new branch "refactorIDSModel-enhancement" by clonating the "develop" branch. +First, we created a new branch >"refactorIDSModel-enhancement" by clonating 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 not adding any additional information to the already external definition. Possibly Redundant (pr): the internal definition of a class or property which redundancy is not clear because it adds some level of specificity. @@ -60,6 +60,12 @@ Link: [Revised infomodel](https://github.com/International-Data-Spaces-Associati - 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/refactorIDSModel-enhancement/utils/refactor_helper.ttl) +- 103 definitions were evaluated, from which 36 were Classes and 67 were Properties. +- We detected 56 probably redundant (pr) cases, 41 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 probably 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 probably redundant (pr) cases. +- 1 case is pending, and corresponds to the property >"ids:rightOperand" + ## 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) From 23b651e16a7286303299a7603b7e40497de6fd38 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 16:22:34 +0100 Subject: [PATCH 183/288] add documentation of extended shapes add documentation of updates of extended SHACL shapes --- ...formation of updates - ExtendSHACLshapes.pdf | Bin 0 -> 58897 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 evaluation_external/Detailed information of updates - ExtendSHACLshapes.pdf 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 0000000000000000000000000000000000000000..99ef652efa68d2730753f610f0d6121545fafb80 GIT binary patch literal 58897 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 k&$sAL= Date: Mon, 31 Jan 2022 16:24:12 +0100 Subject: [PATCH 184/288] Update README.md add link to new document --- evaluation_external/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 02a51a2f..4dbf85b6 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -69,5 +69,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc ## 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) + From 27ef764c5619aac3d43231da23de6f6bf500c2c3 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 16:24:41 +0100 Subject: [PATCH 185/288] Update README.md --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 4dbf85b6..9377ad2c 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -69,7 +69,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc ## 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) +[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) From 99947a8393f066f1b760c463a0cee6e878578e69 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 17:17:08 +0100 Subject: [PATCH 186/288] add image add statistics --- evaluation_external/README.md | 8 ++++++-- evaluation_external/statistics.png | Bin 0 -> 70837 bytes 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 evaluation_external/statistics.png diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 9377ad2c..821acc61 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -8,7 +8,7 @@ Moreover, based on the performed analysis, we understood that a better approach Our main goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use the external definitions from the respective existent ontologies. ## Methodology -First, we created a new branch >"refactorIDSModel-enhancement" by clonating the "develop" branch. +First, we created a new branch "refactorIDSModel-enhancement" by clonating 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 not adding any additional information to the already external definition. Possibly Redundant (pr): the internal definition of a class or property which redundancy is not clear because it adds some level of specificity. @@ -61,11 +61,15 @@ Link: [Revised infomodel](https://github.com/International-Data-Spaces-Associati Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Association/InformationModel/blob/refactorIDSModel-enhancement/utils/refactor_helper.ttl) - 103 definitions were evaluated, from which 36 were Classes and 67 were Properties. -- We detected 56 probably redundant (pr) cases, 41 redundant (r) cases, and 6 non redundant (nr) cases. +- 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 probably 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 probably redundant (pr) cases. - 1 case is pending, and corresponds to the property >"ids:rightOperand" +We summarize the results of our evaluations as follows: + + + ## 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) diff --git a/evaluation_external/statistics.png b/evaluation_external/statistics.png new file mode 100644 index 0000000000000000000000000000000000000000..93ecb9e8e1cfa90f68fb6290d9bf9c8274d54e7d GIT binary patch literal 70837 zcmeFZXIN8P*ER|ws32mYC`hpYB2^(Ey(l16dZY$XTBu455UOIKsYne~I)TtT1Q4Z% z9s&diiiA#p5K3q#Ja5_V@7dpV{+@GP&yR#jR-1FIIqz|gdyKW->*=a9(zDZ3QBg5! zJbq+AMMWz{MMcALmX7j^-)Ma?VLM8js+R5qmeBe)ymIkvipQ)~?Myd}#o37FpAG#Qd{gyw z!Ku&>cX-Y&LFV7vJ&{c6TI1^bd3raBd(yf4#Wrjz<#)P3Pu%#6$7gwhsZRa-ml7Rq ze7|+loy-5Q?PULpXD_z=j`+tzsZJ%a@B}A~KYZAFQHhHB^uK)tQ}N;c;pdZGJBz5O zdwaRq>BIl2Q>_f|_Es-ONN11_X0M?zQ(O-fJ5{SYnGB*6QtcrhKGGOK7-5wewr5 zQxW>sl&$z4(PoL~9nk7XVpmQTLOl?O-mw7i3qg z!J|d%j`^D18oB>wk&nV5UvHfex9^j{Sa?J&PBr*ktUMt0D>kKP>!!-sMFB>|C_SpH zJ3iVEb0l;NDN%*|5E;nPVjIpdqwg1z+?RhfR~L|es?AeKVtaAi%z61 zAZUM8O5AJ7NZh(5*m|_maX50Bx@)F2tW77L43rmpl@p_QGzNe{jPI;3mo&5EHqJIz z7}xIi+Q|p(x_flqczaq{ERej&?}|^2s}4R@zfWjx9(S%lg}T1jN_+jcNoZ811g5Icfk~=Ce;cbA6l(*5gsNHXZC7ID zE-GbMC;_gb?On<=P@QZ!LEQ$h@U?2J>krl_5@jR%=`EP+SZSty4?WQ5B3kdZ_xnFj z-SaNE=G(74r`V=3@L)r|qJzsnQ2|P3u8>*g30C5z&sXd*7?N2oGVES@?*$kD z3M{tJFbUaujjB>6+MNt#a(fJS^VOYB#NU=%$SZ0$Dq=W?>m5*!xN(*mW5tlBU{bx; zGF@1RgVIGH&T9|_INK2+igdUjzcsMnoO?+r;{)vw*wAUFcvx2!l@hSorTo#R^W%-y zJ3m>3hnN%(KKh9)jFn|AjuyjAJx~BtUV0!Hxxdz6&AjztEoPN6Tre&2a2s1VMO}C6 zZwMi9s*frc{J1X}(9862#+K=lh>BYJrgEG`R;zU$dvsfckyf5ksZlN)cCE`%e%(?Q3FlbglW6L+PG z-)F@r$Xuloa?6Egv0GDa?9=koBTF_3mfkNF1~NuTpS^?xg#Umww7|@HYqcB>5xJjy^YSgT! zL7Raq=wM@HPUsO;2(P+zoUzG0Fhp79Z z)JvK7T&bxr6OTb&0Rd}x|9$Yt9U|7PIf*oC-cP}ZOzSJy%!hC3q+G%E4Zl7JvZI}` zFFQD+)It%x*@0ctzO#%(G!R4!00CY#CNH>_{a`I<*!vy(M4PhU!$K@2tRuRsh<&m! z3Ti5PHB`P?QnCKs`AH3zIhdu+0gx>MmRJoK`L0%BF04${xTVLdcJ;6dJ+yb@5uX=AqueyF-Kj71Q@`Hbwp*-2M3J`J(ZJNsVrp#ufK0-2E4rF z{k8scpdbOc?`mCW_KS>I2#H7@5Y;qr_Z=&JX1BZkv$eCAf~4n@zb_{O+@>cTlqyY% z&4jx}Sh3YKbmzrr&RmeV!l!+i)uLeiM!+nf-y`nOktH@T1vQ?|q*yOMaGMy3*0~v+h8puDv@gn_L zhT2Wez}=s=-gU%uMit&sAC&KMaZL*L?cRj7wM|8Wm0v*-Wh8w;_NiVbHirx6{SALk z>h7h!>J}I@4s+yqDhRi1sP^FCkf0xhY>(Ubtf10%JSZ5|yi&i6(E1IXivz}we==*r z7MHcN+xkqtRJUnZIL|?~75~H*=tlwc?v*H*kK(pkUmZ8Lx4D-+N!+lTI~FL7IS&OGCLNngXs7gGJ#>TD^~`>m8ehqI{pvo|cS z=3-pA(?{>U5A37Zs}EM<7Q%QMzv<2y>z;1LIt4uN9iy_J-gLKwHd`#dyA^$>_DHy9 z(qJ@OBli2wZJ}7k-nj7@^&}TN!o(Yow3XHTURyHa&0coXlE*5=47P@Ox?Xs;)Wsh4 z^vt`Ti|?6NQ_$rMjtz(On)G!2Xlu5~smR&UudpxVGCX;|F1$nj2<*f#KN_Js7VJ5G ze26=aTWp-)KR>v)ovGvAyE^k~(E0N4Yav(!ld8X5+;>CXZ z)|yYvl(*JYYG^w0KGrPey^C=mj$FO1pH!^6WXXloRX)c%b#^&i5;?guJv#aLi(tw# z*d&Bl2H@y%MllgKcaJVSm_^o}~*mFf2#-^RKr zx=ov11StlT@RWt>{`AMdPd!KMCHo9%@aL=n8TfUQe@|IKIxEVDI=F*U*p0TK7i5D? zE_QmyJ!}@odB4E}Z|hZ$+rf-|gUHCYUEWWA_I9ux4A!-hAk5zf-ChmrNO_6)xMUF` z1CQT)KJ}8`takH`ME`|AlU$GIW}9>RpJqQ-a|<`%lbyPa_;3oAMB@vXhj-@kY!NOJ z{iD5@yR@;z0*k0NmaU;3^;Ujd;4t2)figw<&2vAT78?$onC3ieY8m~o6&PLVLTV`< znY~)S(6Hji6YDM1=3-eQ;}fnCqK=VCws$&s3x|M6@)cF~O_1Hq(KeX5TN4`QRy#AK zCF+GQRx02!SZIxOOZ)%tgsk99dX0x8rhcd_nt1!5msKK?4PJw|(~l4Ar|my9YcNu^%8VHh-l)j(KagKiqY;F_pmlMAiWSaJj zrj|FTJJ&_!} zayjxsmezQ-CI-6kgDnaw_S{*xQ*|PyI0?M+u>3P|z()n@5}#Z-)y1D~v1C^i^Cwo& zo=&0GcF78UETF-;=%kl;d@!%5M)PgVEVLChK;hMzU3N+4K&ff=U_Q8pGCl3pSqd|g(b|H)6Oo6{?oSPX)+zG91z+InNOXcsve`I&zL}3 zMp!n@_}%y9gokpJtEkLO`xA6}ha=Uwp%Rx$J&K?9?pTEdFWk`c%DJNZ;MpgiVq(~; zthgvQttjAKqUhocpjmmSE0sqY>%TfJeDZz{tZ`J_FUKfKZ3@1uM-M8_B;kaadYl(pmx29&zx}y zt@$P1dZE^p%k=gpIvf-D=vJLCYO+;Oza$&CU6z@l&g^Q?!>r`M>T~8x{Js>wYLKwc z3Vz{%W*>Tos~)!yx3+3o0m1NQ;mSY-`gcYhdpC~r^399 zmNlzx7z++1khd0R&5cF^R)-}+dW-$LcoR+!J4&@Wu2q9tEUY%(Q^;qxd7BW@b;2L( z0|u|&q`fX-Pzt^w@VKn)g6vgj&5%JQK1OZSgt2b52B)x_M~D!0+}d`RZ{qTu2|*e+ z5o2VQ@-4W$*O>@@WUfa$IgU~1E#ow9T~SHzu^KL{e$S%)QS z0Q9Bf)Y_qhra*H?oTBZEea2-=6V$Ddk<3B~tr$>{i*tI}^ksN;7Uy@78jGNYtsV2@fMzxn6K2qmM8y>)Bb%_92SuI7LFV}jUZ(aJw>Xfnoi?%py?8++dJC0oarWi z^$KhDKkyM-zn=nUeVDVzt?d+w!WljE2N+wzNvPG^&A6o4-aFj)N8if zsH9M4|C$OZ=mt6rnpX!8SlSm(lV~xR@HXR{_cgc{fGt?rc;UvCx(v5KehMFsE}=7f z$qP#Qw#UvZHJMIl@qiLr^ms;o%RaI&&UHWBg*Rm~0a5-s98;DwYQkXldp56YwC`ro zq1{Pcc}Hx3Zr1~kM>s4`a)qztgh;!c#|-X*_t z9xu;Xo;^bxqJs^;!y^@4mXH-{NK6(w`{5xOa(X+BeS-oudoLpB}oyK^oj+ITmKOQ|s z6|aB%QcFeVaBDbh!fB(t5N~2;;Bp^`^Op2op6Uh8b~c1qW(58^2``?`)y_t1^+xpR zc|4J=_w_UpOC42DBtMPFd)5|Ct0U#|k$<h#6z=n1ww)tSiio7Cj^c9cu|0tUg13_25O@SbRzDdX^^X&Z5g_MKX_d zYji}I7)9Mh-`0X3K38wm`CV7kN5NW@v?cU@VSEOX8=0MKvXPDNUNTc^FSK-|A*caF zN%985!axHTXVBd$0uZE-(;GxYNrffnBV5=eogFAa92e$hmclvX;qf>NK)$iZSi(sZ z`28k2+R#N8IOO(=!ex8RvvJMUg9K%rBV%(tfU1|AGtd1JHE+*{q^V^s@~WtY#ykyx zyGGgMU(xSFCixNP+MnUdY$8hu;|UaPhaY#-4RdXp@h&9fsCv<_H9=u_hQ{70j3O3b zwJG6mzM?D0z;M%GnBvZ6i}VYdX~>8B24;-*ILTi1Kd1_Ivr;QnuB36ZAA8Y{(c7=+ zP92Q%C*+$}C9~PfPkCcq`fjq)w~$@gS!Reid&K#DR_S@cJG1nSj<)9JLv=b2hB1=^ zEaw?(HUK+DEowS4Xi#Bt(h~l-ATNzxs;6m*&RqGEOZ7OPl&FHfwxaij3q?;W{fdln zY*hgU`EMv`cs3(4Y&;=l!`0p;KE||9of!oPuj=whsRc7msxVDIpZeD#AD<8B>NMp% zajIAF-*%q&UczCbr#a87W#I>wWCsDkp97h|(@XoscZo}9UoF%uX}!Jv>YbbZ#f;T~ z%rK9-zDpa#*MUBWma_W;K3fzyuB&G`7v{R@U67I6Rc&HBP5ud^1nhzinng;n#TwVI zGhrUGbLLT`H~zEU;n;Q%{8q+w(TA$j*opX7A3e*<0VFg~`J%y;`uEsg(#5s81W>eS zcT>q452BblSx_rLB`9y}<3Pez&BlaN2}$?@xx`C8aor`uI=>jQV(z?hXKvbd0~h9_ z%KE3us-%Ak5MkDX$ev&rnqr&6D91Qsw;5un@=f8T9PgPBJt{XC(p-%KH2I^duO*e!(`OS9(Jj;;9?bgJ6fhptA3 zb$azb!#P6D>=2jyY#m|lY%AEx0fqSRIY+3}5>eo)G)0q}SNDQ~QUs6WiK#x*_m)Jx zTY{;TqiSuyCJAJ$CN`+7huM?FON$()3)NgsSf^+XOkk>Th+yJKornGN29>k+b4^wO z8$Z;PJH!fN3_wHmIk)SUq%xFJxsnTbmG3cW6wdm7*{stv1u{i5pEm+UlFf?)QzG_s z8~OxtR($j^Ra1e!73+)$mMNtmHfFgUPB&Bz6N(>#i@0eg?ZF| zrt`X)lp*bs{BXie(nVHy*hiJx1)ycTiu`c8nVzxRDE~Z*DFWY)%$|YVqxQsX(|;~F z=OIyGk|P?tw*)W2n-~v+(3?KIsWHR#wP$PeQOb;8vt5OadJqG+NcV;XIHA?pGqo@c z@wl$-e%E?=kBE4oDdMd-OBY;*k=a^@L%(Uv1KF2J)~)*-I{qV9g}S%W>5a`!tKZ)& zn4+Yw(>YvjfC5Zq7qZ5J2@7_{s3Hd1Y)#J0ih-!7_dCI_u? z)u+3ZsK;`sJ7Lt#W}>|E6}0o6qF4MprZ$+h;h|l_9mR z-ou+Bo`wmdx21$Z7>Yd_Mw#a0UWKu^8h*l5QaPCgvK(3<e{IlD~Gqg{Q8{qd1CW2LSMs6eelpfkX5Q>%?0&6=R=LE)7MuCY6 zTLTYSE?g9d5i{<%S5$bU4~2&3k}&KFPfyse%I8Ml;hMylftf-2JI5)7Y!?oY$x_&- z-R-yyGu%FvNN)meNumS?Hx}~B{dd-KDTxQ=VD-Z_7TCy$pv%ajf!kMxVo*}pGb4$7 zy}{KF07eXaA@FX!Wi4)D8Gx~Pend<^WKzX9@xA}w%ToZe%t*xNG63E)6* z%O?iW#sN7BLm56l4f5rDB+{N5Z=o2vIB(*5w%)mw#zyPiQZuL9euMX~2}jbtNZ zDXLwEwZu+k2#WP>NJ)lcSOUwd2z-)B&(IE!U_JCf(;e#WZu+m`wm(_^nnWSCmOO)J z@RURp>qwesYrxUoJYswr0)DmMc`L>@0Y3U7lh5pDyCXonQg?z;EAdQ89DfE?uBbq5 zK63qNA9tLLlETTk0YEwv25#E{Ap?!6Kc@4O3cFYDhLPQkgQtN#c}^Ha+2q|LlPsHM zV*Pf`L=hRm<}sUM5@D*$`1u|(!|a~q2H`z;vCz9tR6r^FQkwCs7`rDCEn=h)VW0q# zrboFAWxwB`Z7yj(@|$IEs@F?1LvFNl$O4D$jZguko~uvDh~=N*q5@PaT7IQ?j$jRJ zegrM!!X_n}5-b6kGTxlmikS6Xcm{J51H=isWMuo+p$)!a>`O+`VdtUT=s9Hx_f))D zDz$c;>AW|v)L_16H`vJx7dLX8CtBq&_^sy7z2=c-t-*QxjvdA{tGg8a z1!}6vsLhyy*D7?``}vkzhHd%5zCi(99A~~^g$wTSZ~Js;_4{qp74rF|CB9-=tB|?b24FCMamgcET}mK(1t+v&r7Tputc7R=49QGCS)K&7>foZ1-Hv-p zYJ-!ZWP`UCI2&8FaCc_9d)UUdR{4dMX0U3+VLFBl^o0KK@Q1a2V0@+B?1bh<;0u{mkkvP}Tg=&Kh}KlY@t4rjYyMB_B3-BUnL~K@gVRGIfhxL z`LFQ3Q`KhbRij!O>`L7UL(y|BAv91}j>6TKE=H7K*lT!3t56_)TXw|T@9eVHlBN>Q z@^4veA;_usRJjT&6O0H~lacG|iO-`qMwtgu0hG8^djeJG>M&bi+Y`TGTDP-w3&nPE z%5S+C)d(TJTE4Geb;>d8>V9bOl86$G%AP?%NZ5ywmJuWivw(!y!^X%2i&q)}qc@wM zIDIR?MS(v;DG|f_!#hu#7jt2LPA%ZD=P~k;O13y#SXaof z7*+Yjq(^toGl!C0mR=YhuhJ&cdl~=2iYO>fSjZw*PJ~Q_Qhgwec!SN-kc7xSU`|@IWjb$)55+Hp$G!(z2IYsB!eu!)W#yeU;g)_gA!qnDU(o%L zGCM1Djgrd4)3RB7H1k7K8LnQS4IR0G42`3|Sr{G#4zxT`;qYb8+Uwtc;77M?P2G01 zWMt183~Gb%(lUCs-S^vC@HJ^HQK3dRZsv$0cW*vW8=M1|*UiP7=h97SI!azcHQXGg zBx8dHVQ4r|^z0a0lkz9QB{iAi_;~Pj!Oo!Xm());0{{_ni`lV}WKnI7(ud7ml}8#8 zLR@g^(*aXA9gL&CaF$%lJ-WX`k+khWdC#^Tm22Hoy93b>$>Mk{h0MEtMLByRjjdNH z7`w%)3Ke#x}zs-RAY+#6^31uGr03{#R<9UWQNH2ilE-A*(+_k zz(Agg#5Q!V!SYOaqSyhO!WWVgoKnM>6do)*H)lF)v}|zL7r5EQKfO94RZ#-FNKpG* zwmYQv>}|?LyF7_xO7#H;+C)REzATlJ;#wDVY1+LHc<4#0$mL4}PtS3DR0qgQTy3Q! zxi6pA90sR<-|5=#zB1-dXfhNZzE@AtOi+}>@YTqr;tab?zF$ZMfT533>zk#X^(6Z= z0q`<(dps|nbhrGoYp!wZc*54cA0=ZI7KHTrMbs*8Wx=KG1cpR&$|h4p8(E+pl@+zU zyxyP#iT-{Ac%WTsJ9YWjvhlV*$)gCDC%Sl0Vx0iKT!?qf#Fc<;SYt<|;QeCt(0e)s zB%T~lbKoHA)i4>G(P~y1tq@i(v4Q@Ka(Tf|DU@J_n*Vg9WdcD-#)R#{ro#9OO9)$i zu-HkKQ!PxZ?lYN$reUJhVtH_Ml3Wck&%*A5OO`?+z(Wn6`!-|Ryz6lGIEEIfg)9fp?3?t3W(4Wecw)gEY?R0)4?PC7)}z*C>36Wvk%vHp?2JT((2WR6K3#M2v&s*5spN6YYE#D$bp!`2 zlW6iNIbSRM*9ei#)#$xHseb9{v%WNmcN^%OG&lzGM*8zO>W>ch&j8{Au+z|;DdnhZ zxL3Gd0VS|#yb1UU@m`x8H}YNEHFhA3fvt6bFmOF8Tmg%^;+n3WMKt6 z3uc}Q=roOh;zNsboUcsr59cuCFMf3$7zQi-@IZHB9d9K%ef;<%u1}UAH@iG6EEEQQ zEE2s%@y>M6ih`JGgV;dPC89xyo&lO6{~B0;+Wt_%NZjObhx~c7C_3At9*iw`|5EjH za&HW$Z1qB*a2qt+)FIUd>=+I?$^EI#$JxY2zoomU$+1va9{o0S>P(SZStJ6g$N25CG-$Vf>QSx@(~Ua7E`i$rZ%Al-=@WGoJ+@V|Mq`wIMv zyZDdWB=cM|G4`u>gq3pH6TtW3xg8XJ1#-`HepCZqoFo}qTY5`$0mv40m@l`15}khzVbJkXKojQhxw-2V5Q zxE+PEUpM;(2#--k=tg09C1Od}?!R~}#-nfMqQZ%DD5Rj*mW#$P7#Y|jT$5NSXCx^TO zrmBWueQ{4EOk&RFk7t7G?_AAN=3y4nYcapIOg^Rj2?e(`nA?n!nWR(?&By|UX)9#W zE!XMqE*iI`r)|-f@<8o3ePAz6-U3e+#0VI3N&=0 z9W4}hWcFmV&JL9HnjUmBWg=~@+fc;0k}qEuskxH|^0$eOwNu; zroQSab^*xN!XWP)LRn;_|L)&9|KEpZkZJQnObYyW=AQuU_LE~t#)ye z@mX_T8YwXB^5>QP6WIPcFbwIwOc|f)=ih&W|Gzw4oQTquO-+8@hyQRa#rpX|l;Otl zYAF15#Gfs_#Z#xn1XI79|98Wl+`5eN(`T(s;&1Q$DgOTDhLmy`F18eT8r=UULsQB} z|KGb#RWYQ|b@49|;m_7xtqi-w!MpwnT)HPY92VxwepA_<4%7JO>C+icF`6?clji?r_FbYF?LUM5 z%h(r{{&T1QSQP)WzWy`4|4+CI`OljEcO?7|ko_Bk|9=_1!D_il|MFPtXH$ZX_D;&8 z({g&%{%xukUe2JiGw%8<`tNuA1S^EfDLzJ(?>5apyP*8L)X5)#aYB1HgIf#)ODQ^J zGNs%+u;4HtK#X#Pwf<>}sFOa4KPhZ=O+I&Wl8{#+lv3fz-c(ts#Ilpe1t?Xn$bcJ$ z|8k$wA?p*L*%PHN^Zg0ie|4J2>BLogKf1&8&)xk^an<-ciGLA`KU*P1C$4(pQl{KL zyXucuD9;sTS)cm1`~0uIl=D$swUhem%|9LV|6nMEgy>RSb#&;zhWPI%=uD=Vv550h z_y5IJOH*96H2r@D{hvGipXvR7F3$g~>AzORf3^MtWPjoA|F-^v-v8!y{{QQ;MtaRc z{@2Iv((>u1KX2FFGFd2uA7IYv-TPhg47Gd@Jp_jJ?&?pVwmfg2ks>hkE75RLy+ z9aEB|Fao>T2YU3Br|a5jWzvcD*NChA5c&q!x?ITbZ>dE54_qUu>xIXr&LPnbQ&^UA z?QrC05`!*4aV4qo)#y`KY2uGtXJE!l=sp<8*e&;1qCa3~wj_7eFRBpC#yh`%G;fG1 z1MZ-(h?j>lcAXE;%%LKX(!Vx$de=7;=j=EK9W6bMgM50MVsuY5JbWR4cybz)KWSsw z9;SG7M?7Bsv8}DG-47P<*v$Ng+$lA9l7IcG_0s4Di1khhV|2i@P$}efK`v?qo_7II z<+NYJfSIfEqt$K7Ooz-4yAkPMcIpbFitU|YQZZ5ypqZd27XVCKM|a&i7)=UY!sWdm zPs?FoQPF|Z2V^WaBmyB{*CY+zA#LJq_fQOkpyz!}_Ig&A%xfGRrfVJh8zGHdxh1V|>FrDL2YQd&=9T#XzH-jYPY(}!D%f;Z$6zdHxpZIkZyO5H-B^P zbo`x=Oi;h}L6guHbvu@DV4oEv*59}vHU6vu&$lkv9mWXZjBN5gvY$T;p%Yxlprrxr|Ur=}yh>O$az9Jw9SZt}q5*YIz`d?JLQ z+sRzOxeVj&#IJzqs;&;dcdz7s-UToP*$GT$Yt$}chLu_WOwYwmh4p&pk)nlv{`EYo z(hX`$@HV&Pl(UzOC~=>#-6cv6;=Hp*>Vb^uk5zqugs~vuo#3>fE6wO%kF|DQ*|nPx z#sB6|?1go3P?oPJg(OF~KECj;Azov?Di1M1Gc7;s;b?pGM3vfE|h8GG%PB_&8M-2TX|rC<&Gs`B0;FL~5f;eXv54N+lAk}qnpMM-RJhaAq7(iMYtrX5EGWZROniJf7C!Z`h+*3{k zwHBc~OxPcN;)_ZjoeQuHD-yZG9CQAKlV3eW<;pxt{dx ziKP&rdeZShg^Nvtt!+3twch|o?D?=ibRd1sS_Gw@(0}rBg9G7=5NC>s=iu&&8(HqYpao-=?KWq~*J3-kc zp905t=m$mYg~TfgHKWTnBum5`9})YJATz@myWIgadbb2RYzlA-G+oCa;iU4MrC|+aAkJTC7wZ z{)|j#SSbs@a&^=wrrMa8W#&qQYe=ZvVs?D@#lW3!*OpooU0(PU=gHy9_L^j0Bp*)4 zCq@-||9*wAj-OOj7FC=pJ;+LiFzx4qpfmvNUmWM<$h6^B%-A6YL9hczNkk}H=NO#L_s%zXaiO<5vLvD=}d60V{c5!jwq;^IV36Ak*pEHC; z-8HvNxH~yYVDO}?aSJBNuckx3!l&aAkqTzX)_<%PPwC@(6J1Yacmd?daA=kCoF z23F0-n^Xq`rB+zZS5Iv3qNA@XVvt|v1-W%3(<4)!jaGKp_{eS&s*8bwiz#gQ{Y4-S zhH*w65Q?T;S26eZ$B_vPtBRBHz|-+|)Tvl9uA+JT_*)I?%)>lhg{5~Ji!`4X8xPXt zo131O2;(P~F{u-h0DtUqtnr81?GGT2@BPc*IHGoX*>-?jk8_j$^NME9&R0?4IZ+=K zhT@y;kKfxJRF2zqRO|G%Znr|V4ia`-%B~@ZdCTO60sEu}&}jYU?JF+Q-lcP6n6xkp zOjX&`d=uIW`efhd#RL7m4svZH*NnEi#G

dN&Kc9n6L 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 literal 0 HcmV?d00001 From 5567900a30186ed4795ffcedc1de33d157a616db Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 17:18:01 +0100 Subject: [PATCH 187/288] Update README.md update link to image --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 821acc61..9ab67124 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -68,7 +68,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc We summarize the results of our evaluations as follows: - +![evaluation](https://github.com/International-Data-Spaces-Association/InformationModel/blob/documentationIDSModel-enhacement/evaluation_external/statistics.png) ## 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) From 79fb65514dccf923ca225b06e98aa7ed9249c040 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 17:29:09 +0100 Subject: [PATCH 188/288] Update README.md resize image --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 9ab67124..cb88b233 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -68,7 +68,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc We summarize the results of our evaluations as follows: -![evaluation](https://github.com/International-Data-Spaces-Association/InformationModel/blob/documentationIDSModel-enhacement/evaluation_external/statistics.png) + ## 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) From c1573bd2587c3e135d4db8c352d1b7b09f06a6a4 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 17:29:51 +0100 Subject: [PATCH 189/288] Update README.md --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index cb88b233..8ce3a96f 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -68,7 +68,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc We summarize the results of our evaluations as follows: - + ## 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) From de3d2a29a426ffbfb09a389317e5b15b62334dfb Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 17:30:24 +0100 Subject: [PATCH 190/288] Update README.md --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 8ce3a96f..70becde6 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -68,7 +68,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc We summarize the results of our evaluations as follows: - + ## 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) From 2a69130b4de34e791c2cd6a3121e793080bcb399 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 17:31:31 +0100 Subject: [PATCH 191/288] Update README.md --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 70becde6..84abba07 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -68,7 +68,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc We summarize the results of our evaluations as follows: - + ## 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) From 0c2431f0fa3438dde162fbc0d3ff3ee8ea17beff Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 20:54:11 +0100 Subject: [PATCH 192/288] Update README.md --- evaluation_external/README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 84abba07..c564eb47 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -8,17 +8,17 @@ Moreover, based on the performed analysis, we understood that a better approach Our main goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use the external definitions from the respective existent ontologies. ## Methodology -First, we created a new branch "refactorIDSModel-enhancement" by clonating the "develop" branch. +First, we created a new branch **"refactorIDSModel-enhancement"** by clonating 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 not adding any additional information to the already external definition. Possibly Redundant (pr): the internal definition of a class or property which redundancy is not clear because it adds some level of specificity. Non-redundant (nr): the internal definition of a class or property adding 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. +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 which is referring to. Then, for the evaluation (r, pr, nr) as aforementioned, we analyzed the internal definition, for example which other additional information was introduced by it, and we 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. Then we 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 odlr: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, and decided to remove the ids:Agent and replaced it by foaf:Agent +- 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 odlr: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, and decided to remove 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 probably redundant, but we decided to keep it, as it is more specific than dct:type. @@ -33,20 +33,20 @@ In the testing files, only sh:message was modified and the commented code refere - 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. +### Issues + Here we list the issues related to the evaluation and implementation of changes. -The initial requirement was the following: +- 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, possible redundant, and non-redundant classes and properties, based on the following issue: - +- For that, first we evaluated the redundant, possible redundant, and non-redundant 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: - +- 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: +- 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) @@ -64,7 +64,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc - 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 probably 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 probably redundant (pr) cases. -- 1 case is pending, and corresponds to the property >"ids:rightOperand" +- 1 case is pending, and corresponds to the property **"ids:rightOperand"** We summarize the results of our evaluations as follows: From 92aaa2bbe9378c70b1ebc1aa2ff31b82d7a38be3 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 21:17:40 +0100 Subject: [PATCH 193/288] update format update format --- evaluation_external/README.md | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index c564eb47..5cab65eb 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -10,26 +10,29 @@ Our main goal was to effectively identify and remove all redundant definitions o ## Methodology First, we created a new branch **"refactorIDSModel-enhancement"** by clonating 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 not adding any additional information to the already external definition. -Possibly Redundant (pr): the internal definition of a class or property which redundancy is not clear because it adds some level of specificity. -Non-redundant (nr): the internal definition of a class or property adding 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 which is referring to. Then, for the evaluation (r, pr, nr) as aforementioned, we analyzed the internal definition, for example which other additional information was introduced by it, and we 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. Then we proceeded to the concrete implementation of changes as described in the next section. + +- **Redundant (r)** the internal definition of a class or property not adding any additional information to the already external definition. +- **Partially Redundant (pr)** the internal definition of a class or property which redundancy is not clear because it adds some level of specificity. +- **Non-redundant (nr)**: the internal definition of a class or property adding 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 which is referring to. Then, for the evaluation (r, pr, nr) as aforementioned, we analyzed the internal definition, for example which other additional information was introduced by it, and we 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. Then we 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 odlr: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, and decided to remove the ids:Agent and replaced it by foaf:Agent +- 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 `odlr: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)**, and decided to remove 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 probably redundant, but we decided to keep it, as it is more specific than dct:type. +- 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**, 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 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. +- 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, were we added @prefix foaf: , and replace 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 implementation of the first given example, we modified the following files in the model: *Message.ttl*, *Resource.ttl*, *Connector.ttl*, *Participant.ttl*, were we added `@prefix foaf: `, and replace `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. @@ -40,7 +43,7 @@ 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, possible redundant, and non-redundant classes and properties, based on the following issue: +- 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: @@ -58,12 +61,12 @@ Link: [Revised SHACL shapes](https://github.com/International-Data-Spaces-Associ - The IDS infomodel has been improved. Link: [Revised infomodel](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/refactorIDSModel-enhancement/utils/refactor_helper.ttl) +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 probably 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 probably redundant (pr) cases. +- 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: From 698f9c26eae804349fa72eed7ee564558413b61f Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Mon, 31 Jan 2022 21:23:08 +0100 Subject: [PATCH 194/288] Update README.md update with hand on manual --- evaluation_external/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 5cab65eb..5edbd035 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -73,6 +73,18 @@ We summarize the results of our evaluations as follows: +## Hand 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. +3. Extend the IDS Model with the local definitions. + +To illustrate the above mentioned steps we consider an example as follows: + + + ## 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) From 16be6d2f5200aff6585356d814cf6e45cf8c3fc5 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 1 Feb 2022 16:04:46 +0100 Subject: [PATCH 195/288] Update README.md further changes to the documentation --- evaluation_external/README.md | 59 ++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 5edbd035..f60f5f33 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -17,7 +17,7 @@ After that, we created a list of every external class and property used in the I 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 which is referring to. Then, for the evaluation (r, pr, nr) as aforementioned, we analyzed the internal definition, for example which other additional information was introduced by it, and we 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. Then we proceeded to the concrete implementation of changes as described in the next section. +Once we found these results, we listed each class and property by file, the relation (`subClassOf or subPropertyOf`), and the external class or property which is referring to. Then, for the evaluation (**r**, **pr**, **nr**) as aforementioned, we analyzed the internal definition, for example which other additional information was introduced by it, and we 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. Then we proceeded to the concrete implementation of changes as described in the next section. We describe some examples here: @@ -73,17 +73,66 @@ We summarize the results of our evaluations as follows: -## Hand on manual +
## Hand 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. -3. Extend the IDS Model with the local definitions. +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: - +Consider you want to model a general **Resource** which can be later defined more specifically. The first step would be to consider the class definition and which properties are already considered in the **IDS Information Model** (available in *../model/content/Resource.ttl*): + +``` +# 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. + +. +. +. + +``` +

+
+ +Here 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`). Also by the properties we can see that a `ids:resourcePart` is in the domain of an `ids:Resource`, meaning that any resource with this property is an instance of a Resource. A similar situation is given for the properties `ids:resourceEndpoint` and `ids:contractOffer`. ## 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) From a3b422d65587dad3429c92f315b5b37fc68c94c5 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 1 Feb 2022 16:07:24 +0100 Subject: [PATCH 196/288] Update README.md --- evaluation_external/README.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index f60f5f33..4c1a438b 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -30,13 +30,18 @@ We describe some examples here: - 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 +
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*, were we added `@prefix foaf: `, and replace `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. -### Issues +

+
+ +
Issues +

Here we list the issues related to the evaluation and implementation of changes. @@ -52,8 +57,12 @@ Here we list the issues related to the evaluation and implementation of changes. - 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 +

-## 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. @@ -73,7 +82,10 @@ We summarize the results of our evaluations as follows: -

## Hand on manual +

+
+ +
Hand on manual

To use the IDS Information Model, the steps to consider are the following: From ce05da80e98e9a8ba43089116f1645fe2f00fabe Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 1 Feb 2022 16:08:27 +0100 Subject: [PATCH 197/288] Update README.md --- evaluation_external/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 4c1a438b..f2fab0e9 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -32,6 +32,7 @@ In codes, it is used to define `idsc:PARTICIPANT_ENTRY_LEVEL_MANAGEMENT_SYSTEM`,

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*, were we added `@prefix foaf: `, and replace `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. From ceb94c1f49a3b220a851200c536a374d79be5840 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 1 Feb 2022 16:21:41 +0100 Subject: [PATCH 198/288] Update README.md --- evaluation_external/README.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index f2fab0e9..baced309 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -7,7 +7,9 @@ Moreover, based on the performed analysis, we understood that a better approach ## Goal Our main goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use the external definitions from the respective existent ontologies. -## Methodology +

Methodology +

+ First, we created a new branch **"refactorIDSModel-enhancement"** by clonating 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: @@ -30,6 +32,9 @@ We describe some examples here: - 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

@@ -140,12 +145,19 @@ ids:contractOffer . ``` -

-
-Here the prefix `ids` is defined locally in the IDS Information model by `@prefix ids: .` +Here 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`). Also by the properties we can see that a `ids:resourcePart` is in the domain of an `ids:Resource`, meaning that any resource with this property is an instance of a Resource. A similar situation is given for the properties `ids:resourceEndpoint` and `ids:contractOffer`. Moreover, there are other properties defined in the domain of a Resource, but we will omit them here for the sake of the example. -We can observe that an `ids:Resource` has a label (`rdfs:label`) and a comment (`rdfs:comment`). Also by the properties we can see that a `ids:resourcePart` is in the domain of an `ids:Resource`, meaning that any resource with this property is an instance of a Resource. A similar situation is given for the properties `ids:resourceEndpoint` and `ids:contractOffer`. +Now we consider the validations already included in the **IDS Information model** as follows: + + + + + +

+
## 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) From cff0ae6fecee9f6ba7d317dc68ceb9b8bbad5578 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 1 Feb 2022 16:29:37 +0100 Subject: [PATCH 199/288] Update README.md update --- evaluation_external/README.md | 39 +++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index baced309..4fe8764e 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -102,7 +102,9 @@ To use the IDS Information Model, the steps to consider are the following: To illustrate the above mentioned steps we consider an example as follows: -Consider you want to model a general **Resource** which can be later defined more specifically. The first step would be to consider the class definition and which properties are already considered in the **IDS Information Model** (available in *../model/content/Resource.ttl*): +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 the properties which are already considered in the **IDS Information Model** (available in *../model/content/Resource.ttl*), here a snipped: ``` # Class Definition @@ -150,7 +152,40 @@ Here the prefix `ids` is defined locally in the **IDS Information** model by `@p We can observe that an `ids:Resource` has a label (`rdfs:label`) and a comment (`rdfs:comment`). Also by the properties we can see that a `ids:resourcePart` is in the domain of an `ids:Resource`, meaning that any resource with this property is an instance of a Resource. A similar situation is given for the properties `ids:resourceEndpoint` and `ids:contractOffer`. Moreover, there are other properties defined in the domain of a Resource, but we will omit them here for the sake of the example. -Now we consider the validations already included in the **IDS Information model** as follows: +Now we consider the validations already included in the **IDS Information model** (available in *../testing/content/ResourceShape.ttl*), here a snipped: + +``` +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 ; + ] ; + +``` + + From cf7409f91fff362cb861ab7be884f2f935e135a1 Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Tue, 1 Feb 2022 17:32:10 +0100 Subject: [PATCH 200/288] Integrating the comments from the review. --- testing/infrastructure/InfrastructureComponentShape.ttl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index cf7c48b8..68af8315 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -31,7 +31,6 @@ shapes:InfrastructureComponentShape [ sh:class ids:Participant ; sh:order 2 ; ] [ sh:nodeKind sh:IRI ; sh:order 1 ; ] ) ; - #sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:maintainer property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; @@ -44,7 +43,7 @@ shapes:InfrastructureComponentShape [ sh:class ids:Participant ; sh:order 2 ; ] [ sh:nodeKind sh:IRI ; sh:order 1 ; ] ) ; - #sh:minCount 1 ; + sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (InfrastructureComponentShape): An ids:curator property must have at least one point from an ids:InfrastructureComponent to an ids:Participant."@en ; From aca543746b806f7c224ea33e290e68329bfe2185 Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Tue, 1 Feb 2022 18:20:44 +0100 Subject: [PATCH 201/288] Update README.md added hands-on manual --- evaluation_external/README.md | 173 +++++++++++++++++++++++++++++++++- 1 file changed, 171 insertions(+), 2 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 4fe8764e..20d4ea2e 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -91,7 +91,7 @@ We summarize the results of our evaluations as follows:

-
Hand on manual +
Hands-on Manual

To use the IDS Information Model, the steps to consider are the following: @@ -142,13 +142,19 @@ 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. . . . ``` -Here the prefix `ids` is defined locally in the **IDS Information** model by `@prefix ids: .` +Here 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`). Also by the properties we can see that a `ids:resourcePart` is in the domain of an `ids:Resource`, meaning that any resource with this property is an instance of a Resource. A similar situation is given for the properties `ids:resourceEndpoint` and `ids:contractOffer`. Moreover, there are other properties defined in the domain of a Resource, but we will omit them here for the sake of the example. @@ -182,14 +188,177 @@ shapes:ResourceShape 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:sovereing`. + +Let's say now we want to model a new resource, with a new prefix ap15 by `@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, then 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 the shapes indicates that the value for the `sh:minCount` is 1. +Another possibility is to use the existent definitions in the **IDS Information model** and we want to tighten the restrictions, for example for the properties `dcat:mediaType`, `ids:representationStandard `, and `ids:instsance`. +Here the snipped 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 restrictions defined also in the **IDS Information model** as: + +``` +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 as 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.

From 319c6fe3a74cddabfddbe092aa13004eb21bdcac Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Tue, 15 Feb 2022 09:34:06 +0100 Subject: [PATCH 202/288] Add a callBack URL property based on the requirement of issue 495. --- taxonomies/Message.ttl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/taxonomies/Message.ttl b/taxonomies/Message.ttl index 4517ef46..4e840e25 100644 --- a/taxonomies/Message.ttl +++ b/taxonomies/Message.ttl @@ -60,6 +60,15 @@ ids:rejectionReason a owl:ObjectProperty; rdfs:label "rejectionReason"@en; rdfs:comment "Specifies the reason of the rejection."@en. +# CallBack URL +# ------------ + +ids:callbackURL a owl:DatatypeProperty; + rdfs:label "callback URL"@en; + rdfs:comment "A callback URL must be provided by the initiating connector."@en; + rdfs:domain ids:ResponseMessage; + rdfs:range xsd:anyURI. + # Self-Description # ----------------- From a963e42a84b00267592073aeff9442f8a74a8c01 Mon Sep 17 00:00:00 2001 From: Liam Tirpitz Date: Thu, 17 Feb 2022 08:37:32 +0100 Subject: [PATCH 203/288] Make temporalResolution point to a duration instead of frequency --- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- utils/refactor_helper.ttl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index ee6f5c8d..3f885b64 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -132,10 +132,10 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path dcat:temporalResolution ; - sh:class ids:Frequency ; + sh:datatype xsd:duration ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DigitalContentShape): A dcat:temporalResolution property must not have more than one point from an ids:DigitalContent to an ids:Frequency."@en ; + sh:message " (DigitalContentShape): A dcat:temporalResolution property must not have more than one point from an ids:DigitalContent to an xsd:duration."@en ; ] ; sh:property [ diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index d0c7e471..8910ef16 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -296,7 +296,7 @@ dcat:temporalResolution a owl:DatatypeProperty ; rdfs:label "temporal resolution"@en ; rdfs:domain ids:DigitalContent ; - rdfs:range ids:Frequency ; + rdfs:range xsd:duration ; rdfs:comment "Minimum time between collected data points in a time series within this content."@en . dct:spatial From 3234ea4b42fcd3d294e7ddfbe60bfb466e40313d Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 17 Feb 2022 15:12:20 +0100 Subject: [PATCH 204/288] Fully replace ids:Action with odrl:Action --- codes/Action.ttl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/codes/Action.ttl b/codes/Action.ttl index 5bae9e0f..ef16f59d 100644 --- a/codes/Action.ttl +++ b/codes/Action.ttl @@ -39,7 +39,7 @@ idsc:AGGREGATE_BY_PROVIDER . idsc:ADD - a ids:Action ; + a odrl:Action ; rdfs:comment "This action modifies a number by adding a given value to it."@en ; rdfs:label "add"@en ; skos:note "This action modifies a number by adding a given value to it. The field to be modified and the given value are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:OPERAND, respectively."@en ; @@ -55,7 +55,7 @@ idsc:COMPENSATE . idsc:DIVIDE - a ids:Action ; + a odrl:Action ; rdfs:comment "This action modifies dividing something by something else."@en ; rdfs:label "divide"@en ; skos:note "This action modifies dividing something by something else. The field to be modified and the given value are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:OPERAND, respectively."@en ; @@ -89,14 +89,14 @@ idsc:GRANT_USE . idsc:HASH - a ids:Action ; + a odrl:Action ; rdfs:comment "This action modifies a value by replacing it with a hash of the value."@en ; rdfs:label "hash"@en ; skos:note "This action modifies a value by replacing it with a hash of the value. The field to be modified and the hash algorithm are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:HASH_ALGORITHM (eg. SHA256), respectively."@en ; . idsc:INCREMENT_COUNTER - a ids:Action; + a odrl:Action ; rdfs:label "increment counter"@en; rdfs:comment "An action to be used in the count usage policy where the idsc:COUNT left operand is used."@en ; . @@ -127,7 +127,7 @@ idsc:MODIFY . idsc:MULTIPLY - a ids:Action ; + a odrl:Action ; rdfs:comment "This action modifies a number by multiplying it to a given value."@en ; rdfs:label "multiply"@en ; skos:note "This action modifies a number by multiplying it to a given value. The field to be modified and the given value are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:OPERAND, respectively."@en ; @@ -161,14 +161,14 @@ idsc:READ . idsc:REPLACE - a ids:Action ; + a odrl:Action ; rdfs:comment "To replace some value."@en ; rdfs:label "replace"@en ; skos:note "This action modifies a value by replacing it with a given value. The field to be modified and the given value are specified in the policy as idsc:JSONPATH/idsc:XPATH and idsc:REPLACE_WITH, respectively."@en ; . idsc:SHUFFLE - a ids:Action ; + a odrl:Action ; rdfs:comment "This action modifies a value by replacing it with an anagram of the value."@en ; rdfs:label "shuffle"@en ; skos:note "This action modifies a value by replacing it with an anagram of the value. The field to be modified is specified in the policy as idsc:JSONPATH/idsc:XPATH."@en ; From d40bb7346640f59187e943559c03e0dc52808c7d Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 17 Feb 2022 15:31:24 +0100 Subject: [PATCH 205/288] Update namespace for LeftOperand etc to odrl --- codes/LeftOperand.ttl | 30 +++++++++---------- examples/DATA3.ttl | 7 +++-- .../ActionTemplates/ACTION_TEMPLATE.jsonld | 10 +++---- .../CONNECTORBASED_AGREEMENT_TEMPLATE.jsonld | 4 +-- .../CONNECTORBASED_OFFER_TEMPLATE.jsonld | 4 +-- .../CONNECTORBASED_REQUEST_TEMPLATE.jsonld | 4 +-- .../CONSTRAINT_TEMPLATE.jsonld | 8 ++--- .../TEMPORAL_CONSTRAINT_TEMPLATE.jsonld | 16 +++++----- .../EVENT_AGREEMENT_TEMPLATE.jsonld | 4 +-- .../EVENT_OFFER_TEMPLATE.jsonld | 4 +-- .../EVENT_REQUEST_TEMPLATE.jsonld | 4 +-- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.jsonld | 4 +-- .../N_TIMES_USAGE_OFFER_TEMPLATE.jsonld | 4 +-- .../N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld | 4 +-- .../PARTICIPANT_TEMPLATE.jsonld | 8 ++--- ...RESTRICTED_USAGE_AGREEMENT_TEMPLATE.jsonld | 4 +-- ...OSE_RESTRICTED_USAGE_OFFER_TEMPLATE.jsonld | 4 +-- ...E_RESTRICTED_USAGE_REQUEST_TEMPLATE.jsonld | 4 +-- .../RENTAL_AGREEMENT_TEMPLATE.jsonld | 16 +++++----- .../RENTAL_OFFER_TEMPLATE.jsonld | 12 ++++---- .../RENTAL_REQUEST_TEMPLATE.jsonld | 12 ++++---- .../ROLEBASED_AGREEMENT_TEMPLATE.jsonld | 8 ++--- .../ROLEBASED_OFFER_TEMPLATE.jsonld | 8 ++--- .../ROLEBASED_REQUEST_TEMPLATE.jsonld | 8 ++--- .../SALES_AGREEMENT_TEMPLATE.jsonld | 4 +-- .../SALES_OFFER_TEMPLATE.jsonld | 4 +-- .../SALES_REQUEST_TEMPLATE.jsonld | 4 +-- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.jsonld | 12 ++++---- .../SECURITY_LEVEL_OFFER_TEMPLATE.jsonld | 12 ++++---- .../SECURITY_LEVEL_REQUEST_TEMPLATE.jsonld | 12 ++++---- .../SPATIAL_AGREEMENT_TEMPLATE.jsonld | 4 +-- .../SPATIAL_OFFER_TEMPLATE.jsonld | 4 +-- .../SPATIAL_REQUEST_TEMPLATE.jsonld | 4 +-- .../TargetTemplates/ASSET_TEMPLATE.jsonld | 8 ++--- .../DURATION_AGREEMENT_TEMPLATE.jsonld | 4 +-- .../DURATION_OFFER_TEMPLATE.jsonld | 4 +-- .../DURATION_REQUEST_TEMPLATE.jsonld | 4 +-- .../DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld | 4 +-- .../DURATION_USAGE_OFFER_TEMPLATE.jsonld | 4 +-- .../DURATION_USAGE_REQUEST_TEMPLATE.jsonld | 4 +-- ..._DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld | 8 ++--- ...SAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld | 8 ++--- ...GE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld | 8 ++--- ...E_UNTIL_DELETION_AGREEMENT_TEMPLATE.jsonld | 12 ++++---- ...USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld | 12 ++++---- ...AGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld | 12 ++++---- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld | 4 +-- ...AGE_NOTIFICATION_AGREEMENT_TEMPLATE.jsonld | 4 +-- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.jsonld | 4 +-- ...USAGE_NOTIFICATION_REQUEST_TEMPLATE.jsonld | 4 +-- .../TEMP_RESOURCE.json | 4 +-- 51 files changed, 182 insertions(+), 181 deletions(-) diff --git a/codes/LeftOperand.ttl b/codes/LeftOperand.ttl index 32a84635..18b634a7 100644 --- a/codes/LeftOperand.ttl +++ b/codes/LeftOperand.ttl @@ -47,7 +47,7 @@ idsc:DELAY a odrl:LeftOperand ; rdfs:comment "Delay the action. Use idsc:DURATION_EQ, idsc:LONGER, idsc:LONGER_EQ, idsc:SHORTER_EQ, or idsc:SHORTER with datatype xsd:duration."@en ; . -idsc:DATE_TIME a ids:LeftOperand ; +idsc:DATE_TIME a odrl:LeftOperand ; rdfs:label "date time"@en ; rdfs:comment "The date and time of exercising the action of the Rule. Right operand value must be an xsd:dateTimeStamp."@en ; . @@ -59,7 +59,7 @@ idsc:EVENT a odrl:LeftOperand; rdfs:comment "The feature dimension regarding whether current events are happening. Does NOT refer 'events' as in real-time data, sensor observations, or Complex Event Processing but rather as 'World Cup 2018' or 'Hannover Trade Fair'."@en ; . -idsc:HASH_ALGORITHM a ids:LeftOperand; +idsc:HASH_ALGORITHM a odrl:LeftOperand; rdfs:label "hash algorithm"@en; rdfs:comment "Indicate the hash value to be used, eg.SHA256."@en; . @@ -71,18 +71,18 @@ idsc:STATE a odrl:LeftOperand; . # -idsc:JSON_PATH a ids:LeftOperand; +idsc:JSON_PATH a odrl:LeftOperand; rdfs:label "json path"@en ; rdfs:comment "An expression that refers to a part of a JSON structured data."@en ; . -idsc:XPATH a ids:LeftOperand; +idsc:XPATH a odrl:LeftOperand; rdfs:label "xpath"@en ; rdfs:comment "An expression that refers to specific elements of an XML document."@en ; . # -idsc:REPLACE_WITH a ids:LeftOperand; +idsc:REPLACE_WITH a odrl:LeftOperand; rdfs:label "repace with"@en ; rdfs:comment "Specifies a new value for a specific field. The action must be idsc:REPLACE and the operator must be idsc:EQUALS."@en ; . @@ -95,7 +95,7 @@ idsc:ABSOLUTE_SPATIAL_POSITION a odrl:LeftOperand ; rdfs:comment "The current geospatial position of the *consuming connector*. In case the connector only appears as a virtual entity, the physical location of the hosting server is referenced. Allowed operators are idsc:in. No other spatial operators (close to, north of, etc.) are currently allowed."@en ; . -idsc:OPERAND a ids:LeftOperand ; +idsc:OPERAND a odrl:LeftOperand ; rdfs:label "operand"@en ; rdfs:comment "To indicate the second operand value for the Actions idsc:ADD, idsc:MULTIPLY and idsc:DIVIDE."@en ; . @@ -107,12 +107,12 @@ idsc:USER a odrl:LeftOperand ; rdfs:comment "The user of a system at the *consuming connector* requesting access to a resource. Recommended usage for checking whether the user's role is sufficient for his/her desired action. Allowed operators are idsc:MEMBER_OF, idsc:HAS_MEMBERSHIP, idsc:HAS_SITE with a RightOperand referencing a (set of) acceptable organisations (ids:Participant),memberships, sites. Preferred behaviour is that the RightOperand dereferences to an endpoint hosting the required role information."@en ; . -idsc:ROLE a ids:LeftOperand ; +idsc:ROLE a odrl:LeftOperand ; rdfs:label "role"@en ; rdfs:comment "As end user role, not the IDS participant type."@en ; . -idsc:RECIPIENT a ids:LeftOperand ; +idsc:RECIPIENT a odrl:LeftOperand ; rdfs:label "recipient"@en ; rdfs:comment "For example, the recipient of the notify/inform action."@en ; . @@ -125,13 +125,13 @@ idsc:PURPOSE a odrl:LeftOperand; . # -idsc:TARGET_POLICY a ids:LeftOperand; +idsc:TARGET_POLICY a odrl:LeftOperand; rdfs:label "target policy"@en ; rdfs:comment "In order to attach/address a policy to a contract. "@en ; . # -idsc:ARTIFACT_STATE a ids:LeftOperand; +idsc:ARTIFACT_STATE a odrl:LeftOperand; rdfs:label "artifact state"@en ; rdfs:comment "Suggested values exist in the Information Model : idsc:ANONYMIZED, idsc:PSEUDONYMIZED, idsc:ENCRYPTED, idsc:COMBINED. "@en ; . @@ -167,7 +167,7 @@ idsc:SYSTEM a odrl:LeftOperand; rdfs:comment "Execution system or execution environment that is used to access the asset under consideration, usually an IDS Connector. The regarded data object should correspond to the IDS Connector class and its attributes. Must be used together with idsc:SAME_AS, idsc:NOT, idsc:HAS_STATE, idsc:IN, idsc:COVERED_BY idsc:INSIDE, idsc:SPATIAL_EQUALS, idsc:DISJOINT, or idsc:INSIDE_NETWORK operators. RightOperandReference must be a URI identifying the target system(s)."@en ; . -idsc:SYSTEM_DEVICE a ids:LeftOperand; +idsc:SYSTEM_DEVICE a odrl:LeftOperand; rdfs:label "system device" ; rdfs:comment "The ODRL definitions is “An identified computing system or computing device used for exercising the action of the Rule.” "@en ; . @@ -179,22 +179,22 @@ idsc:ENDPOINT a odrl:LeftOperand; rdfs:comment "Remote target for an action or information provider (PIP). Must be used together with idsc:IS or idsc:IN operators. RightOperand must be a xsd:anyURI or an URL which should point to an actually deployed endpoint. An example is a refinement of idsc:NOTIFY where idsc:REMOTE points to a Clearing House."@en ; . -idsc:APPLICATION a ids:LeftOperand; +idsc:APPLICATION a odrl:LeftOperand; rdfs:label "application" ; rdfs:comment "An application is a program or piece of software designed to fulfill a particular purpose. For example, a certified IDS App."@en ; . -idsc:CONNECTOR a ids:LeftOperand; +idsc:CONNECTOR a odrl:LeftOperand; rdfs:label "connector" ; rdfs:comment "Accepts an IDS connector URI."@en ; . -idsc:LOG_LEVEL a ids:LeftOperand; +idsc:LOG_LEVEL a odrl:LeftOperand; rdfs:label "log level" ; rdfs:comment "Accepted values: ON_DENY, ON_ALLOW, ON_DUTY_EXERCISED, ON_ACTION_OPERATED."@en ; . -idsc:NOTIFICATION_LEVEL a ids:LeftOperand; +idsc:NOTIFICATION_LEVEL a odrl:LeftOperand; rdfs:label "notification level" ; rdfs:comment "Similar to the idsc:LOG_LEVEL."@en ; . diff --git a/examples/DATA3.ttl b/examples/DATA3.ttl index 77cdc13e..c0c35ac3 100644 --- a/examples/DATA3.ttl +++ b/examples/DATA3.ttl @@ -1,6 +1,7 @@ @prefix ids: . @prefix idsc: . @prefix rdf: . +@prefix odrl: . @prefix xsd: . @prefix conn3: . @@ -75,9 +76,9 @@ data3:offer ids:action idsc:USE ; ids:constraint [ a ids:Constraint ; - ids:leftOperand idsc:SECURITY_LEVEL ; - ids:operator idsc:GTEQ ; - ids:rightOperand idsc:TRUST_SECURITY_PROFILE + odrl:leftOperand idsc:SECURITY_LEVEL ; + odrl:operator idsc:GTEQ ; + odrl:rightOperand idsc:TRUST_SECURITY_PROFILE ] ] . 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 924e991e..b140dcd1 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld @@ -12,9 +12,9 @@ "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 . } @@ -32,8 +32,8 @@ ( { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, - "ids:operator": { "@id": "?IdsBinaryOperator" }, + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, + "odrl:operator": { "@id": "?IdsBinaryOperator" }, "ids:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? 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..2f2223a2 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 @@ -16,8 +16,8 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_OFFER_TEMPLATE.jsonld index 383004fa..80dcdb59 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 @@ -28,8 +28,8 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/ConnectorbasedAgreementTemplates/CONNECTORBASED_REQUEST_TEMPLATE.jsonld index 17c9bc4d..7470a68c 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 @@ -28,8 +28,8 @@ "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/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld index 99387b32..18c201fc 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld @@ -6,8 +6,8 @@ ( { "@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 + "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 "ids: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 . @@ -20,8 +20,8 @@ ( { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, - "ids:operator": { "@id": "?IdsBinaryOperator" }, + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, + "odrl:operator": { "@id": "?IdsBinaryOperator" }, "ids:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? 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..ffa6b588 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,8 +6,8 @@ ( { "@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" @@ -22,8 +22,8 @@ | // 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 }, @@ -40,8 +40,8 @@ "@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" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. + "odrl:operator": { "@id": "idsc:AFTER" }, "ids: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,8 +50,8 @@ }, { "@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" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. + "odrl:operator": { "@id": "idsc:BEFORE" }, "ids: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/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld index d84a8ea2..fe0008bc 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 @@ -15,10 +15,10 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [{ "@type": "ids:Constraint", - "ids:leftOperand": { + "odrl:leftOperand": { "@id": "idsc:EVENT" }, - "ids:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied + "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied "ids:rightOperand": { "@value": "?eventUri", "@type": "xsd:anyURI" 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..9a0c6099 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 @@ -27,11 +27,11 @@ "ids: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 + "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied "ids:rightOperand": { "@value": "true", "@type": "http://www.w3.org/2001/XMLSchema#:boolean" 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..6b9488b4 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 @@ -27,11 +27,11 @@ "ids: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 + "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied "ids:rightOperand": { "@value": "true", "@type": "http://www.w3.org/2001/XMLSchema#boolean" 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..79c6fdcc 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 @@ -16,8 +16,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:COUNT" }, - "ids:operator": { "@id": "idsc:LTEQ" }, + "odrl:leftOperand": { "@id": "idsc:COUNT" }, + "odrl:operator": { "@id": "idsc:LTEQ" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.jsonld index b66035ff..510354be 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 @@ -28,8 +28,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:COUNT" }, - "ids:operator": { "@id": "idsc:LTEQ" }, + "odrl:leftOperand": { "@id": "idsc:COUNT" }, + "odrl:operator": { "@id": "idsc:LTEQ" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld index 832955b3..6ef45c76 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 @@ -28,8 +28,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:COUNT" }, - "ids:operator": { "@id": "idsc:LTEQ" }, + "odrl:leftOperand": { "@id": "idsc:COUNT" }, + "odrl:operator": { "@id": "idsc:LTEQ" }, "ids: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/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld index d14d4ef5..5d58d764 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld @@ -16,8 +16,8 @@ "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 + "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 "ids: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 . @@ -35,8 +35,8 @@ ( { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, - "ids:operator": { "@id": "?IdsBinaryOperator" }, + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, + "odrl:operator": { "@id": "?IdsBinaryOperator" }, "ids:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? 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..0a3594a7 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 @@ -16,8 +16,8 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.jsonld index 08c70321..b559bf0a 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 @@ -28,8 +28,8 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/PurposeRestrictedUsageTemplates/PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.jsonld index 9338e71a..d1db2fc4 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 @@ -28,8 +28,8 @@ "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/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.jsonld index ebac7216..57cde810 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 @@ -17,15 +17,15 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:STATE" }, - "ids:operator": { "@id": "idsc:NOT" }, + "odrl:leftOperand": { "@id": "idsc:STATE" }, + "odrl: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. (, "ids:pipEndpoint": { "@id": "?pipUri" } )? // The location where to find this state. }, { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:STATE" }, - "ids:operator": { "@id": "idsc:NOT" }, + "odrl:leftOperand": { "@id": "idsc:STATE" }, + "odrl: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. (, "ids:pipEndpoint": { "@id": "?pipUri" } )? // The location where to find this state. } @@ -39,8 +39,8 @@ "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": { "@value": "?fee", @@ -53,8 +53,8 @@ "ids:constraint": [ { "@type": { "@id": "ids:Constraint" }, - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.jsonld index 4ffcd131..29843eb0 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 @@ -28,8 +28,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:STATE" }, - "ids:operator": { "@id": "idsc:NOT" }, + "odrl:leftOperand": { "@id": "idsc:STATE" }, + "odrl: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. (, "ids:pipEndpoint": { "@id": "?pipUri" } )? // The location where to find this state. } @@ -49,8 +49,8 @@ "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, "ids:rightOperand": { "@value": "?fee", "@type": "http://www.w3.org/2001/XMLSchema#double" @@ -62,8 +62,8 @@ "ids:constraint": [ { "@type": { "@id": "ids:Constraint" }, - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.jsonld index 9ae90179..593e1e47 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 @@ -28,8 +28,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:STATE" }, - "ids:operator": { "@id": "idsc:NOT" }, + "odrl:leftOperand": { "@id": "idsc:STATE" }, + "odrl: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. (, "ids:pipEndpoint": { "@id": "?pipUri" } )? // The location where to find this state. } @@ -49,8 +49,8 @@ "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, "ids:rightOperand": { "@value": "?fee", "@type": "http://www.w3.org/2001/XMLSchema#double" @@ -62,8 +62,8 @@ "ids:constraint": [ { "@type": { "@id": "ids:Constraint" }, - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids: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/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_AGREEMENT_TEMPLATE.jsonld index dec97d82..0bbcfedf 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 @@ -16,15 +16,15 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_OFFER_TEMPLATE.jsonld index ad8ea26f..f56447ff 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 @@ -28,15 +28,15 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/RolebasedAgreementTemplates/ROLEBASED_REQUEST_TEMPLATE.jsonld index 61cd2200..7f0e9c1f 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 @@ -28,15 +28,15 @@ "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/SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld index de9fc1f2..b9fde405 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 @@ -22,8 +22,8 @@ "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, "ids:rightOperand": { "@value": "?price", "@type": "http://www.w3.org/2001/XMLSchema#double" 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..4c64231a 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 @@ -40,8 +40,8 @@ "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, "ids:rightOperand": { "@value": "?price", "@type": "http://www.w3.org/2001/XMLSchema#double" 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..fdb8d8db 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 @@ -40,8 +40,8 @@ "ids:includedIn": { "@id": "idsc:COMPENSATE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, - "ids:operator": { "@id": "idsc:EQ" }, + "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, + "odrl:operator": { "@id": "idsc:EQ" }, "ids:rightOperand": { "@value": "?price", "@type": "http://www.w3.org/2001/XMLSchema#double" 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..7d3faf50 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 @@ -19,20 +19,20 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_OFFER_TEMPLATE.jsonld index 3ff49c6c..d02299e4 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 @@ -31,20 +31,20 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/SecurityLevelTemplates/SECURITY_LEVEL_REQUEST_TEMPLATE.jsonld index 44d1f370..383dd801 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 @@ -31,20 +31,20 @@ "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/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_AGREEMENT_TEMPLATE.jsonld index bd0b6e39..dc5f39c4 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 @@ -15,8 +15,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, - "ids:operator": { "@id": "?spatialOperator" }, + "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, + "odrl:operator": { "@id": "?spatialOperator" }, "ids:rightOperand": { ( "@id": "?area" // a URI of a named area, for instance http://dbpedia.org/resource/Europe 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..37bf71a6 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 @@ -27,8 +27,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, - "ids:operator": { "@id": "?spatialOperator" }, + "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, + "odrl:operator": { "@id": "?spatialOperator" }, "ids:rightOperand": { ( "@id": "?area" // a URI of a named area, for instance http://dbpedia.org/resource/Europe 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..e6da98e6 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 @@ -27,8 +27,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, - "ids:operator": { "@id": "?spatialOperator" }, + "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, + "odrl:operator": { "@id": "?spatialOperator" }, "ids:rightOperand": { ( "@id": "?area" // a URI of a named area, for instance http://dbpedia.org/resource/Europe 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 59a46727..267ee4b4 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld @@ -16,8 +16,8 @@ "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 + "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 "ids: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 . @@ -35,8 +35,8 @@ ( { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "?IdscLeftOperand" }, - "ids:operator": { "@id": "?IdsBinaryOperator" }, + "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, + "odrl:operator": { "@id": "?IdsBinaryOperator" }, "ids:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? 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..43127f15 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 @@ -15,8 +15,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:SHORTER_EQ" }, + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.jsonld index bfd8b50d..c511f240 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 @@ -27,8 +27,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:SHORTER_EQ" }, + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.jsonld index 97256639..d6eb5c3a 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 @@ -27,8 +27,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:DURATION_EQ" }, + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:DURATION_EQ" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld index c3d79e02..43127f15 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 @@ -15,8 +15,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:SHORTER_EQ" }, + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.jsonld index bfd8b50d..c511f240 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 @@ -27,8 +27,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:SHORTER_EQ" }, + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.jsonld index 97256639..d6eb5c3a 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 @@ -27,8 +27,8 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, - "ids:operator": { "@id": "idsc:DURATION_EQ" }, + "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, + "odrl:operator": { "@id": "idsc:DURATION_EQ" }, "ids: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/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld index 39446e95..bb029f47 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 @@ -15,16 +15,16 @@ "ids:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [{ "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } },{ "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld index 7ac795a7..29e82841 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 @@ -28,8 +28,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -38,8 +38,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld index b1b25849..58d6cd46 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 @@ -28,8 +28,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -38,8 +38,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, "ids:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" 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..2e2452cf 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 @@ -16,8 +16,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -26,8 +26,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, "ids:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -43,8 +43,8 @@ "ids:includedIn": { "@id": "idsc:DELETE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld index 11875042..bd5dcffa 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 @@ -28,8 +28,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -38,8 +38,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, "ids:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -61,8 +61,8 @@ "ids:includedIn": { "@id": "idsc:DELETE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, "ids: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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld index 4bf5de7d..384708c5 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 @@ -28,8 +28,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:AFTER" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:AFTER" }, "ids:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -38,8 +38,8 @@ "ids:constraint": [ { "@type:" "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:BEFORE" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:BEFORE" }, "ids:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" @@ -61,8 +61,8 @@ "ids:includedIn": { "@id": "idsc:DELETE" }, "ids:actionRefinement": { "@type": "ids:Constraint", - "ids:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, - "ids:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, + "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, + "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, "ids: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/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld index f518934e..75ca7125 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 @@ -26,8 +26,8 @@ "rightOperand": { "@value": "https//example.com/logging_system_device", "@type": "xsd:anyURI"} },{ "@type":"ids:Constraint", - "ids:leftOperand": { "@id": "idsc:LOG_LEVEL"}, - "ids:operator": { "@id": "idsc:DEFINES_AS"}, + "odrl:leftOperand": { "@id": "idsc:LOG_LEVEL"}, + "odrl:operator": { "@id": "idsc:DEFINES_AS"}, "ids:rightOperand": { "@value": ["idsc:LOG_ON_ALLOW", "idsc:LOG_ON_DENY"] } }] }, 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..e621150e 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 @@ -20,8 +20,8 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_OFFER_TEMPLATE.jsonld index 3447569c..2e8d45dc 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 @@ -32,8 +32,8 @@ "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.jsonld b/examples/contracts-and-usage-policy/templates/UsageNotificationTemplates/USAGE_NOTIFICATION_REQUEST_TEMPLATE.jsonld index f6e38300..47d1df20 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 @@ -32,8 +32,8 @@ "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/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json index 9d82d900..9edd4e6d 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json @@ -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" }, From d55281d44937c524194cd6ca83a2b721683fe1fd Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 17 Feb 2022 15:33:13 +0100 Subject: [PATCH 206/288] Update ids:publisher to dct:publisher and remove unneeded ODRL abstract constraint --- testing/content/ResourceShape.ttl | 2 +- testing/contract/ConstraintShape.ttl | 20 -------------------- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index 54c1ec99..3205c7f5 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -67,7 +67,7 @@ shapes:ResourceShape sh:property [ a sh:PropertyShape ; - sh:path ids:publisher ; + sh:path dct:publisher ; sh:or ( [ sh:class ids:Agent ; sh:order 1 ; ] [ sh:nodeKind sh:IRI ; sh:order 2 ; ] diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index f8c48339..41dbf4f7 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -22,26 +22,6 @@ shapes: sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; ] . - -shapes:AbstractConstraintShape - a sh:NodeShape ; - sh:targetClass odrl:Constraint ; - - sh:sparql [ - a sh:SPARQLConstraint ; - sh:message " (AbstractConstraintShape): An odrl:Constraint 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 = odrl:Constraint) - } - """ ; - ] ; -. - - shapes:ConstraintShape a sh:NodeShape ; sh:targetClass odrl:Constraint ; From 9193a250e177e251513f0c412c9c9dffa5a55f79 Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 17 Feb 2022 15:39:40 +0100 Subject: [PATCH 207/288] Fix confusion at domain spec of foaf:mbox and foaf:homepage --- utils/refactor_helper.ttl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index d0c7e471..0dcb89d3 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -52,8 +52,7 @@ dct:DCMIType dct:MediaType a owl:Class ; rdfs:label "Media Type"@en ; - rdfs:comment "General class of media types (formerly known as MIME types). is used only when no ids:IANAMediaType available."@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 ; @@ -198,7 +197,7 @@ foaf:mbox a owl:ObjectProperty ; a owl:InverseFunctionalProperty ; rdfs:label "personal mailbox"@en ; - rdfs:domain ids:Participant; + 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 . @@ -206,7 +205,7 @@ foaf:homepage a owl:ObjectProperty ; a owl:InverseFunctionalProperty ; rdfs:label "homepage"@en ; - rdfs:domain ids:Participant; + rdfs:domain [ owl:unionOf (ids:Participant foaf:Person) ]; rdfs:range xsd:anyURI; rdfs:comment "General official homepage of the participant."@en . From 479b0c216c4d1739decce4619b57a23fbb804534 Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 17 Feb 2022 15:49:11 +0100 Subject: [PATCH 208/288] Replace all usages of ids:action and ids:Action with the respective ODRL variants --- codes/RequestTemplate.ttl | 4 ++-- examples/DATA1.ttl | 4 ++-- examples/DATA2.ttl | 2 +- examples/DATA3.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 4 ++-- .../templates/ActionTemplates/ACTION_TEMPLATE.jsonld | 4 ++-- .../CONNECTORBASED_AGREEMENT_TEMPLATE.jsonld | 2 +- .../CONNECTORBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.jsonld | 2 +- .../CONNECTORBASED_OFFER_TEMPLATE.ttl | 2 +- .../CONNECTORBASED_REQUEST_TEMPLATE.jsonld | 2 +- .../CONNECTORBASED_REQUEST_TEMPLATE.ttl | 2 +- .../DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.jsonld | 4 ++-- .../DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.jsonld | 4 ++-- .../DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE.ttl | 4 ++-- .../DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.jsonld | 4 ++-- .../DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE.ttl | 4 ++-- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld | 2 +- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.jsonld | 2 +- .../templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.jsonld | 2 +- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.jsonld | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_OFFER_TEMPLATE.jsonld | 2 +- .../NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld | 2 +- .../NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../ObligationTemplates/OBLIGATION_TEMPLATE.jsonld | 2 +- .../templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl | 2 +- .../AGREEMENT_PERMISSION_TEMPLATE.jsonld | 2 +- .../PermissionTemplates/AGREEMENT_PERMISSION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/OFFER_PERMISSION_TEMPLATE.jsonld | 2 +- .../PermissionTemplates/OFFER_PERMISSION_TEMPLATE.ttl | 2 +- .../PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.jsonld | 2 +- .../PermissionTemplates/REQUEST_PERMISSION_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.jsonld | 2 +- .../PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.jsonld | 2 +- .../PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.jsonld | 2 +- .../PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.jsonld | 6 +++--- .../templates/RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.jsonld | 6 +++--- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 2 +- .../RentalTemplates/RENTAL_REQUEST_TEMPLATE.jsonld | 6 +++--- .../templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 4 ++-- .../ROLEBASED_AGREEMENT_TEMPLATE.jsonld | 2 +- .../ROLEBASED_AGREEMENT_TEMPLATE.ttl | 2 +- .../ROLEBASED_OFFER_TEMPLATE.jsonld | 2 +- .../ROLEBASED_OFFER_TEMPLATE.ttl | 2 +- .../ROLEBASED_REQUEST_TEMPLATE.jsonld | 2 +- .../ROLEBASED_REQUEST_TEMPLATE.ttl | 2 +- .../SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld | 6 +++--- .../templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.jsonld | 6 +++--- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 4 ++-- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.jsonld | 6 +++--- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 4 ++-- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.jsonld | 2 +- .../SECURITY_LEVEL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_OFFER_TEMPLATE.jsonld | 2 +- .../SECURITY_LEVEL_OFFER_TEMPLATE.ttl | 2 +- .../SECURITY_LEVEL_REQUEST_TEMPLATE.jsonld | 2 +- .../SECURITY_LEVEL_REQUEST_TEMPLATE.ttl | 2 +- .../SPATIAL_AGREEMENT_TEMPLATE.jsonld | 2 +- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SPATIAL_OFFER_TEMPLATE.jsonld | 2 +- .../SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl | 2 +- .../SPATIAL_REQUEST_TEMPLATE.jsonld | 2 +- .../SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.ttl | 2 +- .../templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.jsonld | 4 ++-- .../templates/SwapTemplates/SWAP_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_OFFER_TEMPLATE.jsonld | 4 ++-- .../templates/SwapTemplates/SWAP_OFFER_TEMPLATE.ttl | 4 ++-- .../templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.jsonld | 4 ++-- .../templates/SwapTemplates/SWAP_REQUEST_TEMPLATE.ttl | 4 ++-- .../DURATION_AGREEMENT_TEMPLATE.jsonld | 2 +- .../DURATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_OFFER_TEMPLATE.jsonld | 2 +- .../DURATION_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_REQUEST_TEMPLATE.jsonld | 2 +- .../DURATION_REQUEST_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld | 2 +- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.jsonld | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_REQUEST_TEMPLATE.jsonld | 2 +- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld | 2 +- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld | 2 +- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld | 2 +- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.jsonld | 6 +++--- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld | 6 +++--- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld | 6 +++--- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld | 4 ++-- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_LOGGING_OFFER_TEMPLATE.jsonld | 4 ++-- .../UsageLoggingTemplates/USAGE_LOGGING_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_LOGGING_REQUEST_TEMPLATE.jsonld | 4 ++-- .../USAGE_LOGGING_REQUEST_TEMPLATE.ttl | 4 ++-- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.jsonld | 6 +++--- .../USAGE_NOTIFICATION_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.jsonld | 6 +++--- .../USAGE_NOTIFICATION_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.jsonld | 6 +++--- .../USAGE_NOTIFICATION_REQUEST_TEMPLATE.ttl | 4 ++-- .../TEMP_RESOURCE.json | 2 +- .../domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl | 4 ++-- testing/content/UsageControlObjectShape.ttl | 4 ++-- testing/contract/ActionShape.ttl | 2 +- testing/contract/RuleShape.ttl | 4 ++-- 121 files changed, 180 insertions(+), 180 deletions(-) diff --git a/codes/RequestTemplate.ttl b/codes/RequestTemplate.ttl index 2c0668d9..61461ad9 100644 --- a/codes/RequestTemplate.ttl +++ b/codes/RequestTemplate.ttl @@ -28,7 +28,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; "ids:provider": "", "ids:consumer": "", "odrl:permission": { - "ids:action": "[ids:use|ids:read|...]" , + "odrl:action": "[ids:use|ids:read|...]" , ["odrl:constraint" : { "odrl:leftOperand" : "", "odrl:operator" : "[ids:eq|ids:lt|ids:gt]", @@ -48,7 +48,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; ids:consumer ; ids:provider [odrl:permission[ - ids:action ids:[use|read|...] ; + odrl:action ids:[use|read|...] ; odrl:constraint [ odrl:leftOperand ; odrl:operator [ids:eq|ids:lt|ids:gt] ; diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index ac0ca327..632f7f38 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -76,11 +76,11 @@ data1:offer odrl:assigner part1: ; # individual target(s) ids:target data1: ; - ids:action idsc:USE ; + odrl:action idsc:USE ; # Obligation ids:preDuty [ a odrl:Duty ; - ids:action idsc:COMPENSATE ; + odrl:action idsc:COMPENSATE ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; diff --git a/examples/DATA2.ttl b/examples/DATA2.ttl index 1960125c..ba54fa1d 100644 --- a/examples/DATA2.ttl +++ b/examples/DATA2.ttl @@ -102,7 +102,7 @@ data2: 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 index c0c35ac3..28184562 100644 --- a/examples/DATA3.ttl +++ b/examples/DATA3.ttl @@ -73,7 +73,7 @@ data3:offer ids:assigner part1: ; # individual target(s) ids:target data3: ; - ids:action idsc:USE ; + odrl:action idsc:USE ; ids:constraint [ a ids:Constraint ; odrl:leftOperand idsc:SECURITY_LEVEL ; diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index 7b540190..b90e78a0 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -114,11 +114,11 @@ data1:offer # individual target(s) ids:target _:foo ; - ids:action idsc:USE ; + odrl:action idsc:USE ; # Obligation ids:preDuty [ a odrl:Duty; - ids:action idsc:COMPENSATE ; + odrl:action idsc:COMPENSATE ; odrl:constraint [ a odrl:Constraint; odrl:leftOperand idsc:PAY_AMOUNT ; 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 b140dcd1..ef794d30 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld @@ -7,7 +7,7 @@ { "@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": [ { @@ -22,7 +22,7 @@ } | // or { - "@type": "ids:Action", + "@type": "odrl:Action", "ids:includedIn": { "@id": "?ActionUri"}, "ids:actionRefinement": [ { 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 2f2223a2..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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", 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 eccb6541..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 @@ -25,7 +25,7 @@ idsc:CONNECTORBASED_AGREEMENT_TEMPLATE a ids:ConnectorbasedAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:SYSTEM ; 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 80dcdb59..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,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:constraint": [ { "@type:" "ids:Constraint", 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 7afb0982..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 @@ -37,7 +37,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:ConnectorbasedOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:SYSTEM ; 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 7470a68c..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,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:constraint": [ { "@type:" "ids:Constraint", 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 9feb93b3..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 @@ -37,7 +37,7 @@ idsc:CONNECTORBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:ConnectorbasedReques 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:SYSTEM ; 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 bc1ee88c..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 @@ -25,12 +25,12 @@ idsc:DISTRIBUTE_ENCRYPTED_AGREEMENT_TEMPLATE a ids:DistributeEcryptedAgreement ; 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 odrl:Duty ; 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 ; ] ; ( 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 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 7daa1298..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 @@ -37,7 +37,7 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; 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 odrl:Duty ; ( @@ -48,7 +48,7 @@ idsc:DISTRIBUTE_ENCRYPTED_OFFER_TEMPLATE a ids:DistributeEcryptedOffer ; (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 ; ] ; ( 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 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 995f6147..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 @@ -37,7 +37,7 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; 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 odrl:Duty ; ( @@ -48,7 +48,7 @@ idsc:DISTRIBUTE_ENCRYPTED_REQUEST_TEMPLATE a ids:DistributeEcryptedRequest ; (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 ; ] ; ( 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 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 fe0008bc..90b123a4 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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [{ "@type": "ids:Constraint", "odrl:leftOperand": { 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 d43e2b7d..06bb1e44 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 @@ -24,7 +24,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand [ 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 9a0c6099..e34afbcb 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,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:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { 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 c9f5361e..2644cf70 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 @@ -36,7 +36,7 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand [ 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 6b9488b4..2e1ff483 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,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:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { 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 75deb2ef..4257cb39 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 @@ -36,7 +36,7 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand [ 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 79c6fdcc..0f524641 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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", 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 734acd93..bd14b300 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 @@ -24,7 +24,7 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; 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 510354be..e177854b 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,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:constraint": [ { "@type:" "ids:Constraint", 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 7e4b82ef..ff36c579 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 @@ -36,7 +36,7 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; 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 6ef45c76..25f0bfad 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,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:constraint": [ { "@type:" "ids:Constraint", 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 3c2cae0d..df6d24d7 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 @@ -36,7 +36,7 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; 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 724fd1f5..6021f6f4 100644 --- a/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ObligationTemplates/OBLIGATION_TEMPLATE.ttl @@ -17,6 +17,6 @@ idsc:OBLIGATION_TEMPLATE a odrl:Duty ; odrl:assigner idsc:PARTICIPANT_TEMPLATE ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + odrl:action idsc:ACTION_TEMPLATE ; [ odrl:constraint idsc:CONSTRAINT_TEMPLATE ; ]* # zero or more Constraints . 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 18553dc2..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 @@ -16,7 +16,7 @@ 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 ; + 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 947167c7..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 @@ -22,7 +22,7 @@ idsc:OFFER_PERMISSION_TEMPLATE a odrl:Permission ; odrl: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 ; [ 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 37f14ff6..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 @@ -22,7 +22,7 @@ idsc:REQUEST_PERMISSION_TEMPLATE a odrl:Permission ; odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) ) ids:target idsc:ASSET_TEMPLATE ; - ids:action idsc:ACTION_TEMPLATE ; + 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 0a3594a7..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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", 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 95c5f54a..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 @@ -25,7 +25,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_AGREEMENT_TEMPLATE a ids:PurposeAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc: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 b559bf0a..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,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:constraint": [ { "@type:" "ids:Constraint", 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 b9a543d5..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 @@ -37,7 +37,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:PurposeOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc: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 d1db2fc4..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,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:constraint": [ { "@type:" "ids:Constraint", 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 04d55fc3..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 @@ -37,7 +37,7 @@ idsc:PURPOSE_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:PurposeRequest ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:PURPOSE ; 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 57cde810..48fd0ae2 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,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", @@ -34,8 +34,8 @@ "@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", 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 28c4d3f6..470058fa 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 @@ -25,7 +25,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:STATE ; @@ -37,7 +37,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; a odrl:Duty ; odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ 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 29843eb0..a2647bb7 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,7 +24,7 @@ "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", @@ -44,8 +44,8 @@ ( "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", 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 cc6acd41..511bb664 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 @@ -37,7 +37,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:STATE ; 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 593e1e47..1ed6b168 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,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:constraint": [ { "@type:" "ids:Constraint", @@ -44,8 +44,8 @@ ( "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", 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 52ff603f..29aa98da 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 @@ -37,7 +37,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:STATE ; @@ -55,7 +55,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ 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 0bbcfedf..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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", 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 f3a3936b..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 @@ -25,7 +25,7 @@ idsc:ROLEBASED_AGREEMENT_TEMPLATE a ids:RolebasedAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:USER ; 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 f56447ff..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,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:constraint": [ { "@type:" "ids:Constraint", 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 a47f27f4..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 @@ -37,7 +37,7 @@ idsc:ROLEBASED_RESTRICTED_USAGE_OFFER_TEMPLATE a ids:RolebasedOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:USER ; 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 7f0e9c1f..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,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:constraint": [ { "@type:" "ids:Constraint", 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 65db1f2d..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 @@ -37,7 +37,7 @@ idsc:ROLEBASED_RESTRICTED_USAGE_REQUEST_TEMPLATE a ids:RolebasedRequest ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:USER ; 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 b9fde405..bb0f099a 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,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: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", 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 13f19015..59443abd 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 @@ -25,12 +25,12 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; 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 odrl:Duty ; odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ 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 4c64231a..29cd3710 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,8 +35,8 @@ ( "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", 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 ac9e4431..8d368fa8 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 @@ -37,7 +37,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; 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 odrl:Duty ; ( @@ -48,7 +48,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ 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 fdb8d8db..6d5be829 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,8 +35,8 @@ ( "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", 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 b49a9aef..c4abbca8 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 @@ -37,7 +37,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; 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 odrl:Duty ; ( @@ -48,7 +48,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:COMPENSATE ; ids:actionRefinement [ 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 7d3faf50..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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:LogicalConstraint", 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 00314faa..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 @@ -24,7 +24,7 @@ idsc:SECURITY_LEVEL_AGREEMENT_TEMPLATE a ids:SecurityAgreement ; 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 ; odrl:constraint [ a odrl:LogicalConstraint ; odrl:or ( # '(' 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 d02299e4..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,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:constraint": [ { "@type:" "ids:LogicalConstraint", 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 73f6d01d..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 @@ -36,7 +36,7 @@ idsc:SECURITY_LEVEL_OFFER_TEMPLATE a ids:SecurityOffer ; 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 ; odrl:constraint [ a odrl:LogicalConstraint ; odrl:or ( # '(' 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 383dd801..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,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:constraint": [ { "@type:" "ids:LogicalConstraint", 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 f64cbf7f..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 @@ -36,7 +36,7 @@ idsc:SECURITY_LEVEL_REQUEST_TEMPLATE a ids:SecurityRequest ; 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 ; odrl:constraint [ a odrl:LogicalConstraint ; odrl:or ( # '(' 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 dc5f39c4..dbcbdeba 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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, 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 e1e51445..7d585642 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 @@ -24,7 +24,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; 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 37bf71a6..82a5a206 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,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:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, 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 0d000500..c44e0ca4 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 @@ -36,7 +36,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; 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 e6da98e6..75b14de1 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,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:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, 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 5c307c04..09c96921 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 @@ -37,7 +37,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; 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 a4b01e3f..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 @@ -25,7 +25,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; 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 ; + 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 @@ -35,7 +35,7 @@ idsc:SWAP_AGREEMENT_TEMPLATE a ids:SwapAgreement ; 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 ; + 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 c8937ce9..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 @@ -37,7 +37,7 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; 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 ; + 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 @@ -53,7 +53,7 @@ idsc:SWAP_OFFER_TEMPLATE a ids:SwapOffer ; 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 ; + 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 4765ee3c..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 @@ -37,7 +37,7 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; 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 ; + 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 @@ -53,7 +53,7 @@ idsc:SWAP_REQUEST_TEMPLATE a ids:SwapRequest ; 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 ; + 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/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_AGREEMENT_TEMPLATE.jsonld index 43127f15..cbc9407c 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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, 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 f4220a93..78d95e07 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 @@ -24,7 +24,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; 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 c511f240..18385b47 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,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:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, 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 1576727d..96c3737e 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 @@ -37,7 +37,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; 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 d6eb5c3a..c1f2a525 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,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:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, 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 747e7864..28668d5b 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 @@ -37,7 +37,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; 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 43127f15..cbc9407c 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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, 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 f4220a93..78d95e07 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 @@ -24,7 +24,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; 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 c511f240..18385b47 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,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:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, 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 1576727d..96c3737e 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 @@ -37,7 +37,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; 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 d6eb5c3a..c1f2a525 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,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:constraint": { "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, 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 747e7864..28668d5b 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 @@ -37,7 +37,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; 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 ; odrl:constraint [ a odrl:Constraint ; odrl:leftOperand idsc:ELAPSED_TIME ; 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 bb029f47..d5c0bd06 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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [{ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, 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 5e626260..bd61a237 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 @@ -25,7 +25,7 @@ idsc:USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE a ids:IntervalUsageAgreement ; 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 ; odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; 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 29e82841..95c9f7e4 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,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:constraint": [ { "@type:" "ids:Constraint", 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 92335937..adad8966 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 @@ -37,7 +37,7 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; 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 ; odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; 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 58d6cd46..f4ee4a86 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,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:constraint": [ { "@type:" "ids:Constraint", 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 dd6858fa..fbe1e763 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 @@ -37,7 +37,7 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; 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 ; odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; 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 2e2452cf..c9952a95 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,7 +12,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), - "ids:action": (idsc:ACTION_TEMPLATE), + "odrl:action": (idsc:ACTION_TEMPLATE), "ids:constraint": [ { "@type:" "ids:Constraint", @@ -38,8 +38,8 @@ "@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", 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 a1761817..b385c109 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 @@ -25,7 +25,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement 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 ; odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; @@ -40,7 +40,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement a odrl:Duty ; odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ; # same value as ids:consumer - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:DELETE ; ids:actionRefinement [ 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 bd5dcffa..80bc680c 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,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:constraint": [ { "@type:" "ids:Constraint", @@ -56,8 +56,8 @@ ( "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", 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 36f82505..4e1800dc 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 @@ -37,7 +37,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; 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 ; odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; @@ -58,7 +58,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer ) - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:DELETE ; ids:actionRefinement [ 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 384708c5..d9af64b8 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,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:constraint": [ { "@type:" "ids:Constraint", @@ -56,8 +56,8 @@ ( "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", 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 782d720d..7aa37435 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 @@ -37,7 +37,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; 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 ; odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; 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 75ca7125..93ad5b83 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,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: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": { + "odrl:action": { "@id": "idsc:LOG", "ids:actionRefinement": [{ "@type":"ids:Constraint", 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 34edfa4b..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 @@ -25,12 +25,12 @@ idsc:USAGE_LOGGING_AGREEMENT_TEMPLATE a ids:LoggingAgreement ; 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 odrl:Duty ; 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 ; ] ; ( 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 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 0e0d4509..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 @@ -37,7 +37,7 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; 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 odrl:Duty ; ( @@ -48,7 +48,7 @@ idsc:USAGE_LOGGING_OFFER_TEMPLATE a ids:LoggingOffer ; (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 ; ] ; ( 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 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 d248ef62..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 @@ -37,7 +37,7 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; 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 odrl:Duty ; ( @@ -48,7 +48,7 @@ idsc:USAGE_LOGGING_REQUEST_TEMPLATE a ids:LoggingRequest ; (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 ; ] ; ( 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 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 e621150e..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,11 +12,11 @@ "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", 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 ef127b69..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 @@ -25,10 +25,10 @@ idsc:USAGE_NOTIFICATION_AGREEMENT_TEMPLATE a ids:NotificationAgreement ; 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 odrl:Duty ; - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ 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 2e8d45dc..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,11 +24,11 @@ "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", 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 538e3149..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 @@ -37,10 +37,10 @@ idsc:USAGE_NOTIFICATION_OFFER_TEMPLATE a ids:NotificationOffer ; 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 odrl:Duty ; - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ 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 47d1df20..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,11 +24,11 @@ "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", 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 53207e39..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 @@ -37,10 +37,10 @@ idsc:USAGE_NOTIFICATION_REQUEST_TEMPLATE a ids:NotificationRequest ; 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 odrl:Duty ; - ids:action [ + odrl:action [ a odrl:Action ; odrl:includedIn idsc:NOTIFY ; ids:actionRefinement [ diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.json index 9edd4e6d..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": "", diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index a2db351d..5c21cf4e 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -81,7 +81,7 @@ sample_Data: a odrl:Permission ; # Specify permission - ids:action idsc:USE ; + odrl:action idsc:USE ; odrl:assigner ""; # Individual target artifact(s) @@ -97,7 +97,7 @@ sample_Data: # Obligation / Duty ids:preDuty [ - ids:action idsc:COMPENSATE ; + odrl:action idsc:COMPENSATE ; odrl:constraint [ odrl:leftOperand idsc:payAmount ; ids:operator ids:EQ ; diff --git a/testing/content/UsageControlObjectShape.ttl b/testing/content/UsageControlObjectShape.ttl index 5fac5fe9..2fc8e9fc 100644 --- a/testing/content/UsageControlObjectShape.ttl +++ b/testing/content/UsageControlObjectShape.ttl @@ -83,10 +83,10 @@ shapes:UsageControlObjectShape sh:property [ a sh:PropertyShape ; - sh:path ids:action ; + sh:path odrl:action ; sh:class odrl:Action ; sh:severity sh:Violation ; - sh:message " (UsageControlObjectShape): An ids:action property must point from an ids:UsageControlObject to an odrl:Action."@en ; + sh:message " (UsageControlObjectShape): An odrl:action property must point from an ids:UsageControlObject to an odrl:Action."@en ; ] ; sh:property [ diff --git a/testing/contract/ActionShape.ttl b/testing/contract/ActionShape.ttl index 29424daf..ab1652a1 100644 --- a/testing/contract/ActionShape.ttl +++ b/testing/contract/ActionShape.ttl @@ -39,6 +39,6 @@ shapes:ActionShape sh:minCount 0 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ActionShape): An ids:pxpEndpoint property must have an ids:Action to an ids:PXP."@en ; + sh:message " (ActionShape): An ids:pxpEndpoint property must have an odrl:Action to an ids:PXP."@en ; ] ; . diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 552188e5..addc6919 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -41,11 +41,11 @@ shapes:RuleShape sh:property [ a sh:PropertyShape ; - sh:path ids:action ; + sh:path odrl:action ; sh:class odrl:Action ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (RuleShape): An odrl:Rule must have at least one odrl:Action linked through the ids:action property"@en ; + sh:message " (RuleShape): An odrl:Rule must have at least one odrl:Action linked through the odrl:action property"@en ; ] ; sh:property [ From bea39e9e7b9ae7776e7eb37c3dcc5493cfdeb134 Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 17 Feb 2022 15:51:26 +0100 Subject: [PATCH 209/288] Remove deprecated ids:action and place odrl:action into refactor helper --- model/contract/Rule.ttl | 9 --------- utils/refactor_helper.ttl | 8 ++++++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/model/contract/Rule.ttl b/model/contract/Rule.ttl index 6efa359d..0b367dfd 100644 --- a/model/contract/Rule.ttl +++ b/model/contract/Rule.ttl @@ -9,15 +9,6 @@ # Properties # ---------- -ids:action - rdfs:subPropertyOf 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. - ids:target a owl:ObjectProperty; rdfs:domain odrl:Rule; diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index 0dcb89d3..50b73265 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -151,6 +151,14 @@ odrl:Action 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 ; From c5d3fce4d06b88f50d8bea01911d0d8848b0bbeb Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 17 Feb 2022 16:48:50 +0100 Subject: [PATCH 210/288] Update rightOperand from ids to odrl in examples --- .../templates/ActionTemplates/ACTION_TEMPLATE.ttl | 4 ++-- .../templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl | 4 ++-- .../ConstraintTemplates/TEMPORAL_CONSTRAINT_TEMPLATE.ttl | 8 ++++---- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl | 2 +- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../N_TIMES_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl | 4 ++-- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.ttl | 6 +++--- .../templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.ttl | 6 +++--- .../templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- .../templates/SalesTemplates/SALES_REQUEST_TEMPLATE.ttl | 2 +- .../SPATIAL_AGREEMENT_TEMPLATE.ttl | 2 +- .../SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.ttl | 2 +- .../SPATIAL_REQUEST_TEMPLATE.ttl | 2 +- .../templates/TargetTemplates/ASSET_TEMPLATE.ttl | 4 ++-- .../DURATION_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_REQUEST_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_AGREEMENT_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.ttl | 2 +- .../DURATION_USAGE_REQUEST_TEMPLATE.ttl | 2 +- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.ttl | 4 ++-- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.ttl | 4 ++-- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.ttl | 6 +++--- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.ttl | 6 +++--- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.ttl | 6 +++--- .../TEMP_RESOURCE.ttl | 4 ++-- 33 files changed, 56 insertions(+), 56 deletions(-) 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 5da57405..4426f27f 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.ttl @@ -24,7 +24,7 @@ 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 - ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "blue" + 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" ( odrl:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . ] @@ -41,7 +41,7 @@ a odrl:Constraint ; odrl:leftOperand ?IdscLeftOperand ; odrl:operator ?IdsBinaryOperator ; - ids:rightOperand ?Value ; + odrl:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? ( odrl:unit ?Unit ; )? ){2,} # at least two constraints 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 d9744fd7..6afb9712 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.ttl @@ -19,7 +19,7 @@ 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 := ( odrl:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . ] @@ -32,7 +32,7 @@ a odrl:Constraint ; odrl:leftOperand ?IdscLeftOperand ; ids:operator ?IdsBinaryOperator ; - ids:rightOperand ?Value ; + odrl:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? ( odrl:unit ?Unit ; )? ){2,} # at least two constraints 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 41e9a5a2..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 @@ -22,7 +22,7 @@ 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 @@ -31,7 +31,7 @@ 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 @@ -43,14 +43,14 @@ a ids:TemporalConstraint ; # A TemporalConstraint, for instance current time > January 1st 2020 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 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/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.ttl index 06bb1e44..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 @@ -32,7 +32,7 @@ idsc:EVENT_AGREEMENT_TEMPLATE a ids:EventAgreement ; ids:broader idsc:EVENT ; ] ; odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied - ids:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration + 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.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_OFFER_TEMPLATE.ttl index 2644cf70..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 @@ -44,7 +44,7 @@ idsc:EVENT_OFFER_TEMPLATE a ids:EventOffer ; ids:broader idsc:EVENT ; ] ; odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied - ids:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration + 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.ttl b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.ttl index 4257cb39..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 @@ -44,7 +44,7 @@ idsc:EVENT_REQUEST_TEMPLATE a ids:EventRequest ; ids:broader idsc:EVENT ; ] ; odrl:operator idsc:EQUALS ; # if pipReturnValue == true --> Constraint is staisfied - ids:rightOperand "true"^^xsd:boolean ; # for a certain usage ?duration + 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.ttl b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_AGREEMENT_TEMPLATE.ttl index bd14b300..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 @@ -29,7 +29,7 @@ idsc:N_TIMES_USAGE_AGREEMENT_TEMPLATE a ids:NotMoreThanNAgreement ; a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; - ids:rightOperand ?n ; # Do not execute the Action more than ?n times. + odrl:rightOperand ?n ; # Do not execute the Action more than ?n times. ids:pipEndpoint ?pipUri ; # the PIP that counts the access events ] ; ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints 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 ff36c579..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 @@ -41,7 +41,7 @@ idsc:N_TIMES_USAGE_OFFER_TEMPLATE a ids:NotMoreThanNOffer ; a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; - ids:rightOperand ?n ; # Do not execute the Action more than ?n times. + odrl:rightOperand ?n ; # Do not execute the Action more than ?n times. ids:pipEndpoint ?pipUri ; # the PIP that counts the access events ] ; ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints 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 df6d24d7..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 @@ -41,7 +41,7 @@ idsc:N_TIMES_USAGE_REQUEST_TEMPLATE a ids:NotMoreThanNRequest ; a odrl:Constraint ; odrl:leftOperand idsc:COUNT ; odrl:operator idsc:LTEQ ; - ids:rightOperand ?n ; # Do not execute the Action more than ?n times. + odrl:rightOperand ?n ; # Do not execute the Action more than ?n times. ids:pipEndpoint ?pipUri ; # the PIP that counts the access events ] ; ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints 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 e3e61f89..35a3a3fa 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.ttl @@ -28,7 +28,7 @@ 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 - ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "ADMIN" + 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" ( odrl:unit ?Unit ; )? # A unit which may further explain the ?Value ] @@ -44,7 +44,7 @@ a odrl:Constraint ; odrl:leftOperand ?IdscLeftOperand ; odrl:operator ?IdsBinaryOperator ; - ids:rightOperand ?Value ; + odrl:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? ( odrl:unit ?Unit ; )? ){2,} # at least two constraints 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 470058fa..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 @@ -30,7 +30,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; a odrl:Constraint ; odrl:leftOperand idsc:STATE ; odrl: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: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 [ @@ -44,7 +44,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; - ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee + odrl:rightOperand "?fee"^^xsd:double ; # pay the ?fee odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] @@ -53,7 +53,7 @@ idsc:RENTAL_AGREEMENT_TEMPLATE a ids:RentalAgreement ; a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ] ; ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints 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 511bb664..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 @@ -42,7 +42,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; a odrl:Constraint ; odrl:leftOperand idsc:STATE ; odrl: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: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 [ @@ -62,7 +62,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; - ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee + odrl:rightOperand "?fee"^^xsd:double ; # pay the ?fee odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] @@ -71,7 +71,7 @@ idsc:RENTAL_OFFER_TEMPLATE a ids:RentalOffer ; a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ] ; ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints 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 29aa98da..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 @@ -42,7 +42,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; a odrl:Constraint ; odrl:leftOperand idsc:STATE ; odrl: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: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 [ @@ -62,7 +62,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; - ids:rightOperand "?fee"^^xsd:double ; # pay the ?fee + odrl:rightOperand "?fee"^^xsd:double ; # pay the ?fee odrl:unit ?currency ; ( ids:pipEndpoint ?pipUri ; )? ] @@ -71,7 +71,7 @@ idsc:RENTAL_REQUEST_TEMPLATE a ids:RentalRequest ; a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; odrl:operator idsc:AFTER ; - ids:rightOperand ?duration ; # for a certain usage ?duration + odrl:rightOperand ?duration ; # for a certain usage ?duration ] ] ; ( odrl:constraint idsc:CONSTRAINT_TEMPLATE ; )* # zero or more Constraints 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 59443abd..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 @@ -37,7 +37,7 @@ idsc:SALES_AGREEMENT_TEMPLATE a ids:SalesAgreement ; a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; - ids:rightOperand "?price"^^xsd:double ; + odrl:rightOperand "?price"^^xsd:double ; odrl:unit ?currency ; ] ] ; 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 8d368fa8..2d837c6c 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 @@ -55,7 +55,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; - ids:rightOperand "?price"^^xsd:double ; + odrl:rightOperand "?price"^^xsd:double ; odrl:unit ?currency ; ] ] ; 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 c4abbca8..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 @@ -55,7 +55,7 @@ idsc:SALES_REQUEST_TEMPLATE a ids:SalesRequest ; a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; ids:operator idsc:EQ ; - ids:rightOperand "?price"^^xsd:double ; + odrl:rightOperand "?price"^^xsd:double ; odrl:unit ?currency ; ] ] ; 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 7d585642..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 @@ -29,7 +29,7 @@ idsc:SPATIAL_AGREEMENT_TEMPLATE a ids:SpatialAgreement ; a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE - ids:rightOperand ( + odrl:rightOperand ( ?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 c44e0ca4..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 @@ -41,7 +41,7 @@ idsc:SPATIAL_OFFER_TEMPLATE a ids:SpatialOffer ; a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE - ids:rightOperand ( + odrl:rightOperand ( ?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 09c96921..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 @@ -42,7 +42,7 @@ idsc:SPATIAL_REQUEST_TEMPLATE a ids:SpatialRequest ; a odrl:Constraint ; odrl:leftOperand idsc:ABSOLUTE_SPATIAL_POSITION ; odrl:operator ?spatialOperator ; # the spatial comparison operator, for instance idsc:INSIDE - ids:rightOperand ( + odrl:rightOperand ( ?area ; # a URI of a named area, for instance http://dbpedia.org/resource/Europe | # or [ 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 75c7207c..411206d1 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.ttl @@ -28,7 +28,7 @@ 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 - ids:rightOperand ?Value ; # The value expression all members of this collection have to share, for instance ?Value := "blue" + 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" ( odrl:unit ?Unit ; )? # A unit which may further explain the ?Value, for instance . ] @@ -44,7 +44,7 @@ a odrl:Constraint ; odrl:leftOperand ?IdscLeftOperand ; odrl:operator ?IdsBinaryOperator ; - ids:rightOperand ?Value ; + odrl:rightOperand ?Value ; ( ids:pipEndpoint ?AttributeLocation ; )? ( odrl:unit ?Unit ; )? ){2,} # at least two constraints 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 78d95e07..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 @@ -29,7 +29,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; 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 ] ; ( 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 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 96c3737e..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 @@ -42,7 +42,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; 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 ] ; ( 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 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 28668d5b..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 @@ -42,7 +42,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; 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 ] ; ( 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 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 78d95e07..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 @@ -29,7 +29,7 @@ idsc:DURATION_AGREEMENT_TEMPLATE a ids:DurationAgreement ; 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 ] ; ( 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 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 96c3737e..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 @@ -42,7 +42,7 @@ idsc:DURATION_OFFER_TEMPLATE a ids:DurationOffer ; 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 ] ; ( 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 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 28668d5b..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 @@ -42,7 +42,7 @@ idsc:DURATION_REQUEST_TEMPLATE a ids:DurationRequest ; 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 ] ; ( 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 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 bd61a237..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 @@ -29,12 +29,12 @@ idsc:USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE a ids:IntervalUsageAgreement ; 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 ] ; odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ( 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 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 adad8966..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 @@ -41,12 +41,12 @@ idsc:USAGE_DURING_INTERVAL_OFFER_TEMPLATE a ids:IntervalUsageOffer ; 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 ] ; odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ( 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 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 fbe1e763..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 @@ -41,12 +41,12 @@ idsc:USAGE_DURING_INTERVAL_REQUEST_TEMPLATE a ids:IntervalUsageRequest ; 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 ] ; odrl:constraint [ odrl:leftOperand ids:POLICY_EVALUATION_TIME ; ids:operator idsc:BEFORE ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ( 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 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 b385c109..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 @@ -29,12 +29,12 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; 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 odrl:Duty ; @@ -48,7 +48,7 @@ idsc:USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE a ids:DeleteAfterIntervalAgreement a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd: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 4e1800dc..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 @@ -41,12 +41,12 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; 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 odrl:Duty ; @@ -66,7 +66,7 @@ idsc:USAGE_UNTIL_DELETION_OFFER_TEMPLATE a ids:DeleteAfterIntervalOffer ; a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd: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 7aa37435..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 @@ -41,12 +41,12 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; odrl:constraint [ odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:AFTER ; - ids:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?startDateTime"^^xsd:dateTimeStamp ; ] ; 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 odrl:Duty ; @@ -66,7 +66,7 @@ idsc:USAGE_UNTIL_DELETION_REQUEST_TEMPLATE a ids:DeleteAfterIntervalRequest ; a odrl:Constraint ; odrl:leftOperand idsc:POLICY_EVALUATION_TIME ; ids:operator idsc:TEMPORAL_EQUALS ; - ids:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; + odrl:rightOperand "?endDateTime"^^xsd:dateTimeStamp ; ] ; ] ] ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 5c21cf4e..989e642b 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -92,7 +92,7 @@ sample_Data: 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 @@ -101,7 +101,7 @@ sample_Data: odrl:constraint [ odrl:leftOperand idsc:payAmount ; ids:operator ids:EQ ; - ids:rightOperand 100 ; + odrl:rightOperand 100 ; odrl:unit ; ] ] From 18371369eb0ca7c92ce7c8a6ab4176a46f037d1c Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 17 Feb 2022 16:52:40 +0100 Subject: [PATCH 211/288] Update rightOperand from ids to odrl in all other places --- codes/RequestTemplate.ttl | 4 ++-- examples/DATA1.ttl | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../templates/ActionTemplates/ACTION_TEMPLATE.jsonld | 2 +- .../ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld | 4 ++-- .../TEMPORAL_CONSTRAINT_TEMPLATE.jsonld | 8 ++++---- .../EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld | 2 +- .../EventRestrictedUsage/EVENT_OFFER_TEMPLATE.jsonld | 2 +- .../EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.jsonld | 2 +- .../N_TIMES_USAGE_AGREEMENT_TEMPLATE.jsonld | 2 +- .../N_TIMES_USAGE_OFFER_TEMPLATE.jsonld | 2 +- .../N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld | 2 +- .../ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld | 4 ++-- .../RentalTemplates/RENTAL_AGREEMENT_TEMPLATE.jsonld | 8 ++++---- .../RentalTemplates/RENTAL_OFFER_TEMPLATE.jsonld | 6 +++--- .../RentalTemplates/RENTAL_REQUEST_TEMPLATE.jsonld | 6 +++--- .../SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld | 2 +- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.jsonld | 2 +- .../SalesTemplates/SALES_REQUEST_TEMPLATE.jsonld | 2 +- .../SPATIAL_AGREEMENT_TEMPLATE.jsonld | 2 +- .../SPATIAL_OFFER_TEMPLATE.jsonld | 2 +- .../SPATIAL_REQUEST_TEMPLATE.jsonld | 2 +- .../templates/TargetTemplates/ASSET_TEMPLATE.jsonld | 4 ++-- .../DURATION_AGREEMENT_TEMPLATE.jsonld | 2 +- .../DURATION_OFFER_TEMPLATE.jsonld | 2 +- .../DURATION_REQUEST_TEMPLATE.jsonld | 2 +- .../DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld | 2 +- .../DURATION_USAGE_OFFER_TEMPLATE.jsonld | 2 +- .../DURATION_USAGE_REQUEST_TEMPLATE.jsonld | 2 +- .../USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld | 4 ++-- .../USAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld | 4 ++-- .../USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld | 4 ++-- .../USAGE_UNTIL_DELETION_AGREEMENT_TEMPLATE.jsonld | 6 +++--- .../USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld | 6 +++--- .../USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld | 6 +++--- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld | 2 +- model/contract/Constraint.ttl | 7 ------- testing/contract/ConstraintShape.ttl | 6 +++--- utils/refactor_helper.ttl | 9 ++++++++- 39 files changed, 70 insertions(+), 70 deletions(-) diff --git a/codes/RequestTemplate.ttl b/codes/RequestTemplate.ttl index 61461ad9..ab36c182 100644 --- a/codes/RequestTemplate.ttl +++ b/codes/RequestTemplate.ttl @@ -32,7 +32,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; ["odrl:constraint" : { "odrl:leftOperand" : "", "odrl:operator" : "[ids:eq|ids:lt|ids:gt]", - "ids:rightOperand" : "[|]" + "odrl:rightOperand" : "[|]" } [,]]* } }"""^^xsd:string ; skos:note """@prefix ids: . @@ -52,7 +52,7 @@ idsc:RequestTemplate a ids:PolicyTemplate ; odrl:constraint [ odrl:leftOperand ; odrl:operator [ids:eq|ids:lt|ids:gt] ; - ids:rightOperand [|] + odrl:rightOperand [|] ] ] ;]* ."""^^xsd:string diff --git a/examples/DATA1.ttl b/examples/DATA1.ttl index 632f7f38..62db9989 100644 --- a/examples/DATA1.ttl +++ b/examples/DATA1.ttl @@ -85,7 +85,7 @@ data1:offer a odrl:Constraint ; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQUALS ; - ids:rightOperand 25 ; + odrl:rightOperand 25 ; odrl:unit ] diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index b90e78a0..b42fa310 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -123,7 +123,7 @@ data1:offer a odrl:Constraint; odrl:leftOperand idsc:PAY_AMOUNT ; odrl:operator idsc:EQ ; - ids:rightOperand 25 ; + odrl:rightOperand 25 ; odrl:unit ] ] 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 ef794d30..dbf9a276 100644 --- a/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ActionTemplates/ACTION_TEMPLATE.jsonld @@ -34,7 +34,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, "odrl:operator": { "@id": "?IdsBinaryOperator" }, - "ids:rightOperand": { "@id": "?Value" } + "odrl:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? } 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 18c201fc..e26ee187 100644 --- a/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ConstraintTemplates/CONSTRAINT_TEMPLATE.jsonld @@ -8,7 +8,7 @@ "@type": "ids:Constraint", // Define a collection of data objects which, for instance, all have an explicit attribute "color":"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 - "ids:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" + "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,7 +22,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, "odrl:operator": { "@id": "?IdsBinaryOperator" }, - "ids:rightOperand": { "@id": "?Value" } + "odrl:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? } 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 ffa6b588..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 @@ -13,7 +13,7 @@ | "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" } @@ -27,7 +27,7 @@ ("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" } @@ -42,7 +42,7 @@ "@type": "ids:TemporalConstraint", // A TemporalConstraint, for instance current time > January 1st 2020 "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. "odrl:operator": { "@id": "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" } @@ -52,7 +52,7 @@ "@type": "ids:TemporalConstraint", // A TemporalConstraint, for instance current time < January 1st 2021 "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, // The current time, usually the system time. "odrl:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "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/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_AGREEMENT_TEMPLATE.jsonld index 90b123a4..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 @@ -19,7 +19,7 @@ "@id": "idsc:EVENT" }, "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?eventUri", "@type": "xsd:anyURI" }, 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 e34afbcb..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 @@ -32,7 +32,7 @@ "ids:broader" : "idsc:EVENT" }, "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/EventRestrictedUsage/EVENT_REQUEST_TEMPLATE.jsonld index 2e1ff483..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 @@ -32,7 +32,7 @@ "ids:broader" : "idsc:EVENT" }, "odrl:operator": { "@id": "idsc:EQUALS" }, // if pipReturnValue == true --> Constraint is staisfied - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "true", "@type": "http://www.w3.org/2001/XMLSchema#boolean" }, 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 0f524641..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 @@ -18,7 +18,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:COUNT" }, "odrl:operator": { "@id": "idsc:LTEQ" }, - "ids:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. + "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.jsonld b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_OFFER_TEMPLATE.jsonld index e177854b..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 @@ -30,7 +30,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:COUNT" }, "odrl:operator": { "@id": "idsc:LTEQ" }, - "ids:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. + "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.jsonld b/examples/contracts-and-usage-policy/templates/NTimesUsageTemplates/N_TIMES_USAGE_REQUEST_TEMPLATE.jsonld index 25f0bfad..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 @@ -30,7 +30,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:COUNT" }, "odrl:operator": { "@id": "idsc:LTEQ" }, - "ids:rightOperand": { "@id": "?n" }, // Do not execute the Action more than ?n times. + "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/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld index 5d58d764..4e42c1f7 100644 --- a/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/ParticipantTemplates/PARTICIPANT_TEMPLATE.jsonld @@ -18,7 +18,7 @@ "@type": "ids:Constraint", // Define a collection of data objects which, for instance, all have an explicit attribute "color":"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 - "ids:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" + "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 . } @@ -37,7 +37,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, "odrl:operator": { "@id": "?IdsBinaryOperator" }, - "ids:rightOperand": { "@id": "?Value" } + "odrl:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? } 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 48fd0ae2..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 @@ -19,14 +19,14 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:STATE" }, "odrl: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: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", "odrl:leftOperand": { "@id": "idsc:STATE" }, "odrl: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: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. } ] , @@ -42,7 +42,7 @@ "odrl:leftOperand": { "@id": "idsc:PAYMENT" }, "odrl:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?fee", "@type": "http://www.w3.org/2001/XMLSchema#double" }, @@ -55,7 +55,7 @@ "@type": { "@id": "ids:Constraint" }, "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_OFFER_TEMPLATE.jsonld index a2647bb7..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 @@ -30,7 +30,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:STATE" }, "odrl: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: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. } ] , @@ -51,7 +51,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, "odrl:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?fee", "@type": "http://www.w3.org/2001/XMLSchema#double" }, @@ -64,7 +64,7 @@ "@type": { "@id": "ids:Constraint" }, "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/RentalTemplates/RENTAL_REQUEST_TEMPLATE.jsonld index 1ed6b168..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 @@ -30,7 +30,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:STATE" }, "odrl: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: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. } ] , @@ -51,7 +51,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, "odrl:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?fee", "@type": "http://www.w3.org/2001/XMLSchema#double" }, @@ -64,7 +64,7 @@ "@type": { "@id": "ids:Constraint" }, "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "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/SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_AGREEMENT_TEMPLATE.jsonld index bb0f099a..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 @@ -24,7 +24,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, "odrl:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.jsonld index 29cd3710..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 @@ -42,7 +42,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, "odrl:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_REQUEST_TEMPLATE.jsonld index 6d5be829..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 @@ -42,7 +42,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:PAY_AMOUNT" }, "odrl:operator": { "@id": "idsc:EQ" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?price", "@type": "http://www.w3.org/2001/XMLSchema#double" }, 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 dbcbdeba..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 @@ -17,7 +17,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, "odrl:operator": { "@id": "?spatialOperator" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_OFFER_TEMPLATE.jsonld index 82a5a206..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 @@ -29,7 +29,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, "odrl:operator": { "@id": "?spatialOperator" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/SpatialRestrictedTemplates/SPATIAL_REQUEST_TEMPLATE.jsonld index 75b14de1..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 @@ -29,7 +29,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ABSOLUTE_SPATIAL_POSITION" }, "odrl:operator": { "@id": "?spatialOperator" }, - "ids:rightOperand": { + "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/TargetTemplates/ASSET_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld index 267ee4b4..4e680523 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/ASSET_TEMPLATE.jsonld @@ -18,7 +18,7 @@ "@type": "ids:Constraint", // Define a collection of data objects which, for instance, all have an explicit attribute "color":"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 - "ids:rightOperand": { "@id": "?Value" } // The value expression all members of this collection have to share, for instance ?Value := "blue" + "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 . } @@ -37,7 +37,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "?IdscLeftOperand" }, "odrl:operator": { "@id": "?IdsBinaryOperator" }, - "ids:rightOperand": { "@id": "?Value" } + "odrl:rightOperand": { "@id": "?Value" } (, "ids:pipEndpoint": { "@id": "?AttributeLocation" } )? (, "ids:unit": { "@id": "?Unit" } )? } 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 cbc9407c..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 @@ -17,7 +17,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_OFFER_TEMPLATE.jsonld index 18385b47..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 @@ -29,7 +29,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_REQUEST_TEMPLATE.jsonld index c1f2a525..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 @@ -29,7 +29,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, "odrl:operator": { "@id": "idsc:DURATION_EQ" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_AGREEMENT_TEMPLATE.jsonld index cbc9407c..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 @@ -17,7 +17,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_OFFER_TEMPLATE.jsonld index 18385b47..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 @@ -29,7 +29,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, "odrl:operator": { "@id": "idsc:SHORTER_EQ" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/DURATION_USAGE_REQUEST_TEMPLATE.jsonld index c1f2a525..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 @@ -29,7 +29,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:ELAPSED_TIME" }, "odrl:operator": { "@id": "idsc:DURATION_EQ" }, - "ids:rightOperand": { + "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/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_AGREEMENT_TEMPLATE.jsonld index d5c0bd06..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 @@ -17,7 +17,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -25,7 +25,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_OFFER_TEMPLATE.jsonld index 95c9f7e4..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 @@ -30,7 +30,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -40,7 +40,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_DURING_INTERVAL_REQUEST_TEMPLATE.jsonld index f4ee4a86..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 @@ -30,7 +30,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -40,7 +40,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } 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 c9952a95..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 @@ -18,7 +18,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -28,7 +28,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -45,7 +45,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_OFFER_TEMPLATE.jsonld index 80bc680c..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 @@ -30,7 +30,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -40,7 +40,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -63,7 +63,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, - "ids:rightOperand": { + "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.jsonld b/examples/contracts-and-usage-policy/templates/TimeRestrictedUsageTemplates/USAGE_UNTIL_DELETION_REQUEST_TEMPLATE.jsonld index d9af64b8..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 @@ -30,7 +30,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:AFTER" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?startDateTime", // ?startDateTime < ?endDateTime "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -40,7 +40,7 @@ "@type:" "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:BEFORE" }, - "ids:rightOperand": { + "odrl:rightOperand": { "@value": "?endDateTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp" } @@ -63,7 +63,7 @@ "@type": "ids:Constraint", "odrl:leftOperand": { "@id": "idsc:POLICY_EVALUATION_TIME" }, "odrl:operator": { "@id": "idsc:TEMPORAL_EQUALS" }, - "ids:rightOperand": { + "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/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld b/examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld index 93ad5b83..592a4d40 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 @@ -28,7 +28,7 @@ "@type":"ids:Constraint", "odrl:leftOperand": { "@id": "idsc:LOG_LEVEL"}, "odrl:operator": { "@id": "idsc:DEFINES_AS"}, - "ids:rightOperand": { "@value": ["idsc:LOG_ON_ALLOW", "idsc:LOG_ON_DENY"] } + "odrl:rightOperand": { "@value": ["idsc:LOG_ON_ALLOW", "idsc:LOG_ON_DENY"] } }] }, "ids:PXPEndpoint": { "@id": "https//example.com/pxp/log" } diff --git a/model/contract/Constraint.ttl b/model/contract/Constraint.ttl index d3c4b639..d84c731b 100644 --- a/model/contract/Constraint.ttl +++ b/model/contract/Constraint.ttl @@ -10,13 +10,6 @@ # Properties # ---------- -ids:rightOperand rdfs:subPropertyOf odrl:rightOperand; - a owl:ObjectProperty; - 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 ids:rightOperand or odrl:rightOperandReference should be used in an odrl:Constraint."@en. - ids:pipEndpoint a owl:ObjectProperty; rdfs:label "has PIP endpoint"@en; rdfs:domain odrl:Constraint; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 41dbf4f7..815a507c 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -50,11 +50,11 @@ shapes:ConstraintShape [ sh:property [ a sh:PropertyShape ; - sh:path ids:rightOperand ; + sh:path odrl:rightOperand ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): Exactly one ids:rightOperand property must point from an ids::Constraint to Literals or rdfs:Resources. Note that ids:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; + sh:message " (ConstraintShape): Exactly one odrl:rightOperand property must point from an ids::Constraint to Literals or rdfs:Resources. Note that odrl:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; ] ] [ @@ -65,7 +65,7 @@ shapes:ConstraintShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ConstraintShape): Exactly one odrl:rightOperandReference property must point from an ids::Constraint to an IRI. Note that ids:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; + sh:message " (ConstraintShape): Exactly one odrl:rightOperandReference property must point from an ids::Constraint to an IRI. Note that odrl:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; ] ] ) ; diff --git a/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index 50b73265..6e937c85 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -383,6 +383,13 @@ odrl:leftOperand 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 ; @@ -396,7 +403,7 @@ odrl:rightOperandReference 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 ids:rightOperand or ids:rightOperandReference should be used in an odrl: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 odrl:rightOperand or ids:rightOperandReference should be used in an odrl:Constraint."@en . odrl:unit a rdf:Property ; From db18d356ba665e66cb9dfa1034b85685b36fe444 Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Wed, 23 Feb 2022 11:52:00 +0100 Subject: [PATCH 212/288] replace line 174 sh:datatype xsd:string ;) by (new)sh:nodeKind sh:IRI --- testing/participant/ParticipantShape.ttl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index e654461d..869b46ad 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -69,7 +69,7 @@ shapes:ParticipantShape sh:severity sh:Violation ; sh:message " (ParticipantShape): An ids:participantCertification property must not have more than one point from an ids:Participant to an ids:ParticipantCertification."@en ; ]; - + sh:property [ a sh:PropertyShape ; sh:path ids:businessIdentifier ; @@ -84,11 +84,11 @@ shapes:ParticipantShape sh:datatype xsd:string ; sh:severity sh:Violation ; #TODO for major release: Enforce property - #sh:minCount 1 ; + #sh:minCount 1 ; sh:maxCount 1 ; sh:message " (ParticipantShape): An idsParticipant must have exactly one VAT number as xsd:string linked through the ids:vatID property."@en ; ]; - + sh:property [ a sh:PropertyShape ; sh:path ids:jurisdiction ; @@ -171,7 +171,7 @@ shapes:PersonShape sh:property [ a sh:PropertyShape ; sh:path ids:homepage ; - sh:datatype xsd:string ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (PersonShape): An ids:homepage property must not have more than one point from an ids:Person to an xsd:string."@en ; From 20bbe2ac53df0c27068d7d9472248ae3d02fd0ac Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Wed, 23 Feb 2022 12:04:11 +0100 Subject: [PATCH 213/288] Update to sh:datatype xsd:anyURI ; --- testing/participant/ParticipantShape.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index 869b46ad..c5524881 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -171,7 +171,7 @@ shapes:PersonShape sh:property [ a sh:PropertyShape ; sh:path ids:homepage ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (PersonShape): An ids:homepage property must not have more than one point from an ids:Person to an xsd:string."@en ; From 285705175c845317fe627ea688e308b0d2624bae Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Wed, 23 Feb 2022 13:38:45 +0100 Subject: [PATCH 214/288] Same error as last PR regarding xsd:anyURI --- testing/participant/ParticipantShape.ttl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testing/participant/ParticipantShape.ttl b/testing/participant/ParticipantShape.ttl index e654461d..fcf73203 100644 --- a/testing/participant/ParticipantShape.ttl +++ b/testing/participant/ParticipantShape.ttl @@ -47,7 +47,7 @@ shapes:ParticipantShape sh:property [ a sh:PropertyShape ; sh:path ids:corporateHomepage ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (ParticipantShape): An ids:corporateHomepage property must not have more than one point from an ids:Participant to a homepage IRI."@en ; @@ -69,7 +69,7 @@ shapes:ParticipantShape sh:severity sh:Violation ; sh:message " (ParticipantShape): An ids:participantCertification property must not have more than one point from an ids:Participant to an ids:ParticipantCertification."@en ; ]; - + sh:property [ a sh:PropertyShape ; sh:path ids:businessIdentifier ; @@ -84,11 +84,11 @@ shapes:ParticipantShape sh:datatype xsd:string ; sh:severity sh:Violation ; #TODO for major release: Enforce property - #sh:minCount 1 ; + #sh:minCount 1 ; sh:maxCount 1 ; sh:message " (ParticipantShape): An idsParticipant must have exactly one VAT number as xsd:string linked through the ids:vatID property."@en ; ]; - + sh:property [ a sh:PropertyShape ; sh:path ids:jurisdiction ; From 43f90027250476536948d9735bec5401d459b80c Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Wed, 23 Feb 2022 15:20:34 +0100 Subject: [PATCH 215/288] Replace sh:nodeKind sh:IRI with sh:datatype xsd:anyURI when allowed. --- testing/communication/EndpointShape.ttl | 6 +++--- testing/content/AssetShape.ttl | 4 ++-- testing/content/RepresentationShape.ttl | 2 +- testing/content/ResourceShape.ttl | 4 ++-- testing/contract/ConstraintShape.ttl | 2 +- testing/contract/RuleShape.ttl | 6 +++--- .../infrastructure/InfrastructureComponentShape.ttl | 4 ++-- testing/security/AuthInfoShape.ttl | 2 +- testing/shared/DescribedSemanticallyShape.ttl | 2 +- testing/taxonomies/DigitalContentShape.ttl | 13 ++----------- testing/taxonomies/MessageShape.ttl | 6 +++--- testing/taxonomies/RepresentationShape.ttl | 4 ++-- 12 files changed, 23 insertions(+), 32 deletions(-) diff --git a/testing/communication/EndpointShape.ttl b/testing/communication/EndpointShape.ttl index 463138d5..6479d5a1 100644 --- a/testing/communication/EndpointShape.ttl +++ b/testing/communication/EndpointShape.ttl @@ -28,7 +28,7 @@ shapes:EndpointShape sh:property [ a sh:PropertyShape ; sh:path ids:accessURL ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (EndpointShape): An ids:acccessURL property must not have more than one point from an ids:Endpoint to an IRI."@en ; @@ -79,7 +79,7 @@ shapes:EndpointShape sh:property [ a sh:PropertyShape ; sh:path ids:endpointDocumentation ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; sh:message " (EndpointShape): An ids:endpointDocumentation property must point from an ids:Endpoint to an IRI."@en ; ]; @@ -100,7 +100,7 @@ shapes:ConnectorEndpointShape sh:property [ a sh:PropertyShape ; sh:path ids:accessURL ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:minCount 1; sh:maxCount 1; sh:severity sh:Violation ; diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index 03c39b4a..89484731 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -49,12 +49,12 @@ shapes:AssetCollectionShape sh:property [ a sh:PropertyShape ; sh:path ids:assetSource ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (AssetCollectionShape): An ids:assetSource property must not have more than one point from an odrl:AssetCollection to an IRI."@en ; ] ; - + sh:property [ a sh:PropertyShape ; sh:path odrl:refinement ; diff --git a/testing/content/RepresentationShape.ttl b/testing/content/RepresentationShape.ttl index baabe388..3a8be0a5 100644 --- a/testing/content/RepresentationShape.ttl +++ b/testing/content/RepresentationShape.ttl @@ -47,7 +47,7 @@ shapes:RepresentationShape a sh:PropertyShape ; sh:path ids:representationStandard ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; 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 ; ] ; diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index 3205c7f5..eadeca8c 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -70,7 +70,7 @@ shapes:ResourceShape sh:path dct:publisher ; sh:or ( [ sh:class ids:Agent ; sh:order 1 ; ] - [ sh:nodeKind sh:IRI ; sh:order 2 ; ] + [ sh:datatype xsd:anyURI ; sh:order 2 ; ] ) ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -82,7 +82,7 @@ shapes:ResourceShape sh:path ids:sovereign ; sh:or ( [ sh:class ids:Agent ; sh:order 1 ; ] - [ sh:nodeKind sh:IRI ; sh:order 2 ; ] + [ sh:datatype xsd:anyURI ; sh:order 2 ; ] ) ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 815a507c..a06d06f6 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -73,7 +73,7 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; sh:path odrl:unit ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (ConstraintShape): An odrl:unit property must point from an odrl:Constraint to a unit via a URI."@en ; diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index addc6919..4193b584 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -53,7 +53,7 @@ shapes:RuleShape sh:path odrl:assignee ; #sh:or ( # [ - sh:nodeKind sh:IRI ;# ] + sh:datatype xsd:anyURI ;# ] # [ sh:class ids:Participant ; #] #); sh:minCount 0 ; @@ -67,7 +67,7 @@ shapes:RuleShape sh:path odrl:assigner ; #sh:or ( # [ - sh:nodeKind sh:IRI ;# ] + sh:datatype xsd:anyURI ;# ] # [ sh:class ids:Participant ; #] #); sh:minCount 0 ; @@ -81,7 +81,7 @@ shapes:RuleShape sh:path ids:target ; #sh:or ( # [ - sh:nodeKind sh:IRI ;# ] + sh:datatype xsd:anyURI ;# ] # [ sh:class ids:Participant ; #] #); sh:maxCount 1 ; diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index 68af8315..734f644a 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -29,7 +29,7 @@ shapes:InfrastructureComponentShape sh:path ids:maintainer ; sh:or ( [ sh:class ids:Participant ; sh:order 2 ; ] - [ sh:nodeKind sh:IRI ; sh:order 1 ; ] + [ sh:datatype xsd:anyURI ; sh:order 1 ; ] ) ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -41,7 +41,7 @@ shapes:InfrastructureComponentShape sh:path ids:curator ; sh:or ( [ sh:class ids:Participant ; sh:order 2 ; ] - [ sh:nodeKind sh:IRI ; sh:order 1 ; ] + [ sh:datatype xsd:anyURI ; sh:order 1 ; ] ) ; sh:minCount 1 ; sh:maxCount 1 ; diff --git a/testing/security/AuthInfoShape.ttl b/testing/security/AuthInfoShape.ttl index 1d6f90dc..39b831ce 100644 --- a/testing/security/AuthInfoShape.ttl +++ b/testing/security/AuthInfoShape.ttl @@ -27,7 +27,7 @@ shapes:AuthInfoShape sh:property [ a sh:PropertyShape ; sh:path ids:authService ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/shared/DescribedSemanticallyShape.ttl b/testing/shared/DescribedSemanticallyShape.ttl index 5497c2b7..4adf1209 100644 --- a/testing/shared/DescribedSemanticallyShape.ttl +++ b/testing/shared/DescribedSemanticallyShape.ttl @@ -48,7 +48,7 @@ shapes:DescribedSemanticallyShape sh:property [ a sh:PropertyShape ; sh:path sh:shapesGraph ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (DescribedSemanticallyShape): An sh:shapesGraph property must point from an ids:DescribedSemantically to zero or one IRI."@en ; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 3f885b64..1cec7c3e 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -91,16 +91,7 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path dct:licence ; - sh:nodeKind sh:IRI ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (DigitalContentShape): A dct:licence property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path dct:licence ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (DigitalContentShape): A dct:licence property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; @@ -176,7 +167,7 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path ids:contentStandard ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (DigitalContentShape): An ids:contentStandard property must not have more than one point from an ids:DigitalContent to an IRI."@en ; diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index d3aae85e..70fb99d9 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -27,7 +27,7 @@ shapes:DescriptionRequestMessage sh:property [ a sh:PropertyShape ; sh:path ids:requestedElement ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -52,7 +52,7 @@ shapes:ResponseMessageShape sh:severity sh:Violation ; sh:message " (ResponseMessageShape): An ids:Message must have exactly one URI reference to an ids:Message linked through the ids:correlationMessage property"@en ; ] . - + shapes:QueryMessageShape a sh:NodeShape ; @@ -248,7 +248,7 @@ shapes:InvokeOperationMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:operationReference ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; diff --git a/testing/taxonomies/RepresentationShape.ttl b/testing/taxonomies/RepresentationShape.ttl index 6adec86b..d7dba6a4 100644 --- a/testing/taxonomies/RepresentationShape.ttl +++ b/testing/taxonomies/RepresentationShape.ttl @@ -27,7 +27,7 @@ shapes:DataRepresentationShape sh:property [ a sh:PropertyShape ; sh:path ids:dataType ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (DataRepresentationShape): An ids:dataType property must point from an ids:DataRepresentation to zero or one IRI."@en ; @@ -109,7 +109,7 @@ shapes:AppRepresentationShape sh:property [ a sh:PropertyShape ; sh:path ids:dataAppDistributionService ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (AppRepresentationShape): An ids:dataAppDistributionService property must point from an ids:AppRepresentation to zero or one IRI."@en ; From fa8794c0a1166df448b020d836a3a092b05cdaaa Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Wed, 23 Feb 2022 15:24:15 +0100 Subject: [PATCH 216/288] Finalize t60 docu --- evaluation_external/README.md | 59 ++++++++++------------ evaluation_external/extension-concept.png | Bin 0 -> 32589 bytes 2 files changed, 28 insertions(+), 31 deletions(-) create mode 100644 evaluation_external/extension-concept.png diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 20d4ea2e..54501be1 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -1,17 +1,19 @@ -# T60 - Reusability through application profiles +# Reusability and Domain-specific Extensions Through Application Profiles (T60) ## Introduction -In the IDS Information Model we re-used 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. -Moreover, based on the performed analysis, we understood that a better approach would be to remove those redundant definitions and directly use the external properties in our SHACL shapes instead. + +In the IDS Information Model we re-used 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. Moreover, based on the performed analysis, we understood that a better approach would be 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 main goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use the external definitions from the respective existent ontologies. + +Our goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use the external definitions from the respective existent ontologies.
Methodology

- -First, we created a new branch **"refactorIDSModel-enhancement"** by clonating 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: + +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 not adding any additional information to the already external definition. - **Partially Redundant (pr)** the internal definition of a class or property which redundancy is not clear because it adds some level of specificity. @@ -29,39 +31,37 @@ We describe some examples here: - 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**, 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*. +- 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*, were we added `@prefix foaf: `, and replace `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 implementation of the first given example, we modified the following files in the model: *Message.ttl*, *Resource.ttl*, *Connector.ttl*, *Participant.ttl*, were we added `@prefix foaf: `, and replace `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.

-
Issues +
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) + [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) + [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) + [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) +- 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)

@@ -71,12 +71,9 @@ Here we list the issues related to the evaluation and implementation of changes. 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 infomodel has been improved. -Link: [Revised infomodel](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) +- 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 infomodel has been improved. Link: [Revised infomodel](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. @@ -86,7 +83,7 @@ Link: [Dedicated helper file](https://github.com/International-Data-Spaces-Assoc We summarize the results of our evaluations as follows: - +

@@ -100,7 +97,9 @@ To use the IDS Information Model, the steps to consider are the following: 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: + + +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. @@ -154,7 +153,7 @@ ids:sovereign ``` -Here the prefix `ids` is defined locally in the **IDS Information model** by `@prefix ids: .` +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`). Also by the properties we can see that a `ids:resourcePart` is in the domain of an `ids:Resource`, meaning that any resource with this property is an instance of a Resource. A similar situation is given for the properties `ids:resourceEndpoint` and `ids:contractOffer`. Moreover, there are other properties defined in the domain of a Resource, but we will omit them here for the sake of the example. @@ -281,7 +280,7 @@ shapes:ResourceShape a sh:NodeShape; Now we see that the properties `dct:title`, `dct:description`, `dct:issued`, and `ap15@serialNumber` are mandatory, as the shapes indicates that the value for the `sh:minCount` is 1. -Another possibility is to use the existent definitions in the **IDS Information model** and we want to tighten the restrictions, for example for the properties `dcat:mediaType`, `ids:representationStandard `, and `ids:instsance`. +Another possibility is to use the existent definitions in the **IDS Information model** and we want to tighten the restrictions, for example for the properties `dcat:mediaType`, `ids:representationStandard `, and `ids:instsance`. Here the snipped of the definition in the **IDS Information model** (available in *../model/content/Representation.ttl*): @@ -364,9 +363,7 @@ As a result we change the three mentioned properties as mandatory, because we re
## 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 0000000000000000000000000000000000000000..cf777ef182a8c303f732d590047a9a64889d84e3 GIT binary patch literal 32589 zcmeFY1yh{Q_AZLMJHg%E-JL*y1b2cv2{8EJ?i$=7!QEkSOCUjm4;CB-ces<^-v52} zId$rOfqSQls-frY)oXRHUi!Sz?=+M!(cYlJz`$UtD9dZZz`(je|FTh#pd&;hBr7m5 zK?ExDGVcMV$9afZ1f#Pf+oz|el=L(*p>ilPp$Oj4j|4f^6t)I%+YP;cZH=Q}PFD7* zpsv@~vGw-GhFHXqFs=`9rfR!fthrvdE#j9)W_^49`yoJHh5hMrPkBU%pDW70mbb^KTTi2pA~f z|Cyu!Dmnxt^$nx_XRHdy7E>&YLFfh@i7bYzWscc;_Z~#3phX^o)(%}xP74-F*`1jc z98=7UrGRLxMKD}c`OhSR|9{f|u@R?ky>_j+7yKrto>Fy3fxUm$-3b&rc;3NkMv|QW z@IyQg7bbRW%Z_O?%Tuqsu)RfgC~^Z& z87Gac)eQU@t_uS`2{s;Xyr{b~vVspVqR8(WPgqIq?z$x6P?68q-S6NiM6Sisk6IHv z8iZw;Kk*x?Mzd+oG|UFQ%V}6SXhKr!+42hs#_S*6I3eX&d?D1HH?$PJEV>)4Y z=2v%z6!mF))5v~l;nPzu-TV4o)j%`tz;9Pe$~wJ|!R1_1GSO@rox(J)lzDDZ*$B?* z-m--!Ti70rfXtIljfoI%@~89S9gg7HeUk3f$+j6=aRzJivhdE49p{2~T7CNWaho>} zdmFEI=OcXYqnKv7j8CeCi3uT}<*|ss`I~<70QcwHjaMxlB4sloeuO7SB1mk|3!8<7 zfe+fgL9#+orUH8k&o|IwBHq#e` zq##Y6h{8FF<}X#AU_TNWqNrPpf-_Ee|2hOZ|Q zxpquy`%1XdPP;P##UCT*1auYb^rj&lIqVe<0YcjQ-6eAlS6=S@CN4qrWj>u5jci|) z5XJM7n$ERJ&2e_ND_#q;&H|JA0co$M-P;b7rIRV)nryICV%zoNM&r7zr9U=#ionyF zA|_D}wRC-|S(km!axF+sDbXlCc03Mb&xv}tQkT!!&q7)mqH64~B2tm_&z_M2TU~8j z_a_8)_B9&RS0j00L1alp>-LGZ6A;p^b209(;Ejwbn)}kIy(Kb^^yYVoD3QDmjoQgn zch|{ORtIlx5ns~y-#ktw_AkThv!1zU_A8NhqhE)67yU@Ky`+4K{`|97!LY8FYDyo@ z)b=OiL*avEwACTv0obHH5pvh|Y@)k7HhFt0s3`W}v8i%Lq-(0~bMB2A6n^vmDH07J z3Tr9s@E}79xpPc^YhVS&3g^fuH2_H$=ZX%-j2_Oy+1cKQ!DWX`NiT?n?JO zKpXG4@GX^A9$=eTzvgkab1(JP|JIWiB(dQvD2IMGmdR94w;H0isHN^ z8N~A-4q+ zW`Qrz_mi-?hC;{po6fcyBthlCdTiLD>fcrpnAwd5A?1{%UfbU7lSh*i3O$yooxkd9 z8kK^1o5@@9dN;?v_htgUKOA?Mu3x{^tBPaBo&Yw2OL14n= zS2f+&8AnDzG>hFRacOFIb*DunAxJJvtL|jvq%e6F%Okss!CAabQ@N6B4*jqQy{>!Y zyRbZb#c>JJVC&dUA#J{3C9neiqTUlTc&T|BZ;dn6OG}XGD?`roMBiSu$SwoYfea{E zASqM(s(2gkl*A}lcp(b)>;0JX)%5ENzS+yq-_Nu+z182@f}3?O(O`(fuKe0i8Xh4j6g*P+l|Ahb=*l}W_}tq0bu1enTy*BNTM zP=%}Tck{$t;*j;e$?QuV7V~}Z#x?AEME4nR7;4sR6s`!YaLF}wNfg#^37eK;oNlle zr?&}e6o&ZFt(S48u_0GPevS(U{`ffebv(6Q=Puy)4nKZF$4{@Oj#rCfkSfgP4+k5& zV_4Bw#|ub1+qzzbKyVdH|yfG*gS6o)D3L8qFJ4=C-6 z>jo3sz7*w*cWO(tunaGx(wQ&m7PVa&7Ha7;V0oQBRR;XczF~8Mc`WYK;pj!#ORa0U zzgqG+zy<8^HyABz(MK3(aRup@ZRjT zoFz7>@a5MdbJ(ne{|w#;{@x2gl|aShfYJ&*yVT}HWO{)dQy?)LL4`9`UcI36rf7(Q zW3}Fs!50q8W+qN`=C#3_cebtOG|lZvdUuua*kl8-yj#nkzOxSg(h2$rm(b<1=wrZB zSTMwXAI$mWavi=@rTHuDixRWbI?opfb!*n=IABoUZnY7}eGBEDHx*$b#`lEZB2$0P z2L4TPVm*#)n3CV1#0_%WQItJ$<>pTgr|7c`uk6VXF5No@W3HIjcd*#pwEW`K)FkbA zdihD1Om|idPvM2zhr}&HU*^;D5y&^qKfH{q4XER@!PjR+4YJU(leyzY|muxh2M{O6;h<3c#+IG={J;cVxUL|hF zp~6o*4<5ueZap$wb|1sr4`I1l`7 z+B3iG2G6J9{1@Fcj*W4p+HB@K-LTiAg4d65Rm-;U*4wu2iQI0Oc~1vixJNhJ-l{<| zYgrO+oMLQhpYyuNE4_DyGZRhDrC7nRNFgEE?B9W|VlI&wNdDnpN;Y{LnyY2JM*=$G z&u3DBayXlp;nq>;Oz*#s<3+tEoLYJEtk@kZ>hPkve>)XCXxKYLT#*ll1uMVw;}7{E zwl&C}$e65sb)@2i1?=ecLSO7E=`~Q`c75z&@Y4z(J9?~RjpB)E0_N91_^hB?2X$Y) zO+0Y0MW=9Awd&MJAD?&2g0>$Koyamm@auv%{PRRA`6`E-iod>9gSs?$+i;@+Qj;PY zqF*ejg{27_nY6HP`<8d)ZJ76;tq10L`x-y|CZ2@+1q558k3FNtKaJu{2u?C_g)m@7bvpaq@r&o~LlGRMId}a^!kWzMZ4fg(^i2gGoCz{vIi0@yP-2FG=qQchH=IS)YF!ie z&w^f4tvdrQe-*nvsN*Z0A=1mFmNvwSMf}%j9h_Q*lNKtcpg3zEv=m%6*o*5fOzT zM3iI}KHpI^vfM`=-7#-%o8-eK^x!niWNO>&wdlIQ3q|E6F z6acUcah%ivZK5^Aeml0uSf-s0dfYZ!LU^wHV;P-@p4u-Z&N4XD8j7wfyu8i{Zqm(5 z@m@LFGelg~pNKT>4J1LMHpsu*c%>QqXs}XAha#|yoBDO>N z2NXH#hc2Ao_NhaZn+LQN4*JajQ9~7$lpWZ6snnVNtQDc1x7f}^<|If9J-NXiHxa1t znB*;wl?&dDy#3)4!Tk-7KGzLq8p(i=lBhhuOoS08?LG_mcka`WuGhFNE88tA;t zrmr%9e@rRA-Zl7)K>cyjhH;VWRDnaBaf1y!Ksgp>5XrEbZfvD`s0E9SgJX%pkulRw z?GM==XxmrW3EAF~8VRR(RUB-MiYg_B9mN%JQa<$x_}*l>B7%#AVM;nA$=)FDUngBf zcuE&2qk}!x<)8Nj392~V17=S7G+6mLs2`^r%*wDnHeK+-C5$)WEt2*E!iQti6Gb?- zNdK(lA6bWDXRu5a4|<=nfVI&5yWSbbx9TDYyK7gku@b$zo2~Jy-)~Tfek$ZR$?}pn z)MEo%*UEt6`+T4CFFpFWVub{yYA{t?kDa;vP>q$cKn)>0Oa`1U_fohwY5~S&ci2!J zgtZt1_oE^i3oAz8V|d6GtKgB4n|bU1u(ajardwJb*OfX!^e5C%Y;F~VO?G{X?%q60 zMz0Qz-4*n|fpBea=ceRJrOnI{fyYb`T6Rz+2pdlV?H=`Y{ zs*^Kw1y-XI3x2RJNk6lI1F8*YN40edy_JyZ@ztP*%IkKW_4cDWC5r8gd=^wm1bKeo zj)ap~22%u2&*Kb)=BJ@)zV6pID`0)c5~4W=3l zU6)G-bxFhb8Tv}hzP8yE&b5v* zxr;zPO~ZW$KwQ-9h8tK+h(b@|yrKC{51)xVAlH37isHUNPF5Th`V6D4jAL*7dysqd zh<u!kFy#nf8<~cSdH(V!Sx;X99ERb^88%$GiGvndf3x@PNT*^6SZ2`tcN~DQ-^` z9XN!)A5M(h#1LPm@-)8)zfm*+f5aG~IHe$W96sAB)WE?CAkb~QuSXtLI>{M`dHqMl zsV>!mAXHo4GMu|Y5o23blKSoK^%jxA7_g%%SjIO6scVN1z;ex@bvCp+$kzo>#P20U za;h-!fFHO^!E}>|8y}g|2@Yvml2+*~ZUx~UR8Gv9s|$+cS8K~p$Cij=w!9cXrqgSj z6GtR}F?9My6K_zZ8IzTRUhMER)(KB9?OFDmF1uisEV|u>64dU(Joc!?A4b#g%+|%KxIWB~eO8iV+ z;poP(sY159upPEY1-(<|20@d*i$z&RN8DZ(L<^3)2Dj;wLTYq>KCDSi!cdLs@(dAL z#s-H`C5LcJQzr?oqQ?s5;l9@9_O{3Q!5v&Btg;nkY@D}dO0^Kcg* z1AVZGU*ypBzY6a;UnKA+3x;8MF61*wn7O=(B6|r9tyCCI-Ng@dZ+}Y-%s+sGdio7w z$-U6pIxhE3M@4^9`{>>_Gl~qMuwO6t5>wfA+vBBlnhp!}A3NOL%E?m^5SArTNt5~- zyIK2V_6vecRMi(E-vaiSJo_@!(H@4>1KVs(z$RI_kWbBb7QEA!5AF5Qu@~m^p|^#3 z$rM zbw=;ZfSez&w^;2g1LEEXjoG-{7D;}$C-Uor8gYD*GhGw<3TZc+&VwlD3ytOqiG0}W z@NUq_jN5M_A1Y&lJ1y?Z@UN(`UXhciOg3Q0+ZL8%1FS3fX0gLg&e32t^lKpCw_3l1 zSszSv&~^`icw*gh$7@_Kw8&_u#|D4a-y#~7Ebx}m_!T8m>KE5Lv$4_iz(VzNY-lWr zKtU0zC>ZH4-exu6hX%iju$9w-YNt9QNaosG&FHSc-@0zW{ql?Lttg`;lEBcL7mKIp z{vZ*W#%&hxAM*CxK({h)5w`U?_;v3NU+#PUK&S1M>-5?RV9qCS=R_{pwn!BI77EKxtYuNqZs0$Hhhc9h1m{*PMW|6ghS|9r`L6$j3=eivveiN zXrpBNX7>0jarR0<30k_>{@!gp`t_vJIjv`tmn%=D4!RK5?RfpTpZ(!L3BS*&g@RTZ z0bjtmmVRfV2d(jX!HyrfB=Xfb}lGTQfa*Lh}~sqfaQPs2U5_a8|H7j;0_+@Zwmjm6#f|+NAQKW7Y*W zarG_Frw$q$%J+Zw_}mGmm82Ffzg!yBXAVpC9ZoVFQ9Oi97TQNC8~O^Ykodny_n#p! z5hQBu;&nNk>0iVeK4I&8B7`*m(>e(%grkIkh7oVJfW^$JG0}N`%824Me_JfWRFyzv z7&>sMKB&Z&shg|;=l?0Y*432Ubj&cIC2-+ahF0Tg) z>A-424~$UZ92shpK^)-CE@lTJA^Cy8e~vyJ6J#?eSOu(L_z&Oa2>vkW0D5!)iV(ET zq^kM_y016?YZL#o7(G7Z%il@HWd9;;!48gQ2hZL@+eoEZ<4yXY$Zx<3mVd~G+Ck+W zMF9j6K~RVwD*xX87{qQCbbto*C%M1fq<^+#70NrDWGJHl@<06H3+O;k`+sfAe`}o^ z5hVKGl(eC`@}Gx*^spN$o2aWeI=3uPR!IDnWppi>YUT7kUgn*^Yq3KnqNLZuLLe6 zkR1#aw0{+6ae)3*KlxK2!GJAg2?|kur3e%A=Mjs#dKQbBt5AMU8>V?DaiD6NtK##B zf94_otQZYyq#d}u?0uupp2CVHZ+z}^NprkJwMPIj7Vd;>z!U3udKUgJp)?w*$0@$B z8)_Ep2sEo5ofxWxog5K5;n{hW4$r1@wYLOsBz(xi87R+j&kj*`+Xn|1W-qyV-U_XK z#uqpdmI)i8JoSYu8UXiGH%fI;hE0nq#;+u%U-UjbDDh`7aYuDZ7}rnU{&pTycbJ#R zMMADqCvw3vI)5HvPqwY;Wcbyogy2bOvWCt}aM7=mkOmP#8(*DOOwsdFErTRsI}e%>y8NXYpUdINxSXu?B& zc4KcQbSi1rJSJ;sMf1C_O$84nKQ9Ov{ZIs%`R|&j)ET@%7e<=i->>0k1|YtTYD3DF zi0cck6m$?$oOqnDMj-bIRqi`KWx{LKUOOddg5-+lj7`hpVb4Yy^gP3_guHGu-NwU5)kyttV-N;v#^9c5YU0^r zer1yP)o^GU+# z&hfYg+s z3IhsAVzRwek%ES*sqBo8UB0b3aeHntY?L10M3i1}INkt1PjQ=KS*qAY&jtF}44A|N zjW%y%@2LItw|G>D5B$n^*|65_hl9!Xqr|YJMIdLHCiq%|UL`EPFZQU3uz$X^-goV~ zh|s#9S9~}v-COr@8{WL7!)AtOuT?y$H3eo=L*P|EIaJ_aPMqYT|3TOnm2avcl~9~9c##lb)^oNk29e2$u;Y% z@UHw#N-!_|{G&xx!aJKxeV;|9RWx0S?3a*kwXXKV4H)zV2eqRP!ZYoIf$LBD$`7|i zrB8SJkvF^y*CuQUb-g*qCZ~jz9~isQ&tya!VuQ*L;~!K^`flAdRM`A)-1W#){{$Wo z??3AHrgqh+lhpBmwKRJNR*t?my{=3KF#PqsxR72NF_zDr^9Hp@{F0)mND`uy>^+b# zQte1&Gr>VO)JDX=jm0Jw!0R8+<$m?I(mn;Jq{YeoE<*;x^U0U#V?s6o7K{^TD1?3$n`B-(~#lA1Pw@DJjWE?L#=KhXZ{C z^Djd$u*v&mC%Aq34O+)Wx)A*_Huz{Wx>xlbnt*+0co5$n`r2#u4&b6Qk9s~$5X>~q zkbYy(lf4Y;C0H&|r8l|4Ttm$0v~E|D-6g7TobN?`Mdl|B&Q0qz;vtbP{Y0?usNZAa zv+0BcrRUIz%Zwnk$sEH#F*eP#9n+AUgu!)Rrotqib~D2a8Mg}y=AI;7z}!6J%~N5J ze!vcJ4t}fnI5b4>Jgh?v;fJ0$^;T3bnZ@-QP5D_Tqrcx>a02kt zYfaml;;qyjv-f)L`=)W}1~l-Xg1$cPpzLA;(5M#1$#MXX$G(3egu$@tfZA6|$Hf<@ zfYN(MY#JDOL0BUj>LYEqm2?$2)X&?ZaanX_T5f!Wv-f)h!R!58ZFqCeE#xg0IlJ;ZprIJKd`)wC2wzaWiz8 zw%bJ82piRTQB7R+k}w%z*}6KcAb!?;Wa=yRiPB-6AuQV)%N_M@lpVanFn#0OY^?og z05aiB^OZ0too>&kFo)gP^|C6e)|dD_3sNbn4aHk~nZKA9iz$>T^!UTZb}KoNJuT2c zaUK)IP=EU?=ors^(_ib(sNsV9OZSZ~W9OHn{i4W%Ld{0vZQrOgQGU-bZ%>L`=GvU% zvLhWFbUoNpF7H)$;Qx`E-*b0e$S7Tjg0&b<) zZ%?}~U3|B`67Rd8ijj~#x1WNw$p&R(FT@|8j^>KYj2l~}Nx5wf-FgC(cF}zyo1$_?vxdU^X zFTO0WqaL`l9}4vae2{P-_EVp(RHiIx8`~pgetKV7dPgc{?}Ng7YYzgckTAkd^ZlsO zf^1)^lk}Ghc9<2tA;8Wri14?rT_;%gLZCkd4Kv(7k6Ot&L#Z~`0Zixt85N~Q;%7Z) zG~Y(2B@kh)D;FJv*FF_oPd%OnMdb&cepvK#$qWwfliP=8^G3Q)lDHgUlgVxDTpK}! z`#u$4WotM+u#2@jJ=n5Ax};Any%!!V>V9(XH)B|?JULYG@dX9Tp&Ce8^8(aaySFk%(g6NGRCl(Jbqk-qAUIRO{0gJl>vQjKs zMPE?bL_Y8Wwpe|)z7Tg{i!-y4h7BToUR=9X>2Nbd--;J(%U@$nC78Ga$t7x^;i8vK zZ4QKJg>YZ5#Hqi5Z-iTx3paTty$(eswmNSZEoiy8-!jUb^8acy%g7CI`D4p%TpyV( z;cCx|n%aw)A5rQJr1{ejtHI0byAct00gC0-3V^&}}W1z0%m$a#B zpjLZIl)<|@#&N!kox0xhhOoL{0P6TZ*6hZjCB?0{)vi0PFh;`IjSSJj20a#1?wQj1 zxP9vBf_S%Dl>SHkL|bapMELB4f-Y!G zkx{irVzisVEP4N3ZLZ;!-)FBqYt8b+GG(|)iPA5^H_@2cB`b*(2XeN9fVGT1Z4rG- z@!Ye6{QReBmBGaMCayHJGYK_$R^VEz`F+5tP?xb47)HQ}&u|E*`9#3rA`zgUUVLVm zlJpR8s{;*R6RwIV2meGLS^KX_nri8%G8~cwz@8>T-714-YPpfKg|QFjN`iaWI>dIc zwPg2Y+iA(0GRZt1b_#!n2mi7{Bz7|3s;9v?f!NGPbGan2DtSh6AGxHYZ8D~iIJU>V zq!i(}NPrTWwUw7Df?!1vkW3nQF^3(vLn$PWR6Tv`e>xM(NbBpX*ULA24tzdgpSdsj zW1$1din>k|(F7TV>a!sDtLdH-5{rMq7y1IV{LA9)Zvq8fy8s<9ZLas0+!2*xA`HoRt zTS0Xpc@I%|`q$<3ghU#P$0^GfuxSumllUkC@DaC3vvGG`=~Uuo=M$~vZ?^iU874d7 zSTSQ302ca_FIszA@Jg8jJe$;XFQhyw{3|w!^}?}P=L%u>tGkOma#+WVv=Fqufxkuc z^sRhO=#)BC*mK{ zdc}^EOz(3)X_ADi&SmUH*`l_$1ciQJVsvljxuAV~vl^j8^dv8kjgiDnWivi{FTHA| zyEdTQ9tJGI9)RIJu-c%v`88e3;}&P>gJIs-zPFD2k?=R09cfWBwDvr7^Xx&A*251G3Mu7=mCD-?LtCw3+0D|j1){no~{**pyaC|uN z{A8w^4l5`OXu%)>V*a=g5H+ApW=Yf+R$j~mYFgs%i}>fSATL?n88>9VHI#Ac`Aj7k zNx5guTV0T0GH7@4^l3GEFSdZ(UWT2UTVgV_-$@>o;*HPH$56<%QDTaW{eUdJwXB=L z_xj#4^;&UrAE`8s8gfpvi_Eg4E@a}T%l6DFX%VzN*!WP+qr{O(?f7?MMbIW|$V%z-m;$eT_Fh)0 zQp4`;h?wqj8Eb3W_$rFhn6@o@c(f7WP<$3bDmcZ?{}R3-hJo zYGqtpzta^t!$Qf##67sOSZ2Vw5{apB$(8KYJQF`t)n zCd7~Mr03M&k+I5Qd}#vB!yD0o$4xS&ENs9$O4Uk}1{VW3Ys~jkfF)el?Mvj>l_Y~k zo+A+?U#x;N(}OQB34s<5{Hsh7KI(;2HG{BvrXNhupe8)Y0oFTMgNsQG0D@*)OgY{* z^@Ex0p|QvxT8$URkuX&6`WjfQKz&rcLyi8Xz9#|hI)x<ZwwXkri<)}2(y`kSa29X1m6>yl$lR2R9 z{+(k`%y!EmC5;u%?b)A~FBOosxmwM*IXYdK8*x+2e^sOKy?@eEe&4pdEl0!1g%~ga zxG8Xs5Gi&zP5*dNW-;H!_2K88gtGhW@&lRLZ!H%5JtoZk+5NwFW8^hYJTAzq?2x5&cr-~X6Vt&-P$k{Z7`>a-BM1a2{ z`%s^jF2(`d-Y{(0#xR^L4dD`IaqCgEdP{kwD{rD> z5e^JoYN*QcsWot@P<|DnR_PljD3hm=Uc;J+ZtZaC#v@`EH%TpZ$=$DEt{7gUyw+Fm zx7R+#JtRyB?MBV}ii$MU z-LP~l*wL@0HhFTT#y6sPnTDbCuvBDCO3TCI1;UtQ_bPDfg+EAcNk9nUgp9^2yhywO zn-WOvuSJ1=@%q%M{le-leB2FFY0tz?^|U5)$hr}9bgeO66Zz9@!B%6?xL4f)adlA| z8R{{#+KN8y+L4PQi@ph?FoWOPV3-ghcEpAM#Wd?SfS`6fD2YfuKns-)q9<7Hzl6^-ZkV%;htQ@!MtO$;%@SaHSgipgSx4W<9O+T0(5N!bz7i6W851 zhj9HjKP)qF%r?b>4hWYB-<}sXGkw72cCnj*wHYV5ryIDv$|q==qnyiLK-hvHE~x_I zfF1Tmlc4{eb7r0TXc0Y**lqQCV7#G%&pab-vd3YpvSpz;a+R$4$)Dj?RnOtmu$Lkr z$~p!ymnpb`N4FGhh94heM6V7v_M^^Cg4kKg zRcz3#{HfWuXD(>{`>!V{!5?q@X$1jtw;KAMdywWZL97Ii_@m3&g*6q_3@1&GW0a;u z81m3*!|ss2zmzwbsDj+77RbX$IFn6f(5*x2E5d`#kqAV2L`9}N=xPkv9dL7zqteHP z{Eu)bKAR4O0?CL~e=vrcz`2AgQPLC(%f;;xI(Xr_<68&}8Mt6g$_}~n=k`k+uR}tT zCRt$go@xB)H3RFnAmp5BM>Jqw;L^p=$K;BiZFoquD^_>nxT@kxUD=%we^>t4%$A1+ zjn^xxF7?A7`BLTxPwS6V#a%vSbNL*m&0UWj)%6P#EEJ`BJ-=YaXQAi@BKnz{^~$~> zA82-FFTW!=+4;FF_F}N{MO>2wHT13f6KiS~7lsJrOwFY|66|0oyyF3v(M(;Q#A+>KD!KXCN7khM z5!>kYuFHVO;2E5CmE$pA^IWlK<{JqfIVX6kl7V(8jGKU;m`EjjGW}&1iXDZ$qv!}E zFTpww%3-&4m6_~k+>6Nx!-f~X`K7JOArFAV!s7t@KoWVtbQuD9 zp5x~$jW)n8hjzG_ga#=%m$#Quj1?Z+KD+tj!4G(X9QCMB1|}p)QHg2+6sA?y4@bAV zu%TRg2~nPR7Js_&dOr>m@%}y!?1s<4ldqj?t1+Q?b!K4-!#h(TNyFqsWse=L-;MW& z7Kc@!5e=UEz=-LJ=^bjwrxX|Ay)x@X6km|1!*)v>-=hMEXTKuwHF6GnJyDA0<5FL} zF)>U=*#~c>%8jhD_njVOL|6CPiu$#7D^W`oWow(+vgH25_HVU&k-Ko+$m!$(xrk>! z&eDD5ecAt5v$mz%R>rP76_xzpVgoB@u2enN`&d#duZz^-8goLc%+dbEW&=GDFAKGL z)$`LsC)N~n^4%5r0qLTcSv2=D_YfvV-1a|1O6#uK^IS{R{Uf~oKYsHo`HnxH^3>Al zA3l}_s&DkXfsKqUcbUXZp}MP%jHu3(46D!R8fycpkzIDJ-!oUNPN(;YZw#W6$H87n zIbxWn43Xe0VvLfK$8ibhshSiyWl@_0n)mTI55U3|2XZ&vrda<<-Mk@K*(80M@&^ti zRLH@<>6k>pp^tZ|A@6&AZNDu6k}zO2Er12YmQhntQx_daq=H%#AC875LCmDg99@cy zB&|h@>l5E)DV#WvD=bQW%7IoilY%3}%@1N#U~;kmH$LmUmRc=meCf;A(Y9>vSv%-N z`0I)N;lT^v{F)yJqi=b4i$s4!HtC1yL|<_1w3A)T2OWE$idh`eh&Tt=|1PawbRd{_ z#+AP|OxU>~Pur8RFxp34bQeIexmFCVd^=5Y_|rRET_17DW02`Y*fGvu-JFM#veiIR zlqZykNND0>Ug+(b5|z6KF_|T#&(hqt4VJx!9#-j1@~5fx6`f6*aPs;vV*B;v*>{PcS%G9#_ zV;?>+=}gG$ia$>HZeUqwPo+Q`e8%aWG}>(+=SHpqHXHeq*M$309XFh$+Y{?zm_wQ4 za-%Yfqk=cOQK6f6;YMKq4{875Xwxbpn@2}IoGA6dE#)}e%XhZZrlmXI%Nz%aO3!H) zah0~u1;r1=Zq}{l7S?iO)TNPtT|4Ji$pJ-FU1K}GS#P!XPQxeZ24UR%zYe=X8QT%a zmFUI7+aFyTMYqH~N%<$A*Wt|O(|F%kE`7iVQ9=DZc8dd9uv$F;PYXK1fZ-{{Co`(( z1)RhZMy0#o%%zd2vAj=4+zV6v^CV76ProFLW0zXn$8X+#iK+#dn<)cKga_K7~ zTYgfZ7z(W_ra=QEzTZ5B78WI&C(f8a_rb?}ufh$)CcLuIpBJaJPzOu%U3F z$Oke6omgMw&H{Iyo2nw1@_nO`(d75*cPQ=;eoM(ndbdUnmxjW|^=;GtfLhZnODOMY z&?v>w6W-mHn)&7m^X}n1mE0^EF!qt*44Cefq$uxH@?>UMP`k1XTP;=jZjM)T@6gaRsq{xElB)0|bfC>`weyrqR3g~1 z=I5d(GqYutdUKQ&0(r%|B&NI71{V9ooYY4qMgx4!tr+UMlizdkM0n*f-qeq=fEbjOS%*BUDD0(C1_#ATyu+=Y* zJ8->Rv~l&(*<9l*P}74TlaT9h0UCWkLBTM!A3(tkA-?hY?6RhX`j`*J%GRv!y35JA z2Jsd}e*xpal>#yZ0)ZSU?{Fu(6{@1Bh%#JSBA&nQLBdakalR&Ni49#mw|ZflE_10d z+Kj=kTU-G7lXTZJ<=B= zhpQ@7oE+=SZo~Uq7@vjgZ`C*bvcdg`TGH*};jCKjt(8ao*eStIb;#;i0UhG$OK;M} z-PVep>T}P@1Ajf#C|&ZB)@GJIwY$Gnj$cm5>^zYCY|5J)dIu66zYIlUSMR@6|@_)v?kMWaj8gg zY7socW4wnr={@yG85QV%Fdv53BYu#*xZ0c^ZfK)x++vv~V$+c9$BVpPE*~ZE!E)z! zj{{0Qw6{brc|x3ss;_w)K-#aJ{(J_*@p&O7{wn7wTSjc-UnWk5JZ-N{<|bhd z37eUHHsV(~1K^y2jgQ$;3{KrGmfz+-Gi!>rl-07iixr(&4GXe5Fx`gpq-YdqZ9J00 z2PkqBv0gs{;(}RIMs2!NWF*zetOP=MZr;u(@M^p}<(lNjBmQM~>Ua}<;Q&P&!YG3L z8i2@6z{Jf6Wfl?wi*A0o$k9UV2r2&?mh7?6Mal(kL85||0x+P$4sMi8im*>1AZ|M^ z<0>U`IAR$!ChL>pK)SQM0#JwO137oKzWMyKSVQ!byW|eBC znB5osK1veQeRfJ_&X(NwX}&w6(o#bk?$eam&TErU-*PijerSLiduwpwsjbU(b4vpG zzUEz#-5dKH3w<$sBRzE(U>t53SUIaeuPqWsGK0fP?pp3tXR*7TZ0X^Gjl45;418Mh##9N|T%J*v zMB>aGk?i|p292ZcbU=i|SP0#6uLw&Y2e~-CLUTrK%E}pVAo+AelP?&8lAD$xz?DH3 z7U;Wb($XNmMxbWY$|#g<%$5+N`XJJou}J^r_shE2YcUH}V~KT(*^u)mmt!&T9FCxp z*iC^<|122m6052-F8ciOD-A+7wC$b^#kv@C)vHtCc7#I9j&!n;ybcwsO_6GBkkjN} zT^|{K`ut=^i}_9Y^J!HX+9XCHbldgiafo5a?w?IWExA8yx5duX9qU@V4?g-BBz^gb z4r*hlslgHgbzZ=0p1(jQ99poI z0jR_WtZ=NwOR`^e~3IT zE&3I?q%g*beZYqP{@W?RT)= zL{O}$uRL@|D}iF@gl-HH9`LAlhJo!fJpVJ0LJywo;b-iDtGS^8Pc?%2>^gIo6IV6l zAh1Y6VJW?&!^OJ%@F>C)QH{%!b)}jSGN4D{-*D5$7UI@51gZtP(WRQ-?t1m_JfTTO;+x3Qg!TZFb>Wv5= z`?tObhL}Ghyf&^Zz7|QWbMdr~J`N*a6ik6n273Gm4tRr9Zbd38r>h6&*tAs6Fid=d z(LOjH{ckjd9+?FaMWhQBP;wwHzj{p#Q#o;KC|BW^15$PBE@&RJhh3gyiCo2$E(Hrd z%!pJaK2gm(Ef1?fT>i7`7taZob3yCaSL1i7TpOi&%O=(%PG=+?=h)dj2N(?1QZ=QY zGRW_!KG?4={r5ax*GZ8>zCB^4<^_ z(OQo5WLI~F>)+Fq1|Il0lhq{Lbed0veyJttsP=fl+xMULF}rVTnw}~17z?KTGIe2i zhN^L)8uVT^Mb-S#4bXlKvRrUpDfn~pWD+j)*C77$D;%r9I$6~(1ugye_ej4F#j=?Kg<5hDsd7*;{GC~ z|AI_Ee}$SJsM-Gu{wqX>qnv`vZ-3!`Yw}5T-2D5-wNT6P2^DNX(=+YAEZ!2?w04~V z)XD_@_q@O2{D)&4NWEv@Y@BBWOW-vNLnx2y-o{+9-XUVQ*HIw9---g|_rLC;3HpvP z@{R}kogoE)6t@rUP8Z5l%wN^`e_?I{E*}I(If_~Ik^Rqu7Ra^%I9m4$YQw*b!>vPc ziYHvqxj(v1Uf*rk()B=(?7j0$yp8Ll3Dnc1RKihasUi4tpx?c5iTc2lj-j|!j?T~R zL__#ouKR6Y#0!bRNtkQW{!uKAtYGNcwsP;g6;#fEzj9jYAW=^IY)$@e-*6x}L~c*iZ!!Lb?Nl*`J%d{N zo6P?>@Jy7uH$;$mb}*YJs}LHA{*B+nZijK6OsSwr;nK=$v544fIcZK%+3ydcHW;W! z&?EF%i-ME1W_a?bus?jb!De%n+!IMVmI`6;nSadiQJU154N^t zQ$LlyOI$KN%v{Cyy?gzsFjudGGjI1Rr!(=3Oe*x<+UauVJA%}ZSpB1 zLc>5s!0@I_vj4I=+F?F^wsjGHZYk={^L>-G)S;xH*5TwF=^gXIELmSj3Kf|H@ztFwdxeyQ;+SjlVqVEHS35KR;tudWnZL{o8u3OV^3lglQrDTT}Ot8f8Mr zB#-kT*Ol|&)aOSE?{|NW5lf|pY9!d8#ijY|+mx3JnT1vDOun{PmH>JU_AXGDJ$+SS5Z@$j^0{@>j-ZHAKuxT4DRwxwr;!e>PhX!}IV#NxS z;;zBnT^qDTix+oy*Wwa1c!E2e^m*U!tY@9`?O$0dJNKTMeP`yLxn{1nEsdfhj9cXG z#{!{ji>k?c(86_mh(=mg=$b?h^hf~@sv%(^{E2;X)44fIQ6g=F(jHXM)Um~&>Jhcz zf^Bd>d%Sxd=$)t-KfTyjvBgpoUOgDCXTCe`@vIT{zBN^L;{bI3=jEaFu!~}ld-8p( z%Rp4}@zVRKt>-`?41J%WY=@9=H={NU$pfZ-Rz8C0)ri(evKmLx*v#hGy!4lSZq942 z`%>cKe7Flbk|Bn9aQmu6>iZLmGL~z?F%%{=6;1fdWEdOg-;hvliQU|VLL2JJF_KkRpqqRnm_stml-C4Y zl)%+`)HTvu$f!{e36YzfE0N#U=&+be)ly-_dX5!XOu38+_7cmcVRym43rx+1jGoV^ zDlAxv&l*~RnwU{%Bn(1s*jW2kFR4683v()Xj)87m{{n}-D}p~{d(!g02*b!US{(JJ z=Mx(Y?PjwW$ZR@{OByn80-yi+&7xUL=zFOr;&r;q&+HNxbZHl?!ecwaqQ{Zxx@i%& zQ|JN8s5rPlWLVSI3%#f4hhX`;4wsHwUdD`b{Q?VDpoR>4C)%IVZm5;{(VRy1?BH)Q zPOM1Aw!{@=g^oBN@Sgbcl{fSo1Y^2Vz!PJecF7y{h$t zT2^_(QW-#dXz|-<(4^+R+ZXLic0=&KoqayU$Sc^HfJIr^JH}0wS?28-7I(KRC9Z0y zf==Mz=JG0*-u_+sMgc&2RC6UT(e~p@ z*V%*uur)SE1yn;^&~kzry|`ucq#~{n9}l=rxlAn1@ee&J`FR;Q|J2(j6uxUzsq*Rm zGTM|!z#8N&Aq~XmdsYy4vMI5x;JfsjH@Fb+fZK>imf#k-g)o0&!5 zM5;htr$AqM;XYx*`PUzTF0X!HZ(X$a$S7o4*nme8l>REh#1EsZhwNUn!Z*Uy2VJ7~ z;NJMwH4asg2QFSH#n{#rx3bZjU&6AZ;USAS=&K3qmu ztzPLC*s}X=tQp8^ldZWwP~cIW=oQH*W(+@}y1krdQjJ^?`7+82E3P<^HINbPR-!si zw%@eAJj>^B_V>HhUuCU>8m@V+ZqXtSJ z>3_lAsMddP>oi!NhpV}uz9E0{zR^ZL*33MZHobX`3aUibZe(fW}&ib}$r&vBdUvxx1xq!plY8JzG6o>;&ta+K= zYWaz2h3Ik3+cLhR_q5+aift?Aojb*bONWu$#skoZjy`?6AeyWtW@E7GQDB=4@|zt` zYx-&)5IJUK>|Wl|(S>hF6^Y7EH_ zh#SVy)hPPa4(VZ)rdqkTGb_!(UdaCAGt><+1XB zUSG8grh1xW9l1{p6a?Z9ZRx2@HMBKbT~U}$%Gq7%m?qM~W`!uxWRvHMCy)GIy0W$j#93tLwXIuA<+k0p1U&cv{w9>uvn;c>U ze|{INX6z%Jybv>UN1d_tGk#yaj!J#CDE}3;G$>BI-pb3?ut~6PmFK)5vk@ci4r!*f zz1cbLY*1l?GbpBQE6p#lQ6#}I`A82#Y)=qxAugp zRP23hL>(^JV=O3>=qcs2XDs}uDh6)$8={94P%%R~w&%Ee30?9tTTy{8>#;5Uxt`DJ z4L;`pYy$S^Q14UjrWw(^dW@r#do3j%b{HB-#``eES4_NGGa? zAMJ}CAG&2J@fFd7z@(f`qfq;@3kIV5$cyWdpP`=MIgC^OLm`FN6_H3Z4pV|dcp3bn z3F5Ino1lo}L+;BFeX600Fg7_H@-jdgl*AMPAt>N0t=^Et(x2!ne?8L~M~6d0@h&IE z=cV)w90cx%SHH;$^g=64`hxqd?1uC>-l8clZUu9JhC*ugf8P3?k)Mq{fYT|7YBOe^ zv_jCKd{_4Hkq-%7rLWA`r|Eu%ZLh)6HrPgX^_5X>5+F$WFIW7xB{g&pMIRTFPZ7`*NhRX^ zJ1@>4^B^$q{6G;x(0Z&i0uharsnV7gdvS z$mjOjScH$}jJy&@FtB=;-$}CV+35S3P3QT1I3geOg|DIBjPx2-yrD8@+jU%Dd#(=d zVtJ?yI--REvO5B&PGj~%N=ylz67xy83Q;4WNYlHIZo=a`@;J#fTi|tzyQoQ@=}(t#|}{#j#O`NxZn6!$4(1ZCmxm#d2c8 zzeJ)v?%W}ZEg+P#_E4$D^XzCs^W_ip8$OOH(#_yoqcqiwTzc@h7mDINE0KuwseN{9n3V_e2z5F1Mo> zDUZ_|&p-`Z@ohjOZwYO@07b9`j$>0hql+F6f7%gt8RzZnS(~{r$*UJw)K?VY$6HOV z?(OKWm$J~CbzLPxmyDL$00=yCt+3{!3p{84ImpwEM!UJhsG9jfs{cMw8l%%D(A!Zt z#NXrdDp`&b&Fk!-B0RPZSxWy5_R5p<3D!5B7whlwVI}09qY)*ilTDp$#;PJml!A72 zoi?4el?ozN>RmKqMI3F&KD=z>+|D(0%zo{}+uu)80Ga3F$Ta&;y+pG*gk&?qH(!c9 zM24RjLfJ*w?#>Bd&H@NEM3p5wR<2*Wdkb#+xH(6@+i%T_?g~(CeVrj0x8q4X0`?pm z4vYCo5RoTbPOZy9=2z^A%X~eLzm%v>@+tMecN$^uPzhO~=q9Dga~I_Q-Dsq6q3F3A zpQL+%R(2v4oX>W2xPl@5g4V0vuxTdC)iDaAd9uf>zZrVko2?*cHD(Ngay5VS+qzg{ zDe5r?*By&Z$#+9k=e7H<)RXPa41rA|h;iGA5%D)mADt2%lpN)d@=$+CJ=IYGq*d0$ zVp`)t@^AEEiJy}&P%?dR_;$wUaQj-mT&$my+ml7mY4c^vDkXczi(Ubw*#t-Mp$_MM zs%rKDt}qDr_wKo0leSk}F1r(8WvcJ2F(ChVk*N!E)f9gIvkKTjb`m0#)ka%#tnv@O zScv5S3q*FADZM7@N+LJ?Ytv)kHR_hMQ(|G9XHsn=6;i!Q#p|1_YwxLDqOPN`dLE8O z{hC|lSJ%DoRd)QYpil80NEC&GEGd2}+cRNyE`+yG;v zuZ%7^bm`Axzc8@BByV{6NCVTDa*d^b=6K(+%U8|9JTs~ZMbBNoOxSEwid-Lzm0?7X zZT+(Qv;46~r^%N6J%)kYpT2Ps>8H3}D@Kg=Hbs@btYmr2@MHt;KU7c`@@@QD9_D0*84;hm>~>KD^%z9?;%NabLKm)R!D7w zMpgd_Qwy;y;J=1s&XXONuj_ZrZEKD2f2%J{vkk2=Lv=PzSj%q(qHegg zep@s%!EC}JxIZ|PVmy35!8@VF);_#^pi+K_nvk%c2M$>Q=P|9FUy_|tY4e~1vXU$9afoH6SwjgHk! zuuNZ7@$;r)UwGWZt!F8;AQW$~CPDA3VP=egpKk5dt9L}TGV4e;T2)}+=h812OCi!L zG+5e*@ZCEPm`F7F#V?}i0nhC z&$+5cgEax6*AE~rabM}S{{`#M_E@7cUb{lif#N|6&Lv}d7vHggg=*iPex>2p7WBNz zR+PqXOUPRXW1WhzM|(WGJ@T_ak(Cnii0S7t0Z_etSX4AYvqU~ zb#%0WPTeSMkZ<3)&jba}e82W`qdhCr>#~5eBi^}fzY$=|zp%BcNXoaz`N$THLJ2n3 zv6ra-f?eQ86K(!eoL;zJUpLC^+n>4#wQc)tW{>If8Unv;X|h}~9ownU0eX8#U@raC zAC6ukDifOhA?Rb6m#Tr-M;o?4WT&iR5nHV-z2+8*Z$V<@fLcBzRfQH$tRv+R#IyOF z;!UTcKEt3Yz?q)#NYIBNBxLl1NYT_l$NEDmjsu>3fW~R$Pe-HsP+z8-vlVh03~YwT za5O?cYW;MWzC)K{tSNsSw((7zV$d4;whJ8UY z0Hs&IjeS7Nc1n3ljA*%+lnoKpB_lwIr4D9o^=nF4EebrbkUq>uh!!dLx8dRe)^70} zh#2|hzAnpO*cg|{g>cGO>^7>YM5*OhR3AjvELaNx-p|MI!|^m@29&9`@FqsS=1 zeLt`FbES$mFpeUy(`OqiY8JB;V7Yj zd}gCmW4Xg}iy_!1Fb0Yc2CF|0Jv9cLa)1aSWUu9cjm3;-!@h1xN{I*vT6}k;kLTW- z8`xVDoO#L(iuC>!ZjNV63`!u{%PEO6gzz;ZrKXJhWcEZn?Y$hT#QvS%&QjY3$Al+k z>pLopCy=da%ew^8CK~FnU(s0VeK&&)odel{AKVebGc8)?cBRjJx1avxsB;**AyJn) z3jQ3EBi?#1avZz3+MizbBO&Q2OZ7~z#p=eX-QN(45u?B zeyFXJI1dP<>H-+VSvJY{$@+x7WCP+&rGca1LMN^0-S{dSH3M5MLU<$n;u{rO%ht*!SU`NivI_MhT|Xq3wZz6 zC%E$Vg;$DpoBvBV5QfrL2A{Y$hU0j6x}jF0L%$1(PT&Lqu8{#%x5|DVbdL{Isc%Q$ zWYpXhlSqN;8KTkJR>pRkSsefXv8%UM1WhZ|A zCbVelG59wqW+>BjCQU9Bzl92pO6cAo|Ca~=N$IM2Ge`vV>w;Ko~h5qtdb$_F#(ha2(lr$3%|@o!+FO&*lOnx{*> zg$&h?&!!t+I%zmM)q@_9JvHRt<2Wcu{eBqQEpE>#md(?7lIq>!A95JlzFD)Wqm*(w z^1nd$Xzwl{Za*jA<+!f63{+6|(pU{k*_HgaHPD;V~5p}{-{UijvHfL_i0?6I7ya$QyCw$M6)xh+z zY?<+&U}@Q%9N~&OTKC?nxpLLtJ2xlsqQsjR-~1{=;jhu^__+OYQFBsJ@C#N%(Xh>g zcc`Mn&(07yF{&3bX8~Vu@zjqcZ$#}I+|^TjBJzS_W6xCk<}2;f%t(UXuu$RE!Y*jL zhdLaDWHm>8M&iFDrMx8f+tq7^(=$yuW%{K*OamNy+JrW-@h19uFW%pB_R>#CqZ|7v z^iZ?)aYUu3X?l`Ug}*cfbi-SMG|`k>BFK8@k#h9!1nD?lCFc&?`0a@YUY?j&i}{3z zzjGqD3BCH zx_X9sd(yV%@R$laT1m%v#VRCf=ac5KF}B}Fn9j-gS3y>UgctF$kfS` zmusJr!88Ayl>Cc*Jq>6?yzB9m_b}hhAybjRo?V>x{>xBRT{Nrz`qLV%>75m53U@+S zhM5&umQ zJ-g}Q_U?0qx&M8hC&P$gIjxrcax`>2|92{cUWr+#nRTtZ4Vhi9f}x(0C-mY16*IR5 z6k3a6K585krEMuT{tz~Nz8sa_2AD3JnC%OdEwO^)G^AxJkShF%00|65TabpSu1FNx z)EB-s9E^IYIZ4nR(JLVLHTn~CTk|PSF5wn#&yLZ&ag{>rx;a-N|W46!8h zzIUHuO7L5#b}5KWSU@ba(Wr2jw9;Lbk;gFa{Z!4uY*0zbyWJp`{Y#Ywb8fP)U$*4@ zrO|^DtVgIv^>UePh%BWpmf>2kD26PpRzf6YMI?oMpdkCjk`||cIWR#CPXcdde>{k} z9lZ(h@UXP3GPb_Frn04Fm-Qlh19Y?A)(phQJR5#E_H)UFyda;hf*4D$y;ei9-TjlJlrTe3xq~?!Lv3>73jT#l$M>_)6~yqpHl+5o4zZ za~ZcB6dW+z3!g_4d=%OM^;v9i1v7H;QMBIhuSw-Hv5ny-y>RhNYI7o7h!^lm9DW=) zvOl%9Z?*Uxsn;TJUL+uP2+`#Bk;$w4RhZYhdA{{-?_0l1rzXY88O*GxA|@6>Xl6RQ z^SDA2Y_m}LH+uH_W!7gy{1on-ABCCY*}k$M6=5nqq=88tVMeYoCaMVI2~1Fp6y%TI zXr?RXH!3y*|DNjW1UlGn@_rh}2y@FZ4MIn3^@QmfM^BQ$7h#yw7lIg+bhlUWuY>Mt zn;mXlZI;4SxIIKZa2aQB&f<@U>2wftJ;|+@^GkUOg6aC!P-FPZ-2HaQ!rk&#@rf2W zD?FNxXt?ELWK-2hP68eO_%@;{x8S%nacyODEIIZVP~CrkHA8aBsM@a%&)m+<^*3O| zqGq{?u$VMMUtd{n+b=LhLYKk|pDsSz@0hv7@8Al2qQ%Pvj*iK%l{BCAh~3R77Z+gpMwQEs`GzI@_3bSh zZPU9;yVKHhi5vU$vL|jdmZa?EzXxZ`V7da_OFs-{xbwlML<2RnYwgXrMUQ@#5Z~{+ z(Bl}Ee;Sb7nsjT6sZJ#k7`gr8+cdTkDK5Wytq52a9v zIGo~Q<9(%|{Ryp#m6eBx$B~q3D!bSDkOI)vU?+ETc&D~=@_SXM-He?baHbjtv--G3?&u%tK?%{LCUHSF*vES z`Tl6#--p?-$LO#V4QPIZX!3v`;swI#{yFTV!KwLnm?Zbn(qVks;Vp79gF^FpA+}QT z9>29-*|kSWI$man{t<86mXPp9kqc)#wh@(CZij8=b#PVXMgNte&EEx{VPVr0>iNY> z;TlV>al(bQ@+*h^IZa`?5yt4o3Gyv<;lwscOpQXtQc$R%>|3W@#&Z2DD?DidKAba#O+|?-cO! zY`;AM(@>^Tn{VR>69f9iTi^v*>yN}*ov7p*BRV3$w+U|IX!`rDoS0;w&Ga?j`%kh9 z$P2ECZh}V3r%Z{*{aPo@NA?}FGJIUxsw!g)xXMfC#J^3l6K~5a>wg010yo?}kSRm+ z7m+zIc10x=ytgabl}Dnfe#A2Q^JJ<#8KzeDu07SqaK={Q#p4$SbwT~V6&Y7)J=ilU zk2G|gZAhHs1w{|?Y7x=okRpfH*a4q9UAyf)|27Eg%7I#TSw5$PcIpH6xm&*K3b1_` z`GEdrOFVIT$@3hl@lvJWlcLpH9;nAbiLx^;a37mp47vN_c{qVxKk?4W0qzq%S5;<_ z;6@MxiASb(^&?fORVU5&22^+LGXYnX&ay~f8u(vi-!4(N7ft5Zy2iu=b{vwA@RF3* z?6T}{>Hm1BnNW>m`##k4y?sC-g6@0akMXJ(P5HGwYk!_>FMutiUC|+1XE}=vBf|wV zqkgX1PT(x~+AW(zYERS`T8y$o!l62Yv<~<>XBk|hMDypey_ok)sa93wB?eC%+Q`bf zd;Hu>a1nmc%`l-esL?C;9Ye#YGO_6*%Z1Dff7{4KaFw)sc0JV)E7RrM5FU!KqzfrP zrZo2QhPm*FyF`fKRyP-vtPu152zN7va7FUsStr%7#dC1Xdqdr&?y+>9!qpxCN)8VD zI>~7)j`??6p7Xb#dYDP^7vFl~6 z$PetGX|x4lqqXfS8(smXyQi#1>m~;9{kid!tXjg*Vuu)sI1TQ1ha)>Uldpmk^F$Iq z3gM+#(C-K##!omkARFoTbnN2gNOl3CAyDngnX zH*O-*l9Ru6Ti`i+kI+OX7@U}6R!-U6$9PJl&d@ocL6a11K*bCIBc|xSGSoZvA(8R| zY|?oAsz_-my=@!&sfMB4Wt3}+6Q;gyfwL)Qe@CTq7QtvzL{a02#uyUNboBw=#ETZO z>1)9u981)y)RuPC!H~RA0B7+BL`aUADR-SwFY6a;VYwfjUq{Ja%!?RoXPv|{3Oqij z&EngADK;%+Q2-1DTvPL)g?6Cq?g!qr=1=B-p^6{lZrWV%Tt8Cnrh7)Dj%Rg-!NIi& z;lI=_4i2^n?0ph~J1rV$SX?HREmvgukdJssOd=II9)%-+`;GvmF5|*Y{z-?j-0ki& zTbOqM*+~*$NksL9HtIKf2nfKtiyfO;b^bFRN8q3mgQHCflTRj)kJpZR7l~5;r<><` zH}F22g?@Rzbl$6D0sOu+++dV^nt1YvJ*JChOWG#RD&_T??e2W&=0%HojOxo&`;uUd z?dXxvB#=@daY*XO;I|U+gO3bd4a?snOTmHMYHzz4s<)ECMGMw<0cRNJ70^5|8bD!i z3D5I_&+s@1Tfd1JjXug_gg2xpA*M)80(t%P`k{iB>JN<&a$>^+zRQWShov9}1s-~5 zl^1>9E#=2`uSqoq)A%kyozA6tMyrR`(hwtIhrl_9WrHeGfwT8lf3_QSRnuKgTCZk# zl&yN*RhFv4`y$)-DvK$-P4F?6*>gm7e<85X$+uWG8P`dG%0%_%in{gAwuiVb4?dKU6K=3-G zXdqeS898vfMAG1|4gZXDUY{J-4dB+^SN6dyxU1P>yhZt#8`mN0*BrG`>7nr~kv094 z<_z7_puRJT0Fvf*BU-axdC2~OqzQ5yR-(vGRxJ4j$A``s2kjB8@y&GMP6;_G+rwcx z$DG2c98N`0u~ejl@ET<4&Cx9D!d#xzoY7&FphSZ>NG6C5#!LY>#o>Fap)6UjUS2}T zR~+~dWM&RE%~Sjx8aez#B%G(lKvZ~6bN~afrhK?q%WTVAUGdgWKoKvc&g#-bW(#vf zEOr>??0`ZrXrk;K-dz>I76k_psqOHQs|eGRr|uBWuHX0zW0NCVsQ23mS=GevOk&H> zI?f=7hIiG5Ft=V)6kZLn&Y}W*t3)r8!&?hLKUhz(4=ktxvy5g}+1(HpJdV%)yqg90 zOlE2-f{iGNdq;q(90$MrB`J3jAw|&l1Sx|U&7twL!H_2}?`=>g*kGkPb+$V3NO}FN zV}!#ON;U3vM*XpEebE|2J~{8J(E;7f?R!L7#_F;gP;}Y+AFg<6C;+6x<10IPmd_F2 zMf1WS1i5>YHHT$)PMzvh`CT@Vgnh4aqY3!jYd&?n?A{`qUG0Q<#DEt_M;t={$%yDS zYwNba*uT>}ipxAF%{S!eVlyO@k3c;x(;K(!rcCYA|pFT%Z-ivfvj)ROAi` zv@D%OJsfEo9l4ZnX$|Gvkz%w!i<&8kUFIE)wv`rbaZl-JVm@LfWW(d?nX~R>;uor90{%%&*MK)=Q^J>?+RoXd$LIYXze#`H;XG=> z!0-`8ssf|eO1jMSbqixkULpY}duKZo%lvQA%yRc|JuB|NpAFzEfH$AM83=A7i+n2` z4wEbB5Dl;S`5i@**_q>ENax+T2KIJ@2QT+sD55W|v^2%ax`o2Kb>X4`2i|Ni%yW;k zIeXVawsW2Had`n}^XEmQfqHfZ#H~Ww9=mLpMAeMCad*MToJ3kr%ICVNAT2S2W<}r~Rx6oKv2au@To%wcGc3U6v>u3>q-I(~N5&`cW6GrIJcW^-UtKzdDniLd4pZ@8Ixm+ zH$dH7MC6={nt7ABMPW0@HBol3Th-Ts^BaqkGw9_#%v<6cP9gt7ZIbaNm6QpATz$yR zEHpYMl9;b4&H_=P3$+3g?L%GAO8L%$qijPdSCk;``#S`fn75l;j^9fN8mRd6iE8#C zp@SM7J#LhY>|!@I`b89Ak~nYUY0f%ZQtT^WP~nbr7G`{59_vS~Im4Nvs#~X>k6(o? z@MbjEpI-_FVSXQ7@$v?=ayKjsCR4qCGMfM$`5Z?nmTI)>TolN~>Ls7P?#axLs;5zw{!Y(%m5 z-eg6;Bbe9Tui@~A&cvb|CLB-I9}S<>wZ{}&^u>^jBPj>zQv{~p|2uOS5nzPszhqLm z(wIlW__J;^lUR5Ea@sJDz`}4I7o_o;8r8fpYg%azd0Lj~qlo`J6S@<@9Ao$e{O3>w zJ&i+}U9?ZMHN=(h8YNF@{v{ zkm92ou$tbWb@z9)-t46r`P8nMUdN%`=G2PVPYN;p*}1c1w85$!9gk?6rt)Pxewp}Q zYNII^FD5IP?Xp9G-h#kj(6<3y{Q4bvzTM^>9wVyxnt7WC@e>Nu*Q6L;0R}bF*j08Ot(?SwwX6>yN&Akm zo4w)3ax|YR2E}Dl+W73!eWeD$958e^MA6|-SFGp>Pc5zqR=dyz->}FErwt4MsvBL zyPOdF+#l7d-`}fi%o_qkD`lr^r9Ylx;(F@Sz<2-zS1{XF=3zv2drsMT@`w`t7d9!1Olt z8EtrgZLM^(u7X=JX5iCz!UAUcl(uaoZkt_|k7$uwOYOzJ=4_gh$P+3V#i8&Jr*<)( z$Ukr5KG~Yy)3xGd{p3*RE4O|20nuW0E>O-gU(5T!R6TjmZceRY^{V~n#$+VnvI7Af#{jibfDc!F=7}7Hz4B4f?)P%H9WrP<%!*AhpHMPrTi>C4(T2n|d}*j{m0MnS&(*t|k!3V8cw*qPC}o}5 z+i6nHYlT=pb>u@b`XC$CVQTjY^wX%$-BUQjK(1Uo8E|xH7wE!K5AKggblxHjq@N`0 z<0R%EwxnE9@aj}CEX!|(@=R}-Pwwn?O`A`Agsg_|hhGqKmXd6+Jd!lQ*!Yowj|)aSagXYNc{(6!SIx@F zRV8=uNHqBwfw;UxQ~)%UfBV@?*dZ)hl^h|D)(AC7B>78a?(fB2*uPDZ?5mDUV5cfs zFt-1c>cLRFsEyx$^xTd#^c8Eg)JV4sCjJKdEk~tQp{FzHaUk4h3%J5&sQM(~P=9U{ zv`}}Dx8TL8_}5`Z;@)3@$bLr}O`d}ougqXAY%Je&_Nn8sMxf$6RE$-p_NE1#7cHH0 zQrFpb+cz&ZQ42p1HO30P_M&hwEjszz9N5R**L&6AndgxZGa{S!J22T69epmjdZB!y zZ`EtVkv({oI=_`S)r=zHof`*svY^*@^EiYtdS?QVYShY42uH~m)^Bwe__yHq*ZmC{ zR~gKKRjHO1GW&KiF}}5F{Lv8q@J^Ab=tP$p-!>bk?C(-gnpRvhJtJE>~OeD1vqB;4hLYsX0apydTxRVSNC__7mI&I=YspZHj>b zA2v{S^>E_4@?Epo18YwlIzpN}8$8jD>%#ijrASxUe}z{9=)){$ub=BUvM|x6A?6e_ z&)S4bDXm}$3No|4p|d~nm!vD2D{D@jNwg0z8k$QwyGg364VRf~W*RP05|n|6k3ATj z-d)JN8OMw?Pl%D5+0OpoCfxENMP4lwLY9z!dF>Q>NmA(l}6OK0=WICtMXueuESzg~?jPW^VYEM4jqWYHQVI#=- zd6!ap-Tes{RC7IrqTyJspO^fToUR+!GbOH;0mcfTZs2fnt+(#FuC)dibQz$936A=&tGp1-1es-)}P&y6}6i8Dz8w?fl*t)*|;4>q15- z<})GXZpQWoanosf2*nC9&@7sIyKd@H>YeQEBg*JgGg>_v+f8L8n~S359n^eR?MFF4 zaN4NgqWk0PqoexJm_jjqQO&9Y#l#coCaRKLcuDf$g5B>Joo?tU$PELjlY+Y!*Ykj? zp8+QRi>kIIPs^JD7GsKbmmY?9>+@g};zmCfyK$Yy@dNCJC5_Z`O6kQsU$TI6X8K|f zkU;+I8~9OreIay)35jVCWZ$3Ul@cqprSO=xjh56ms($x^PYb{)lwvhIE zfATRafA3m^PN~!B!fn*#UgSIvrOJ&Nk%rUOegFXd*(EfVbL3wYJ8+SyJtXTOSHtj*YCvJ(i z{{#s+y5xYk^NB^s)EeN~ABoFC*+Pzoi0wfT+-OW5D7(o_8Td&+K!70RpIzd*D9Fhb z(EkTAK!!sGA(aH;@NWeOh}-CS4AI*1>0mR$cN)l+*+FGgxRoB{-f@IJfAyA;EBYoT?Sjd`jW!i2mP~gR6rU$b=EdN&LSC zD1qzi@?ZL@A#QLYcj%+}K&<|0V@l^%g>(B|7F_7}UpK+f0P<)6b>z)|CNU@{K#X_# zmpuNLSpPrWqX=Zd(}L760U8*g1o+MW+KP4w*V7g2ziw6lKZJC7yb0`dUGDDg{;G=@lv}$Ag;&(^;ZpiuDg$lKe=Fx^%GUZjP!4-7 w{AU@G#D@;jl(UJK^-RxFV1n5*VcZLn&xXVBj1#)aEBGZZts+$^@iplG0YD%xpa1{> literal 0 HcmV?d00001 From 5a400ac9a91a06eae939eee843cf64ead4f4faaf Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Wed, 23 Feb 2022 15:49:29 +0100 Subject: [PATCH 217/288] callback is for request and notification message not for response and add shapes. --- taxonomies/Message.ttl | 5 +++-- testing/taxonomies/MessageShape.ttl | 32 +++++++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/taxonomies/Message.ttl b/taxonomies/Message.ttl index 4e840e25..b5a3149a 100644 --- a/taxonomies/Message.ttl +++ b/taxonomies/Message.ttl @@ -65,10 +65,11 @@ ids:rejectionReason a owl:ObjectProperty; ids:callbackURL a owl:DatatypeProperty; rdfs:label "callback URL"@en; - rdfs:comment "A callback URL must be provided by the initiating connector."@en; - rdfs:domain ids:ResponseMessage; + rdfs:comment "A callback URL must be provided in a request message and a notification message. "@en; + rdfs:domain [ owl:unionOf (ids:RequestMessage ids:NotificationMessage )]; rdfs:range xsd:anyURI. + # Self-Description # ----------------- diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index d3aae85e..a066cf4f 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -35,7 +35,35 @@ shapes:DescriptionRequestMessage ] . +shapes:RequestMessageShape + a sh:NodeShape ; + sh:targetClass ids:RequestMessage ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:callbackURL ; + sh:datatype xsd:anyURI ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (RequestMessageShape): An ids:RequestMessage must have exactly one URI reference to an call back URL linked through the ids:callbackURL property"@en ; + ] . + +shapes:NotificationMessageShape + a sh:NodeShape ; + sh:targetClass ids:NotificationMessage ; + ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:callbackURL ; + sh:datatype xsd:anyURI ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (NotificationMessageShape): An ids:NotificationMessage must have exactly one URI reference to an call back URL linked through the ids:callbackURL property"@en ; + ] . shapes:ResponseMessageShape a sh:NodeShape ; @@ -52,7 +80,7 @@ shapes:ResponseMessageShape sh:severity sh:Violation ; sh:message " (ResponseMessageShape): An ids:Message must have exactly one URI reference to an ids:Message linked through the ids:correlationMessage property"@en ; ] . - + shapes:QueryMessageShape a sh:NodeShape ; @@ -313,7 +341,7 @@ shapes:ArtifactRequestMessageShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (ArtifactRequestMessageShape): An ids:ArtifactRequestMessage must have exactly one IRI reference to an ids:Artifact linked through the ids:requestedArtifact property"@en ; + sh:message " (Artifactshapes:requestmessageShapeShape): An ids:ArtifactRequestMessage must have exactly one IRI reference to an ids:Artifact linked through the ids:requestedArtifact property"@en ; ] . From f57a7feecfbf9aa2f605bf539545382b63d1f141 Mon Sep 17 00:00:00 2001 From: Liam Tirpitz Date: Wed, 2 Mar 2022 11:26:10 +0100 Subject: [PATCH 218/288] Added basic DQV integration for ids:Resource --- codes/QualityMetrics.ttl | 24 ++++++++++++++++++++++++ examples/DATA3.ttl | 8 ++++++++ testing/content/ResourceShape.ttl | 9 +++++++++ 3 files changed, 41 insertions(+) create mode 100644 codes/QualityMetrics.ttl diff --git a/codes/QualityMetrics.ttl b/codes/QualityMetrics.ttl new file mode 100644 index 00000000..35c0c53a --- /dev/null +++ b/codes/QualityMetrics.ttl @@ -0,0 +1,24 @@ +@prefix ids: . +@prefix idsc: . +@prefix dqv: . +@prefix skos: . +@prefix xsd: . + + +# 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:downloadURLAvailabilityMetric + 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/examples/DATA3.ttl b/examples/DATA3.ttl index 28184562..24835095 100644 --- a/examples/DATA3.ttl +++ b/examples/DATA3.ttl @@ -3,6 +3,7 @@ @prefix rdf: . @prefix odrl: . @prefix xsd: . +@prefix dqv: . @prefix conn3: . @prefix data3: . @@ -48,6 +49,13 @@ data3: ids:accessURL ; ] ; + # Data Quality + dqv:hasQualityMeasurement [ + a dqv:QualityMeasurement ; + dqv:isMeasurementOf idsc:downloadURLAvailabilityMetric ; + dqv:value "true"^^xsd:boolean ; + ] ; + # Commodization ids:contractOffer data3:offer . diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index 3205c7f5..d5d6ee6e 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -7,6 +7,7 @@ @prefix xsd: . @prefix sh: . @prefix shapes: . +@prefix dqv: . shapes: a owl:Ontology ; @@ -106,4 +107,12 @@ shapes:ResourceShape sh:message " (ResourceShape): An ids:variant property must not have more than one point from an ids:Resource to an ids:Resource."@en ; ] ; + sh:property [ + a sh:PropertyShape ; + sh:path dqv:hasQualityMeasurement ; + sh:class dqv:QualityMeasurement ; + sh:severity sh:Violation ; + sh:message " (ResourceShape): A dqv:hasQualityMeasurement property must point from an ids:Resource to a dqv:QualityMeasurement."@en ; + ] ; + . From b0ac71c272f66dfda9e23734de441f941d01478f Mon Sep 17 00:00:00 2001 From: Liam Tirpitz Date: Wed, 2 Mar 2022 11:47:48 +0100 Subject: [PATCH 219/288] Add missing prefix --- codes/QualityMetrics.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codes/QualityMetrics.ttl b/codes/QualityMetrics.ttl index 35c0c53a..ab7b14f5 100644 --- a/codes/QualityMetrics.ttl +++ b/codes/QualityMetrics.ttl @@ -3,7 +3,7 @@ @prefix dqv: . @prefix skos: . @prefix xsd: . - +@prefix rdfs: . # Dimensions # --------- From 85353c9b8ab762126e7cd0a3ca6c2f95e5e78521 Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 3 Mar 2022 14:01:57 +0100 Subject: [PATCH 220/288] callbackURL has minCount 0 --- testing/taxonomies/MessageShape.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index a066cf4f..d5d6216b 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -43,7 +43,7 @@ shapes:RequestMessageShape a sh:PropertyShape ; sh:path ids:callbackURL ; sh:datatype xsd:anyURI ; - sh:minCount 1 ; + sh:minCount 0 ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (RequestMessageShape): An ids:RequestMessage must have exactly one URI reference to an call back URL linked through the ids:callbackURL property"@en ; From 08eb6d068f2694c41277491bbd5af8a7587570dc Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Tue, 8 Mar 2022 11:38:14 +0100 Subject: [PATCH 221/288] Improve linguistic Co-authored-by: Liam Tirpitz <8599573+liam-tirpitz@users.noreply.github.com> --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 54501be1..f1a17904 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -2,7 +2,7 @@ ## Introduction -In the IDS Information Model we re-used 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. Moreover, based on the performed analysis, we understood that a better approach would be to remove those redundant definitions and directly use the external properties in our SHACL shapes instead. +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. From df849607feeb8f32effb4b582c544b99f6e9c34a Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Tue, 8 Mar 2022 11:41:54 +0100 Subject: [PATCH 222/288] Linguistic and syntactic improvements Co-authored-by: Liam Tirpitz <8599573+liam-tirpitz@users.noreply.github.com> --- evaluation_external/README.md | 43 +++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index f1a17904..a0e1d5f5 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -8,27 +8,27 @@ Software engineers and other users might directly jump to the **hands-on manual* ## Goal -Our goal was to effectively identify and remove all redundant definitions of classes and properties, and directly use the external definitions from the respective existent ontologies. +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 not adding any additional information to the already external definition. -- **Partially Redundant (pr)** the internal definition of a class or property which redundancy is not clear because it adds some level of specificity. -- **Non-redundant (nr)**: the internal definition of a class or property adding new information or more specificity, such as domain and range or further constraints. +- **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 which is referring to. Then, for the evaluation (**r**, **pr**, **nr**) as aforementioned, we analyzed the internal definition, for example which other additional information was introduced by it, and we 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. Then we proceeded to the concrete implementation of changes as described in the next section. +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 `odlr: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)**, and decided to remove the `ids:Agent` and replaced it by `foaf:Agent`. +- 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 `odlr: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**, but we decided to keep it, as it is more specific than `dct:type`. +- 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*. @@ -39,7 +39,7 @@ We describe some examples here:

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*, were we added `@prefix foaf: `, and replace `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 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. @@ -75,9 +75,9 @@ After making the aforementioned evaluation and changes, the results are the foll - The IDS infomodel has been improved. Link: [Revised infomodel](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. +- 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 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"** @@ -103,7 +103,8 @@ 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 the properties which are already considered in the **IDS Information Model** (available in *../model/content/Resource.ttl*), here a snipped: +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 @@ -155,9 +156,10 @@ ids:sovereign 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`). Also by the properties we can see that a `ids:resourcePart` is in the domain of an `ids:Resource`, meaning that any resource with this property is an instance of a Resource. A similar situation is given for the properties `ids:resourceEndpoint` and `ids:contractOffer`. Moreover, there are other properties defined in the domain of a Resource, but we will omit them here for the sake of the example. +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*), here a snipped: +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 @@ -210,9 +212,9 @@ shapes:ResourceShape 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:sovereing`. +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`. -Let's say now we want to model a new resource, with a new prefix ap15 by `@prefix ap15: .` as follows: +Now, let's say we want to model resource, with a new prefix ap15 (`@prefix ap15: .`) as follows: ``` ap15:Ressource1 @@ -245,7 +247,8 @@ Here we included the additional properties `dct:title`, `dct:description`, `dcat 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, then we create a new file containing the validations as SHACL shapes, as follows: +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; @@ -278,11 +281,11 @@ shapes:ResourceShape a sh:NodeShape; ``` -Now we see that the properties `dct:title`, `dct:description`, `dct:issued`, and `ap15@serialNumber` are mandatory, as the shapes indicates that the value for the `sh:minCount` is 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 use the existent definitions in the **IDS Information model** and we want to tighten the restrictions, for example for the properties `dcat:mediaType`, `ids:representationStandard `, and `ids:instsance`. -Here the snipped of the definition in the **IDS Information model** (available in *../model/content/Representation.ttl*): +Here the snippet of the definition in the **IDS Information model** (available in *../model/content/Representation.ttl*): ``` ids:instance @@ -302,7 +305,7 @@ ids:representationStandard ``` -and the restrictions defined also in the **IDS Information model** as: +and the following restrictions defined in the **IDS Information model**: ``` shapes:RepresentationShape @@ -357,7 +360,7 @@ shapes:RepresentationShape a sh:NodeShape; ]. ``` -As a result we change the three mentioned properties as 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. +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.

From 2a57fa0333e38e655be84f90cedae0f3790e9929 Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Tue, 8 Mar 2022 11:51:10 +0100 Subject: [PATCH 223/288] Linguistic: Clarify constraint extensions of existing attributes Co-authored-by: Liam Tirpitz <8599573+liam-tirpitz@users.noreply.github.com> --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index a0e1d5f5..8495b473 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -283,7 +283,7 @@ shapes:ResourceShape a sh:NodeShape; 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 use the existent definitions in the **IDS Information model** and we want to tighten the restrictions, for example for the properties `dcat:mediaType`, `ids:representationStandard `, and `ids:instsance`. +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*): From da1edce7e258dc3a427e9dcb4d4efa3a9c7a2d2b Mon Sep 17 00:00:00 2001 From: Lina Molinas Comet Date: Wed, 9 Mar 2022 12:53:54 +0100 Subject: [PATCH 224/288] update pdf files Update pdf files to remove comments in red because they represented internal discussion comments --- .DS_Store | Bin 6148 -> 8196 bytes .gitignore | 1 + ...rmation of updates - ExtendSHACLshapes.pdf | Bin 58897 -> 58715 bytes ...age of external classes and properties.pdf | Bin 164193 -> 157168 bytes 4 files changed, 1 insertion(+) diff --git a/.DS_Store b/.DS_Store index 5b3f96e8025917f65b31ce9837929959f25648c2..5365869b07763e860cf1e18a33e4e8f00e4def58 100644 GIT binary patch delta 351 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aKK3KC!h@);OP84?*v7&0018S*v@ za)_~PR^aGmUd+zHF|mOq0;EisA(f#Fs3-?nDMLI^v;wFxm7$0s4Z+`RlQps7H>2y`+S@Iq-A)eU42>CUp? zqP(2^ymSU;pn02lSlF2-JBUbZ_UGBp%q77MG{+SbOu(S{&ODi4#B;Jg4+jU(T2M$Z KY>wxd!wdjr+C#bk delta 123 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 TU)HBrR#5@biHaJS-=zCL7SwU4 delta 24690 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 EAM%UWA^-pY 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 index bb9cffa4effd63508ba120ac26805873847fb722..7817d909a061dac9829f3004066fc3a142f77211 100644 GIT binary patch delta 61100 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 z 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%0D_1( zNGkgdmNg{PU@&wGwvst?jQXAr#6Jox+L_D!tBm`0-r@n94Y&({PRU}YM3Y%9ZD;DL zlHmb`NI?~oW&`#&;h`#rE4=F01Ls&F!JvCIjcDMn2@BM!qFx%^85eFd`y}C|`=>c> zKORdi@M?xFlaqKYRcfXK&2 zX(os$Tu`LZxD||TvgtvK zkYU2XW;K0kf>$gXi_A)9JJ=1EGqnlCqFxt3&hSp8knQd?U~=AIDnH^@Q!QRc z`R)$8bVg@X>Y!QLSB&WieSuth(vK^2oysaYVh3>o`9%6BeFr>epVX5CiH_+gb0!!{ zqlo0|!!*KR9tGRRGH?4n5ytVqf(Hu_UTTa4Y| z80v!mWGpASGLgcckRU@14pbz^o^#T$g1`=#LB{o=kxldeS%c^4zQwW>mqM>z1Imyf zYj~Xm&zH(YKa8^Q%{&2t{|KCD%R8j>byAn4=JSV<59Kubag9{bl44M4?j^o;7yqcI zS!x6LTSmYv%9W!uibug(2RKZ_qN=N{7i>osV)LGNaC*=G?lWlUD^? zkabNw>$~46m77h)qHykXNBn^+v>lM`hm6<*{WV7u#j9t;Q3O&qlqlNgUj9sX8YFRPN#Ak zW*5UB#^)cp$$jRJeM;w85+hH!Vow{|7%ABNn|ElI+ko&;a*~cn?)q|)fP~NprB!l` zK}0j`)WiT5?H%;11^z>;FMYy2@|C7g3C-|9ftG>C!{m}!JRp2ygH*A&8Xgp|1LE)0 z60r@>hQfxPT0@l4Sv`F-P#QSt(Luyor98tnY#%*)T^-a0aR?&%x5fvzaQZ0I7{9Q+ z35R1|E?OU*vIj}ttH*GA@VhQvkPqvo(Jf6x$`tqkK_AZl3gO`%T}7hrG!9iKhvNet zr>7_7)!tDPq%t*i{}D98i$P59}MK_AByCO zGuU-8+@#43SJ_kH4~2yIyOT-&rn?Kvfj8=60;tD114Ul1`;f0#bEHc?c&ByHY$sSk z50%}4x`%|7e#Hxwh;iZ<#Vm4QZdhR4HX4LmjTBly0Y+ zQID+~0W|vd7?aPYTi~}hUcBgLG392Gsr3+JSyGl<#kq`3PvjWuQo({8+$7k}?+4iz zhGJ(5r^?=-Umy9bG-4_U>Oz@D>&u#HzofHU=z_&tLY)s47OVivt%L8}5wwBOdPX|K zCj=%5W7TB!$6ILmzSzu51g(*G2A{{%?frc}#gc+=HjApo z-gphF=^qd;@cjZ~bD)8!JHy3`UnYA#7IcK`sO-$P@Ak|zY1MH!8}Vn*4RJV~Sm49j z?yZ5wsl#QdAR@k}O{F|mgD$BR%{>2Z%OSwVTtR9NO zS%lb2prosd!|lWy*sQs$(e2#(M(*o;zg_=v%7jLBFkJUf3m6w0H$m!%b^r_|Z4;J! zUc~Z|+cuN%vi#b=(I#s>nV*=>IDsI@A0ENi7Kkwr@6cTQV-IU`COMUfv|w-@%8;0Sz2QFfff=Y|AHH-mZ89iBXGxp+N?G?i6iwvU~g0B3p) z^@GTy^4?2)61s$0E7zJmGD9LAe)k3D9U7T%H8KV9*&e>f|2r4d2F<5Cat~K1i={iH zF8GPlfQxh!t#|l^Gfr8y#@G$-7%VFfVYA;%oC3%!(_0gJ#;)}P-^WjEcZ+RcdjncD zrzz)_wc(08U@I@Pa002cq=KYPuuY6izd$p02brHg>>gX>o?E73a}>0- z6$2y#QWTAsVv6qKSx}F_^#Xw)e=x}n7A}NFEZEGQr%*1(TsWj`$Tzi7&XdoN>7j}Q zEo-YF?Z;eK`qp}1ab(p*2aMFNVuoL^89ah>hV3fy`VlZ1iu4x9G@9E5?_%(qD;!1o zX%jU#+THzpJu9ho4$#)YJz8+5KvbJRBmr#M9OB7B&?&2)ZOTI++I6$qEqx%MPR2S&T(O1%I1Yr zMv4VWkStLU>gN(HMF>XDk+J3=PefVZQ(~o#$Yz@##pu;%T(jak3S~^{w;_vQO`MAg znSP^zpuHV|#Qt!ho5Jc`x7%Jw)&em2trE28+nKEKb$en*uEsDZLaL+Wyw+~iUoMIz zAZy`$-go;ut!ZO}CqiXQ2yT?ER%JSk!I=QT+6OrxkPO$!j!J7I%jn>#fKlBVgWmt#=g2{ z_rf}wds^DrmLVM0wGKLK$oy#pLiX9?GSVG^eGcn-?%Q|Kqq7zg6+zvh zJeuTR=R2J8A`!lS?*bx=H}|&^lyg5nnDOI{ zZsO%6x)@jDmy@WKgwBq}(*cEI46>b!N_@RXcjyA+jGxVHw&QW2JRRr->@(V9O?cH{ zqLXPe@Ys-00-L-!qsMl1yM27#RF7G1BQX?vB`f_nT;-*%XE6-=7C4d0%9o*ukZnpd zG6v{24ju{$-JUw9h$2~sGjY_G=r|vlyG8v8cWCy^8sVdZ$p>QN2Y?xf?%=tz`3rUx z=@z3VHM?Gf$YhpuK0zPI(HKh+0W!jrw@K1>y<~uT?Flo~lmAVu-ms_0UPzMc3`il# zXsDy9OED9y5*Up1~@@9Nk-Fw_L1twAi3-K5!$dw+?AX! zC`|tW?S`=vEi@&J1E9d>Ak{DA(;|$bdtAS)PTMkj)w9fD->Df0g`+u!0&^O35NU;x*D#px=a6})DzVYwRD-;hyv^3N%c2J#HG7vQ{77;}}9KJ4Sh z%A6;&%c?zw1OKjiYn??+LAYKP>)yqM^3y{Us*Ok9{w29PTX$N-!ZYod{L_>Rm+nv8 zbVIz}I_xYFAiB$mHNbY@>q9T#^VaGdOgTqIv2B6eC}FxPvPsdCtx|j(yLOujy8A{G zWAqAt0J~Cmd1q*szqJc3R5OBNoskeOyj>h6I7`@I<6%5aL0u>^=fNxf--_n zYgk9U>x4N1&#f1{h0a1HuESu?bll88gs(ScZC*PL;N}sg3gcaeb}5RwHI&!NWW)W2 z@59?m$}C7b^QmeV3+ojSu~)pLS2eRqGT-xIC8Y@Ns`7TB+ptpY`0EsE4cNQNwe#+9 zZE;I43*qih#*6UW6$PDG;IN$zregs|x+ZrnuFi+pCPpsFFY=4q z+}Y*jy9skPln(?uK#U+I;n0VG40GhCi(yvZ0HUe>+}p{!2Ql7Ihi z&Lx@7@Asm=TFEl9cs33Pwx07;Ny(g|^e7aezjszQqG4s-p<`?mvSR;@XvWE&0eA!M znneE$7*2(a>;NJgr4C74OOG1sn|>EHKpf)mzN0`E&$6?9q10yLjUCz+nvAz&w$$@< z+e^I4ZB=KLYR#aH0{)FF@Udv1xB}Pq{StX| z#^X8#rnhb|AI9N}un~F6N0_P^V69eBWqvh@j7{N7A%S8WdC|-&2P=&)SYnm4zlOwS zUFqW^=D|G`9;b1jMZZ(m7^)*KCo4H(rz@%WN_S2vX~w$g{8vlh&-WK#?<*!%@aK** z+w`ejukiXC_JsTI7f3hIpI*P;;i-bF&*`iK8OorW(0Gy|->JMRFiY64fS1n?V@f&S zmF3@5QghoS?C>QHQR5F%>^eN{b;61qC32Oom6SQk4F6hE@ITum_%~se=ce-QB=S0R zOY(Q70;!*Wd8Sz9gsNtcyNq8-@$7b`c>*dO+91%8gCR;qn?$ zvv=T(^I(@WF#x!EAOOAtRcW;AtkPophHxSvgP7;~f41@-4gK3ccST6z{!( z#nc?+n6QAL=zQ1Pw42da!QrieJgTM?+0HT`QibWDeyL(=a!tXuMfv#p2Q||jx`6xR z?=bk}@sqr_tALgdV4TKQ4li)8yJMn?-gOF-dXjUDwYQ$>ZtgJv`Z!KO8{@pY84qWv zeFpcSRYYNADP5Um)W}h^JF*MpkKy3&&Uk^2x3f;x5c+U&<=J&{Wk*MH6fM-x>UT&# zUll%V4TwVfp>QA>Vs(n>z5DEmusjx~ek$Zvl++rulx5*^fK4bzYq8qpBS!1L_yDzp zZlY@8U|y0ww9gC3Thu=9-CgtC+FnDz9A00)U`X#MfBRMv^_4%*hHo2*oQB4uRD!y# z;7ofP_`tw;HEW&ZoFA|(_>;3_A9{I9g*!8>48b`q5uQk4bw`1!`!QG6Z-i!7!?#`_ zkP)m^YTAlVK#vQM>MFrwAj^Wsr~QvRAiE8m28UxFvQ6s8pkqm0r69 zTy5*B9_-%R5ojiD)7kC_&Nm#v>6iLCFg@xL3&9C2noE>VTFtKvBezuZI2!#z5zH~% z&NX^r%BI$vd`ij#f>QB zAxk7PY|hOV&oPnx?uOe#H3*?SAimu(huO^XZ4~>Yk9Gid+#8ub#@CNnXhunHj6b7fPkfL+ z;~ZNDfaZwF#8z>&xIq?_95sw#8Wl-DW*oHyRkkRPCP(Y?>g*Fm)pjl%yK^Kb!F1<5 z^59OIkBveV9n2G_HbLf!mKx7Lv_z4uL-OWGxyY_2`Pz2<^qNGZYa3}=J2yN>k3x@T zQbJUkV6x*!_ut2uSyKHjtp`O;pA|mHj{L3y{3>0Qvj1E;)|hY3Bi4Od)0h=5mc|5t zfaN}%4sDaw#8m#F{9;0wN=J%9jBoywV`1eFJ+GwF6)_c{nbKI`{=uf=MJ=SFA(8X< z5psi6V}bKL-^|(+2;XCLhPl}_Ud96syC^vwk^e|6PvIC|^@L83Inn=!Ke)e8`nD1T zcKXm_lU)=s~(RG?6`Ci zq-4bi)PA`F*J60+0oA0vlL2u|oM#eCStW|pOZS6{J@bZ@OPq`$<8AsBfZwbCaf^T>{QZ=Z8C{AnH9W)RxAqd6K=wOES~+6w%Zt8&E%Iv0F=c=rmI9r&Er*j`XtS~v5~Seqc* zUQH~AsyBLJw)+cc5)pul`=Ba7TSL8eDcrMXak?9{FYMaej1REqiSGXix?psfu@OHf zfvRvVUWv=z)6PxAvI1XU?p~=;lts z{@g7cCsA8OtTzy5yw^-FF9xTf7So~+wAeW!hADRpVu~c$D(`Stb0z>JOo-A{b-0Xc zK}PF~SGwghbVI*@qEaela40+@7yky@CI;&$QMu~fXz@AFBuCLsH|uEviT{x@&q1|P z3fsG_eB1>kuPBa{PP6zf4)`NzYd-f|NE5i*Xsz_mNp1t=HnqO6|6M!Z-mh;vqY!H1 zuaP8wdWrieIx9!-;-Ct~F&CnXlj`uND)*MaTJ*1Wen;W7i(2Y&XFsc!!GLY?H@bwf zy;U{FgJ(hD!bks`G35}Jqby1D3b#C**RG< zoW8#NUzlZ%)Q*&#K@G2cB~Yoong7E}#}y6Q1g=TTY#`;-|KX)Tt^CqqDS+S90ZeKC zAe(}^^gg;94NB?k4bSOWf85z3B-+7V!JZfwLt=+iN+;1hUe*)dbObjGRTi*zY<`2FQxIq7qbbDusHQe+*I**D2%CTY6$C_ufMfb2f zMF^*K93G}B*TmOA5)P@#wx0E>KSshC!qd=i!qw$nrmjoE!xzCA#Lcj(p{%BALeky- znVYLh^4-c;3G?4@*uac=ZBXW5>|X_vzS`2(Im zXt#u4kB5#JMH!TUhHG3TpZs!bIoEvgls7IGZ}i(_e-<*ylhD`+IDw7{JcD!J#S?uu zuFFK>FBU3!-ZHpJ=7;@ySzWra5fq9P1!~nqmuMG@lW4qTd=~|Tg8&IE?pyMI@QL~s zi!Q6dQZ?e7?AD-w8vA8QuY65WI)@Tee}3|o9=k9ELHG~AwNo&#;h#Mh8$SUt*ec}? z5DfG6=MP_pp2HsA0Fo%UP9g$l#a10s8)>6#Ow<`iGJ_K?K;FC}Cs%D=hDRyY1G+an z{0M8ahImp~SON}RfV*vn#V6ahH0S@FtBCF`M<8->_a-|Wn(fbNJGKNL`PZ8XM?GLs5HL!4!^@>M~^;4+sSY1k3Ud3i1BpWyBbM z;}MQ0qNR=;*UCoH2~k}c52-8s0t&w1rueOmZD1Td zw3lV6%^#!U(jyxXJk2Ua)u|4|h`n=XWfId1WFHHtaFfv|HNxWR8dvlOL@~LUwTamd zzl8R2oG<9nPqmA-xEY{HaydC!88ra)m^3L)z>g16FZe5WFL0?lL&ODHhFnJYf*fp{xbAhcG1SKngUDKSy#xu< z8#)JcO&ih!VxigTmwYRqvD~qZCkPIb2~!}8c%0E|Vw+cq9iUfOrA^f#JMnu$aAos> z4(#6$l%NXr$htJ=-cE3z=>MSX874J^9Hm|!anBA1?Y9!Ow(VZ;DgrOz5d~beMNHrk zGe;0@#5CsZ)6*V|`5qtPXfd@{LJ%A~m^cIYN?~57x;khwMK2o*VGKs9=Xf$bblj!O ziOne-B}W;^B(g3}5qwRQ4FR@%UTR(ow_W%e89fq-^)sq;2B2uO6P}4q+i_e9z#I`! zIl7rQW%8s8*71Wr@#43wfm^UWpn{z5p7=UruKorabS>HM0qQrsraN+w9X1=QF2;``RTqk>Xc)fizgF=tz==2({zru+aG>)38irHmlRRR{YZ8l#r z;1voKI^wEG1ALAdY^xV+@eCs+*+J&&pQK8rRCME9EFEz=?l&HYA-)K373FTQ%DPI6 zRGAJm8}?)dM)yqYuqWN^X&o4Sa(w_C#tPzTU2v_$F_G4o(lpF!%!L}Z1nPf`RH~qx zr!hmnN`S_6uq(v3#W{O*&EZ!*lokG*NRq@vulmhqq&L_)D;zTADjRy{1cyqsedO}% zQs67xC;FF_FXGkyC3hRK32xaQ>VbE(LYDE3;UR*R%3Nwr234PhP$GhMe-J3fL_TvY6Eua9BeT?LBkwf((-670|??jUJG^ML@ z2JUjJZ}_gx_DzNtG{U~YeCa5CmzJ#2JR|G8^N_e*^px1^7|HRVZ3e&rKb`#*(nt^P zzYw}u4;mUjQYZsEV1tNN+Wei=7lq!I&jNPVC#<}^985$IJ>nbWMYvDomCC(OH(EpX z*+6W-+>bHJ7_>dp;-=5vg2vfkLH4@ZIvL9 z4OHtrqZ0uQjuwHRNCn7h3wk#ivcCHPi~Virj}gpl{rBD^pFT@$iB9$A%Fk zrH>a6l!=YAWrz2lHQ3eNb;RXFp)Bn1rw&G&EwVR=CbB$UntgKZ5;ClJq8n2;qHQm2 z^&mvhEEP_AVdw+B+aEY|671Bg7f7dtg@@DSB^kq>gNqRS76ZsxWs{$s>wXf!LO1;U zP4ts%X3N-66CB(=%UYC^G2rATajP6>ZRnQjqWYIWDg2i}0es*K(a(Duvj093 zN~4&k+-7oDS*Ar5XR^78${DNBG6gJtigX!Jnp}fi^WER;5Aupi=oeF`^*QYEI@&(Ni5Mq82=9z^5YGF%{2Gq$urU+stY>A$&&Qn#!To335RvZ`68 zgWQf4sH?1Lcy!}JG51t-V?WZ7V!t>6f3{Gs+{sHr=RIu9<8Qj_ov)?wpQU>;^0M<( zw6p%3$@la52^jd4O#k~qs7oK4-7yJr{wavWc<{!F1;8HFoV=aaev;k1|IJpEn)Aqw zhOFJNsp982jsBt3z7{^N@u|%w(ayr?nGHT&wXHXGy1~S}XVb>gYVn}*i=d3cyh$+y zi)yV-j;dod+MO12%f8Kowosu4J#TCSXEVBPfvZl#EhEbg+y1mXZzN>f;k5g!8~XN* z^TFp?67cl*ui?N?2KmKlPRA`h1izwp`jQA4Ct>5^S;h$mH}M~8uNkpFp)(WcT@($I z$+=0gE}kM7X7XnbzMh`hCm^4EK+f_EiYWytIWZ?=@(K8Cc93PAxveupDE0iRXJ#@Q zCr!*%EA5NLvluU4!IQPWf>9S($Qc)d(Y-|t5&;#3&v5ygp-CAPle3P#w#Ui#nGIP} z=rfOxbHZ3BZr1DO^Qn{}6cp35df?-J5aS9)5U{2{_)hFPXw}XA2yXf|Gh-RX&+ZO=EWDOCq-X8t<)z)ZseV5*Q#BaR0fcF19XNM(QPCGW!R zX)Ij&D|3}A%?`V-ytO_Ltiu%^=gjB27ZNw4uED`C68ZJikIok)$zFR6EVms9zmCq+ zm*H3RYK~6hA3ZBgw~p^|d62cj2wX*vT@5`_l5`A_bq*ae96$3WsWN})h73TcFi2mp z=X^+dYdYjszX%^zNQn(C@UoAPJ!0T3L+V0s=i3f@<8nk;W|tQUkEE&ol2P;}taS{Q zWz@zQ{A)E#{#U5`mwE*q2~z@0pl~yRPOmuGosU~H02~)9@FFeZqNC4z8^6TFbW1M| zHxazG_I3{USZOegpn1Dl@*f+9fkM~b%U@o0!EhBjnlEgJ(~r;rC1J2iAUJNI{*(JR z%+Fc@;GC}vB=>}j7XnvXDCec;)Uw!KSt%@`o6KH$qJ(Fwq}>wunyJbdBlEeUmtsEZ zEP*w%$<4?oJlA^2H)}FbJ2iZ*;S8l5F^jxRPC$pyJk1flg^YcZ5CkX*hrjg3S1GXB z!ZlIwAWJFfBu*L<*y64Uy}ZnHt(h>2upQdQvJqaO10B`I3k!mwA&l#Qiw(dfVxTW! zX4MYUL{gYSNA?V;>y=9T;Q6IK_K=z(&mDbTZ1`S?CK|Qq2(C%4*c0BI0hKe`OZr_*RSjQEU>7v zy1*VA7BQ1HstTl`nX}LGxET)^B3=o$5W<&!#7n#$I-HG!3Y0he%GrMHPqv6*RdwU) z1#R&F^7+*6xdQz}$bx)t-AOHtb$a42%;0@?Cn3clD8M-c_6}REkRegcvEUlhwiVAa zMb}-)fLV(hhyZNqxK(oVK{65v^KYH86PRQWh`Rv5Ug8r9J3B#$$Q_WEj)T}Hs(WnOA#bBOk$E}t<*+HHmVQ~e-?}^k8njegHtdG z7=V$LjL^cdeBJ0A=k`os8v=3t*{m5-a{hF$FR@l&~C zEqNlHF#$@gz|NE==D>H3og>Zw1M!3S(QaL_<`*-RO#g;6588KYiTP7#4w&nq<00>2(_>e)R!Uh3?%#92jY$D^-bW zyjXo?^N|>83s@fjEYwkxHY+)SNOMip~cM|T%fb5|HPmj9;+J2*JH{d;6fQS#*j zVPj4)Hm3xz{l}tIU<3qU{x>)5mAm>Mb>cw!N1gi6cEjyA5<5s_n=}q1q@o86ILPKC zdC45?D)hG^jKy`)tUEkFU+?d|Rw%_c`qC+vjtYsm0k>h>S%h0rPvVDbX`bc|fZ4SQ+17NIBB!+);?!J3+0S znG~7Tm)FVRn;_P?yXDngj>*#}{4i7v2@R-t^NF72);dY+;Lxd`?$=G(FBIOVuBkE= z@bz6s^7ZkxT3wR_UD3QH9ZSO79utFYO3la&zHOD9G+n+sRa)pw^rbNH`4D5bfr=`D3!-RP-@`c`NYK5eIuw zpTJuAN#_ejj)8$J<5-0U5sZl~PY{$;Gu;pf&oMpr;LhZY&Y1n~hHA-YG6yq1Z670- zF%{eCYpgQvdKW7fQ0in}00iK1qdXoZbWH`^zTZ;^PFnYm*rlFP~1Z{Y|y()HA z-v04wl}yCZf1$MQlfR64lUY1>oc25Fh29n4P_5OsL9?bmCu7V4e2&MMVVby2MZ!XF z;D>8ea9q#{8@a++6swGj*Pqsw);8yA>p+!}BQQG|Dc(y+cjyfd00vn_J$mTA=1~~E zco!^b<2VxA`CA)ZWh)`W`jkVvCY+zpHmovG^=i}ZHZIFcamG|!LA%XVAj2T5exXCh zE8W<4^(X{}#P3fXCQcBwSNeh5j5d%|Q>vsyjQbl|Ys{e|4D;JP-W^a`R$h^j*oyNw@sIkkGfD_p#dcXcCmJ$@c*)ez{?O%+`RdZqS7LidztJSF0o{Kg1P6lZC zf--BxLj|AB>4_7@xII!vBE#+JgQ20D3vEEaLv3Sb%!g^>r{KitxaQ36b4TYab-Cnd z?4}4lU)E2s_*0A;Tiz#RqSX5ex>79NA|%J^bHC(SQWtm003pT11SJ`NtixG>>zbqR z3pGZ$_(*pbee?*6m1%6ZA#@1M>X>?lFbu}k9R7i4aEAeFW|xasi_=hN9hXybJWc-S zy{fe8+swrM7_3`p*!7Lpx%vnVGg0XU${psvh-;gntH}sdD{JSk~3_4#;{Ot z48xW!op~6w0NGf*3?xyzbWh-U@?KA$gZnIO$U2Jv9Mn*HD%|2{)ty-W?6JYz8U-FP zFeq&zJk?Hy1x?ZFwy)>H>Q2t56{s@TDHZxoKqTVhG8ccQjQU(}$i9TEt|h(@QnyeG zJ+p;?s9IeN{}_|H#0I&^ITPRgsBs2#D<)=CzEKqlAm==(Be3Mw!=@q9Nr)h*^70)h z-i6M%CDpcRXsGpHjxb@1<<^!mY?@2INNMr~zB!V;OU;4k@Nn1bOg$q+AAKVyHoLK~ z0hq;hr(weL~KAi44E|S%$$U(KDK>XwG9D&jf_$u*MY`fO__8&H;^=p<8`^yd0~w1x>5KnL$0_ zMSL@Xpq0ViaM&fuoPVb;+!xJ*Vg`ARMF z`j{=A%D#n#Q2*rYvqCKU$Yd1Nr4_ogXoJrKJeNSxLp4fIWv2EKn z@7S8yn%K58v2A;D$M&1&yzeeW@Wj31Se!+uP+l8i0pqF7S7_Nc*zggHiHQ}QNE{DLqVs|Z}o#wOV%X6 z9@)#7Ev{dX^bwR!|2HM_Uti|`NOzdIxc^7G^ZoHIRel0&X>BFM<~z-MAX2cLFk*5zdkbpL&42WfjpggjeR~?%&I! z2NCPG6h)Dg zLRBc*%K+4?4qnMPyb@}o()-RZhAN7VTz;9*c87)uAQ%kvO6kfslDl6Gm&9P_vwKW`2tSto7IS5OoI^vw_(Sw{45dAwbGQEo3-;fpFN)bflXRkm2`t60kvB~f z1xTIe|8O6SnnH#0QvAJ=`QU`1YTUyg0iKT;!H~ zB%bsGgB@uNv*KJ{#Ta&8Dk7x>d!-VGRew|Q@#tkVy1J_}fo+2daidILIc5-E3uf0v zKJWJtwleSO7hms}Gn~CQzy|}j7Dr=!Gs?qZfRMo72h40?f$7}d-8C7(t9vRmz%K~i zjErlK`%WH%-(0L{I$i8hV$(6pY~ou*!vOXrQG&lMko-8}#Vr>~3Smmc6W^4`hJaP9 zw{u6HIhRj^-PUp$r4H}VB-O>4xh@Pp>*X1fKgYxLhs)-SpxN6WL4kLA*4zG<$~78c z|Gm&DvEs(NCpO1Vmd+{rdKLEp0K+OpRvp+Q^h_F%r$)xzmy#EdMUeXzG0Q+IpZS9X zRlhD1t44P*rI-X^hMmP1#^hXDL#G^rNs@Mjr?*A9lrk$v@%s)~<+{NyKw?-0!wUOo zNo_Nqk-38hZ=1d`U5F@>VLx)2oqn|iuD~)`J@fg<8pcDJ{)T%@CKx~kjMVi(2qf}9 z$8Y@TR^%PcoF`ME-uOPCT9EB_4ZCx$l7i794EzfKp^kT3fbOPGJ1n62?Y9Rcl=U*HuP$8d|Ii3#5o{CqbP_rT;d z6+lQC(Q#?Re$ke<^a%_w|3_Z66C0r;&QW0{grG%Yy|aEDI#|^`s|b}w`6WViokR`E zDBVPRAd(eXmDfz+8Yk&jKSUZ3tII0OP5{JDr-UVde%G?M%Ri1Pr;Evp z$2Z=!XyCh%121ik25k7wqjsJOTMX0-(pVSW#qa=#on84P7HoLP_4nJ#jfKy)aZ+et zXz426K(pZNZiy1C96s<(C1c3EX+|$P26QmR@vb))r7k+D@I;&kgPc<$ztdi>yw7LD znv9$FM}J`A{p|oqW0ksVxX0Dcs*O)02SX7gpB-CI_>1nf4L$mZk;U=4xtQ*gMNSYr zWp**S3$M}=LB}N}VUCxC+;4Qo&WD~pn_>^nyCY1FO~qSotd#fh6R6aarM=>q{1bG? z%sFIwjTt}u`_-z@1g4s*E4t(~r0Ke5H^0s)Q4M>wou>r2AbR;d_!%qyhZ=F&=|-p2 z;e17uZ5|{3e9mS3p@~vVN=bh=5*Y*5bG(;w_FqZXKIZ^~oBe^R`k%!{@i-csTZrQeZlHp3R6G2C_7CNaE*91zqB3aL4j_Mf29;9YKU&4$ z}uNe5c^~bGy(wnN!Svsg)uw z&t`=snw=h3pWGalXwNlBYuRe&gL=dsxD7dxQ4HkjFZ>x8=APH~EZ|>{MrhW!yDrg+ z93$yHjz#{ayrjsFM+4BLV6q-zU<$gIj{uGUNf@0osPKmvO|TnkqYDm`i{>e@_7iVA z7Iqz)XZs1;?SQw~=S;K)SK|?`ywV$<>yZrRJCbpz-r|MPDBZ0LEn}IF zSUIrCDs53e+laiv?Xv}TBB`vndxsSRxIX6**x_wB#Y%tH1~=DcZc#z76B31#WLY=! z^l)hRa3Mo#t=-BCUtL@qMUBeG+HP(I);kQ3E+~Z1XW-%{ffsI(%2E#iI1VgV7~KC| zj-I4PW4KIO+%vyU=nK6K`^8*3{n_oXsWNu->kiNaLB_8j%WQ(K?jGXrD1R<_*0%_fY{bJ9>6@=s_@afev(3vJ# zw1)(#;Y}^au|FKJb9e6;;b~Dn{(mBm{}v6iFf;!TpUTekohbNEIP%S>CXMM{0dkykwLXBi$6aIiDs4_ZAU#* zp{pBMEr9$U8z;UQ3f%OP_JU7av23U{0RK_JqarE_M0U>W)ooVkqQfc0@DLbwL7%0P z-GNyas1k}&*;h27Dmpca8-ZY2KmtAkQ>@C;{FRM1OwI4%HNT3CHx7d%A|;`Zrx&@n z15~f*M0A9g9@0RKNYks9jC&5ig-db;9gl9av0hD_Y6v#@mTA21NKWE9NP~L>@Uy58 zFK)>sM324?^EQ~j9vE9H7&I-e{{>8Gm4;_oRctPb9PqxzFPf8u~ut%Md5k6k-BZl)d-W4ZHj_9NUF z-A)pm2c>rRgxUQMK$o7*uayyiR-8Yd&z7KA_IWvV8OqBV6h4;^AZ2IF^pTEt{CLg1 zC1_@D>m8`qFeo&EQS z{NPCKipQoo@C=#@Ea2E+@Sa|nl*lNnHZJl8z>!7{~#~6(=(yEqV7g2%p0&k zeAkFo(O4sMH9ha*0Ns${k;DdyaYf?Uc8h1_3P17G10Z(*4F9I9>=~Mz_JrvBAmW*= zr$=qNZy@-5LX>Q_9O;>{Gcm$M5b!r_?SqeLN5jZLO6Z!@Rod4T)h!uD+PxPA{z$I^ zagt~l-hZHZn2W_URGOmV!VK+iel+t2hc>{vkd6JRqLZGQh}(2Y;Hzx7M%LrJGBXCi zKWbaa#PD_lxM|ay18`j0&INWPw$iR$_qvXUuZ|h-8VBb%pdsb3qlq%)bt=Pw(Sg3KTx$!Y zMfFA@dhrslTv_Oph6Xu62DuYY)MbCd*0p8hSj2e1x#ymtoW|OWq6g5l^B_vr#x~b}vV?yZs+d>l-CfOA;y#W|9Nt9;Nk=P&rf)odpOnDB%;q;iLW3gzodOzNvH* z&mex#-1j($@j{O{kHI$l45rxi$yyaf&74vwJF&1Cg?jakTJc9+60D!A&3}K@%*BPf z#Y1KREZVNFc9-i0DvqFEBf5bwe9b2-#qU_SsU?ju=zIhU1c6=Z;Z9=aWHK+!Gu-yu zBg>E#PA@5r;lv;{qMJ(b{eG>>c7C}BK>x14-2f&CiJGf%cmm9y1_^eZp2*e2x20t? z=DL}Ja*7qImw#DoiR=vWBoEZ(6PH_R;G&WM$pSq_laS{z-k)aNQM>pIjaVKH2D`UE zT*GuAZWbLoO(N|y=O-$xn*2A0n&o>Y8q zCmj~`DtoRo??mVz^%83oH;6{WAfrkO!9Vt+O2qK2$;YHWkKh@p;A0rzlpgupRhstz z)7($_U|sCqz3fd)LFsMzcx!Hdu@HAJ&7%y^Nve=#OFAL?IU&?Wh@UafX3+xL%F5(G zoRo|%^!=B63tQ2kyA zw2vCNB|_++cpOsNOCk|QxjaFkJ4J^Bq+$M{726ABlFE-N)D20wrKU2fT+{|aUZbt@ zPlhBE6iVyjm||n}ltrgFSs8x;hT4#wj*U`7@C+~-$xDMGg{imQeH-ob(#S_5@;&AE zMj~!(j%(B4nfLGl77CsJx&0d{ThRUak^etiV12dn-I=qP|pq_`! ztbIwjAPYL~Sn66>EZv||E*?odgq&R@>e^Y^R}n>r0)XMmBq#S~E-QEv&T{z=8A*%{ zq2f;gXqURxE)cs9`j2?&nXM|2s6gol%U?K?S8}6pMX-4}qi_+1_(?etM5B0h;lKvM z_AaU{&h%z<_saaDjEW?Q*MP7u?fLtE@oRMjv&Ar?(Dk09C~mDh&aQ0j8sCD!e;Ot#Q9 z#_Laqkh>L%lE%U|16<_HP2oV!9~yfg=Ywh@+#aC;7+B<>ng}V1CM1<*dsf~X!K@%n zQC7*2I%^ATAT6(;lGgkI$a4sNU8myS0|$Wy3eCW5{yh|-WzGoVT#RHZv}k3@e)1=|87!_mX8{$ zt7a|lJlMKRh0HqIO zv8jo(O$!(S(JYk3qbbeeV$wdbVfVkLW!*>3Z+UF0j@WG~JljYtOL$Es_D@`|R?d3` z-g8T@zBs7$qP^1O=Ssf|F5p-3eK?~UXGd9lemYZGu`0hb31GXD{;>JkA!4vmUy=W? zkF_=fDv20qR0+G8BWbX0!cSX~VVAofpqL}!HsBNkLhB?D)?yldt^ElDwoT%)7o{lk zWFxFG_pn<_@@iej&4<~K;861%gxL?zXrFYa4?exiba1}jEeNuS@lNl!DR{f$L8v4( zNS<(VF#)nJfAY0U$|p+Q5^D{dA6oHzr4vqSFi{#EhwL)!X8Qo+lbjkP2`LnWCRy4$ z{+;v!etC`GslCqxevwFP280BgLSZ%{twe|X3=a-rme+vE3aoQMzHXk-GGegjQ1ax~ z2~Ix77@*cmP3ya7F5`z(pxfh@DKX4L^VHL$(79fK7Z5p5+#JrSuN>{7+O2om1bmn1**;pz+-c zByTwBC%Wy|ws8r@96dQXj&wUToS*~|K1GsnWg-uZvN}4+G0*ZAHaA#clA2Mh3Mm*C zKt3cSRjHOf~2%5sb&6qx3gKM7JbZR!K=yIA`KGjXG%4=uRX z-4nZw(kUoQ;y`Wph%$Qlm+BvEbJH4FV?;lz zI)TZ&V8>Mh!`VnDi_sMAc;1kC_YY+*j!v#W$X3brGs3X=4Qq2qoF0s4uGZ~g9~wM| zu;my6F$vzfg_?GEz$Az)#VRe0qf9p57?g^WcD}o;GYwEWjr!$|(5#XIa4EUHLq>40uX#mnsmaISXf`cYZ(IHx)7*T6b?+j51vd&Ve@umu=`+6wu+16j=q!0DC3 zZMv$_R0qFBuCk4$f{r5?kVfl|nveyR*4wdJP3i?6*Rw7cB`S>52!(9X$x6PvqO0Hu zf<;^a><|7?TX`Zq)qvQZ~E`d>HK)wUA)VgCh4(W}ONZqP{J`~5=OX=b;6_I}* z>((8#xmB_<>7;zLLX`!3)NckhkA)#C$Wc9mAR27Uuo-KtK|>S?*fwAbDcTWpprNt^ zi_>5_{dJaq!nqyb3JvY9J3{UH!ckF1Zh!|8-&8_6Z*Ufg5&fpAWA)vf zj#$+ zVrJI%u6ukg_OqJGjpCoowiCCCqO6ciGlpK0MR;i`X|4GcVQ@k8jA|xDN?<_tr)3~?YMnKOz+qjCc;_xi%iDDK?-8&Wmp2Sb| zH8!^}EviFrkIKE+)u-htP1bh}uTmSVYm2X;s)$}T^(h+zjfDm3@YFpvOClW&e%mjk z=Z1vDg{E6v+5x>csKal|2QDiAnzu|p*!l8Nkk)kCOnvrp4^yu-4Eg%_-*V!sp(mJ| zO@N*1ltu#r$!-`4lF)8vwT?`I`eL<;=LeMj^towLr2{@FGgIT31L${Hp`-JSO`v1W zeuotwAbzxAn3`(a)R%T5)|6V&i*X08E^ka#meHgasrG%Jp90EQDyU|>g~_(iw&&?= zGkfhfyy2sA(yWQ=y%s~kY^Zs?04WFMM60u~e^9=5c{mixx89><%mvyr{>MKL1{8CQ zm8PhZE?^8RBT*qnEZ_lo#1~K{P8BWpZgMt%2=pfHm6tXZ&eUF)n9KBc1WN36+nPgv zYRTzq6mg9Io*J>9FTEG>`PS(kS7*{5*J>v&DIXnTwwt&~(?CQ>lgxifiD}TP-)%I_ z1eq$++G=PGQcISF`k{v@{*km_gEfmXa2jb&O$v8clDGf8bQlCMVTc@y>_g)#FwPBb zEJ`(~DVuSiWkVg%pmrC!&c#AW7Pgw~Kdiq4(n#Z0=2zWIsj2Y>B7 zmj`-3fwzP69XdB{eLu_NngOO{v&9J4harTj?NWurt3}A3A zf!nX1rdv$YL2GgPKvGi(rqB+Q)>%(Z`mgM344ym-#SwsfEE-nuxmv1QlR@g-J=7!O zM>~RVr=eyVTa}EoUOFo&@49csWRlx$*`KA6F`Qh5>nB{snD^EPAKDe;#QX9C)PG!V zuv(N3iCBsg+~^I%L^ATU7@O1a6z3)_;Egg&o{O~?IvHBZ>m$~`brBQwQza^wb0~;J zUb){-U>O1Dyd$e)Ubl~Sw?7Q%Z+c98#!!YY6fWLyuUvcqQ6~@rC;9PPts`T>ROJW_ z;f56??nWzGb{e!N(fo77`9(lIW_PMv_jH+CdzlY{nS%tq`8BLjK zazweh6ZxP(P4IAS^~#`^gOHk3Ie9p&VZ7KvF$E80{1|)NebV7@tjNRcyRtey^kL7pZEtq^*+=B}VOIoRJE7R!sR zpo&tW59Z2boy!t$6)4t4ZSGn25Ebj>H=$ACwu2rt+L|~7#cSr+9>XQg6%uyunL6Uq zFHKVIi|Mj;rWOvJXkxLr5C*osTh6pGr=5@6dt+8W?PmnAWn2XIu!ElxRQ)raA zqriaV-0P~%D9VJXPMriE%W>7-_yOoL{FM1L56 zaVfRM8^}b0|_t#Nwn!>13R&lvN;ejvyh4}FK=zy@H9 zW-r9B4(p7>%RO^A-M>VS@DJ!XQ@o8AP9D`o7h>a>3QLz!?+Ul71OmAw4W)k=akH|u z0sAOqn3Y6YWeUq6aLl$cLp!e1Q$~g|cnyi#n7EyUS>sK{TpN+s8iTjwQ2K}Z<$gnQ z5j2H2JRlqMXq}V%wbjYmF;?i@Km?F*{I-LNOC&G6K(3(pY0vG5&P~>eAICEViDV-- z78O;3)&bRu`se{aGElt9k?_P$_-n~mivk}R4X>Ap5(YYtZBPuR+NY+t5T;lu`5t zrfl?Ss45w$cky$71R+jOhaYy_u?Re+$eo^f7Gy5cW+hOd(*4it>^7-V_u<7aUl(58 z9e|rFTnv#*fXu3&bFv`pa2kL^TOhA4Kg!etrpX8A-CxWoyy86m5BTdwO$ z+~fM$>YDF`xpq*qioF1O%3R59*HW{CJ95qiVUSDRUku#i)E_!|1p`!tPZ8`W*_f}l zx@Cb?^!SZZs)Ag8%EdApcj2*%oFFv06;Bw z4x3rm%AVW{U`@Md3}9HqQiwD;Dt@U$uPIgfnoW7Ns`ZSUDWvrF?er3jFERe_ngIv= zfBRQ3b8;{@j(GoPqW%9=9)^czI(-Q1C26`J%0*VMzo%}q;O+@=M-#Jo>L_#?bV`xJ zY3K7DebTl;p00Kr+dB81+f$p96A9tPCMft}BUbJFnt|a!Jv$j&cN&Fv|uLiYW`lh|_8=?P! z3bP96zu=}$u3s?B!;YhY|4K>U+HpDa+D1oSOeZE={4TuZ`ek}styj8bGt_Hs2BoPy zG8@%fZ3g4vo~q+vjd_ zg8Qa2RxA1sE;QO7HCy+2)xJ+a{GOSw(cHMNmp6cBm^&X}NnZUimjP$Oin`%$r|#hW z1jy_qIeZv|pTwQsZb+}b8v+7yA5L(b6$Qa625T2nmos5oS zH?d5S6N3+Vm$c^c4;<~;%dq5r+s^`Z``^hJl_Y00-2#BMrY1AkL1(B_JRpNJbspw& zw06JFrT7HRPG+EN5Hjl7j+RNw*u2I-CcCqsqofRWw|(VH2KPrWk-x|I3;;iLe(E6Y zN#FrvfAzw;(efEJM;P{WtdejMLTurOov6~7tbN<2I(kabNy6qmePNmQYC>D!;aG|} z|NgLMeTgZzC5bd`1cpk*DR9}~P0n-mTF_~4r+4B2ujKZ1)x3uMOA2g+5;F)NRwy9R zK?-E}3(xCiRYv2W$yCca7eFflmc>VI(4W_o*h7lcJJ}@UV(D{$^McRj1xY;guP6ef zdbj1?`l_p<5pMR%zEC)33}Z)`FRSo}ZMBZho)B1lcjmGYh))JBSlak_p`}*Q3wTeCh2q)nTck1*-!(6bj;w*PYUW=_Dz6jE+X#| zI(j^?gev%9-SN2v23)o#SXT~C*hRQK>U#>VhF5%nV~CgDk%9bAHh{Mp2iCQp+1{n~ zA&WBHAh$97;Yg+<&nB`x4*TV>Td z%v?-21=w#GHjbS>Jj+=$T{p)v_4K8DMw~a+O&NS)2jd|X5aQf}g00_5C-n)Ja=oGk zZ`aG0zk+680EC1pH}Da9G$F)_3B32Y6VX-pgbj9s1n`cbDzv68%MYT8o|lcLe_Rv? zV1~s1YNdZDBYlWNX#jxr2w->lNoS@NQXK?cCixhiEA-DJL9*0Mv2e{m$O!&EIDmk~ zqXMsqXQHwVnI=)3m%1)X;8AJ{p_tuOBIzvb|1vn)hYUXqh97{LS$g~8L~f z_@?@|8Nd}fL#4z7;@ohfb(no9W&IpTHBMRL;Vn z*Ix{g5+LM#LAZ@5vGZB{d_A5B%)fu-|G1vr8V4*mT+6{{nXC8n{FN8vS9<#l|K}v@ zH!LV-ldJaF^SeZH0W&~cljtAXWeJ^_<@@ZYRTSv#>8yaxJ+5JNLW$G?YTZ4};HSeV z65SR})uuzvYed=aL#^QqGv$_HAErL_#89U;ux+xRry$tRgzZQ>L`e!=_czop&;m%K z;i&)=Db_UO_F0~_chCLQP`?Md!>^KO%}w)0k(hLPN77An0%14p4x!fUs%;x5hcei= zuzyuvMi^OQ3@KDiehRo|RhbQ=VvnMZT*A^~9yf7KZk+4Aljj;@S;uZ$O;?p2t@3U~ zT1f6__J=i5kCAK4MSffYDO`hc0Hel$kx#%ow_K;zE{{Boc_a+sD;Y|&(x|$v>gJ+U zxYM+mg|tUutdiox!taG;8TW0UkXi5AHL)$bH~;-NtslI7prpRroxcVvjh_jLODQ(_ zh2XW(aIZv;uk)?praMPC_dx0GyTJ~Q6@$=ra(5piG#iKoj@9hkLk$Dn-9zhZZan}( zzfovhOL(g;I8R}mvs-) znYc!YQKX$l9j9;om1^!F=Qp}bH4l#RyK_~P-Px*4bvo-b^ezmtf7sr^y<-MB!Ramu z^Oy!ucfqabtvbqdlupk{?eEdePRjt|yD!@Ha>Fwm%XxRbI)0&&xUDfO&iiIJ$TMsu zADxA!IF*ceSY}?zhD)&r9$6Jci~5HLe{EQ~lKG!t`uOsXEO5A>?hF=3@mpz5T-p9u zUAD@%qD1@j${?^`Tuvtte0vbL$?Pc1-*X8T$;DDo0|1JV#timQ|d&@(cr?+GbN$P3g)QI_tecCP>g1!@0fQ}+LLo9Fl+a)h0k zxsfCc0tA4^iTN|X)heLG63;gJ)l8{LiZdf2doKa}wE<2iQ4gzULMlf9U8hKRPk$bB zwYN7soOKa?tiEWkObHpf0%(;1|bl*#$r%dYnsfcQoXfDJX z|JLw!id!^+NA}*I1c4P3Z6V0lsue%?XjmpK2{IuuwDLl7L zp#lgu7n*70>^GoKo~mHjoa@LZOJEsy`WQ!S^COF6eS`x>*A z$;!e7TQlsefvjMd;$ke z#qUB^D_X`4ICb~+YT!C!YRktrgKzNpn?L9C@!Wt<1fS8sJqbr!O)-~M&or&qaPTO8 zP2`p$BMBlSk=9ujao0;+fOzGa$17RyGn+v7vCPPcJ;ta_RTU~K&gc|kEqF&J6o8d~ znx381D4yZAHQ#obac7F&zpExyES1l(!lN|XHJO{7pyE;iTOSJ?n~-;Am7kaX*=$+Z z_nH+GF)?WZxjE{tJ1d}A`(s)p#7#Ii@B{XFg1e6={K@8aA7by&aio50G8W=0*cej4 zt$Vze!`a-(#R>Y)j;E(qMH;9Wd%RI>NL9vljl6#g&nO=E(u#^=li-3bv9fbR|1m zSnw_l=hKX6*#mOkhoNU6pvU5sQVvU*jka@P3#yq_(Kl2${4|8-o+1iUF6U(Iw;0*JW@LOsjR zy1&KNCJyC4NF`acsVlLgo&S{T!=PD_u3qJ%xkae@OP=4{@|!RP_6{OF7s80t@Khz> zjJvDXpmxG@17D<+dACRkO6ng;%8NbG6azw6-7Dbt%ox_;S>03;i;w?eN-Gd=_Wj|H zY`PUc8>?rsU!ESJT^EzM3?MbFs?1nAEL4rvsy`h`ecjXi4H(8>@Z%9ap991yc#$tB zzq=a57AcACN$4N{hR}w`Zkc&n(^qskt6fh(6_#sb+-plM9g`CSfmc{YuT+`KHC@t2 zsoO;0+UNq``V^|}DAInL4AR7!JklY&-Vc?_*K3okkn~@Isn;QN-~c^b_N)(5`*z}b z!~521OVl&aq?X2$KH~C~e9@X@UDkIjn{@lpHPaz-T3FKtnVH1p^{oro-YNBr{l;1Kp5E96agsLP;#F&j2f zD1VA+EE(W>;-HGozHJKi%TG~C&w9@yFs5kpPIFB9u;HhyN@8!&gDbg*^-L7yMq9Dv zEdu;_mo6cC+yvbkP}6Hw33Zw_Ix$ZqNV(r|GRAIF z%@3=txC7BsWw7&Vp7t?z#dkdJvagvP&tBm8pdKb3t`3hgIYVAaWp%~n$VFyW)_c>~ zaJLxdQE<0Yae%kXN)9c6OEcBEbn_~g*47#t+ItOy+>nr;gp3L^Rg6LPbxo{pJA>?y zk^<>VRG3JdYPxhLW;UMR&mMpMMuNJ6tw1LcTstek~p0PH5YDAxwD$+ z6UVq33OiYHW%8^|N~O21`65s1{?IND=5ZYPQ7Ei2B_K0OyvBHp#T^%?Jqm+HiZ@6G zg*>zArYH}=UcB6-+9!mSIaw9_Hx2Z(#)Mou^oi@{E(0E!1~KB9DFV6?o4qwTPqnzMGxeO3O2!p?h?C7~!{5wXbsX zq?|h$ezWYj`lsMktDf~wJ|$BbhwBxk%tqj&DR&O}n&*X_`jD?}!cl_(ZURJV9qz1i z0>J(J{uk+>=|FpL$8rO711Y7b-i1EM$Ij|NtzWGQhZ!&Bgy6tjLmWBZpA1SmZ;$gjqhbIrl(R+w*RmeyG{+LcW>h)rUzNx#nZ31R$*w_ z30lM=aydCOl-Vb{gw3)-h3lwEke3)=S%834uvodkzurH8Lo!%P_nb%_dQkWOZiut( z@YUz7rJ>ZH@jWM5PN_bZ3pG+G%w;fMw|3Xw?i)=($d8_k64x;CVDZK^nM`6@jg(#h z7LCE|z8~Qg;a7Wa0+CmO;uU5pM5Dd8Yab*&;E!Afq?_Pd#a_RVDdgnVv#i94H}$xK@OxBCi6*BJf?(PI6F z)iZLEjY1)Xuf*ztWym*Ou2rzjF&zoB1=sd~#J90qkWhQHF(Hz%Pl7}MZJC^9?ry>e0FzM*eapb{GJ+Aw~zlhbfcm1B% z`qJ4&XB{VZ0nt@eLru+HyIztDO;9E9K$lf$j8N{PsI3v=+zSRsw<|MT-xq@Lvt%|GD|$s zelD-ge)z4`zc2vqx3UEFzf_NV-!&{;%}&+)!(?8tA}Ft)F_HtGuijrKSiaWodGn4# zRF}cpl5&&ZhdF4e+R@&db|!6FwI=Kuap^twr>#;K?UtQ4Ha%PLMp}Y~ty&rT{FMh( z@NlReNHYPdAL{h(Q^}G3jhLOsQDfgLy>C};oBF(Z{3C7Gm9~{CF-j~ai&O1Ow=!rK z9?SM~$GP^gr?hL|7mLr+)2E$J373%j+Y}w;Q})9KV!0H9o}sXbygMkZ6uE{<;7^}y zg8l>0BG!b<{)3;qA2hx1?1Eiv(__glxy?OMqyV}IL$m4%IK7A_QbxE`!Na1Tq4@|p zDptapa~tVPs85etWGy%n9*=+RRn%b*@)NnrLJVuliASF61g1;Y+}w$T_@O)*ufM>F zbIc3|AJ9D274u9RbHdYEN}H68=0&C=FjW@T&>X;S@Oz89vY~D;gnVO&4J;HIMXnEN z0|1Yp`D&l<`(oma2RRZR&BVv9gxDiY4>0e&c^}A6wJG>n=T!s}ABOeg+$JX-i?tPs zN1S!KP)zI8!;`}9uq)wA!3#jJgg8e5YjGOpa*dMbad2ZGe9_aoW^`%8(~?hO7C ziWu1uy}LXJ2vE#{OFA@Np6-Z2bDOD(Hh@K| zER)o=cChuFE+-Um?{v>-&mp9wfrvUK z1X)T14i0AVMSd3X0r^?wIB~QoMb$pKy8KXUoR^#1dUfep!Thyf0_Jk$>?hfC=(^X# z8#761YzCxLS5vAr+L{`pc*$CK6ChC4|5R|KDUv~f+*=7jLvm`i0GXnhc5;M%6cu}1 z2_A~46o-#eOl8T}4F641e>cw8bn{Tr&JIdXKoShgGAX&4wJQZS-RzZu+H|O!K*8$? z-u)bAwOuH$SNz=$T-SuVaAi*lnbOO~Z}4rj&Y80CTQB*+iV5c!%C<&)Qe!vX}GUM?bbHo*0UVLD|{0EHrEli)1yFO>aOp;d^Lu$FM zY>Xya#io9x%$3KwFRyP2nR55&@#OV{t^vxnuMFt6alrJCar@1lvSlvtkhKm@> z0?Uet2-nQ)3VZ)7SqBIY&tPhBAo*e(De){4Q`rD=Bdv3gxkY-cf|D5&FQqUF*#O#X z^?9_7tWsuRUaOT$BEXXMm;E2Koflb_m{WE+y6pIsc$NkoEMbo_GeIm3?m5rbtb;r@0c={w1L;*{vzyaq(XD(#JY+#bfGBo6MMe zkGYn-NGE*EhF5eak%9G?(`c;8qh6xz9@!EJOWX>rj6azPngKt^SP1%CMqEi-R{C8@ z&BYCQe!X90#7$ihG&*I($(>#7sm4DSu@Eq{j=3_?+oheAu{C0p1WTEp%SzM{81i7B z;FDnv^;I1?V=+J@+#qnyz{w{BF*nRdist z_7~E@tfS2SB!jfdM7d~%NwBOqe=?e%-T_qt4jX}aH2R5#zsb2OGX}&=)6>^^&cJK# zDaC!nMakVFA~1DG=i4|Vy$Ub*vLpTycQ=ZXLyD)d9eb}z*Vt-G;y)FQ%ZuBKZdhTG z9t~>&B7*$BdO{rm@9-MaxxM->0{IkriSlJB83Ldiwu5=mtdG;=5a40B zvs?{JmzYc#Z~OXje8cP*A3txnXTpM{ocbG}b8F}18n}a6A(zudIZ?QcLqMFdVfSvcP+;{l2omAV>kSkS=;?mieF?_OMa{> zmkKhcz%~n4VM~P~^+~ zIQyxHflR*8&t)toV>1|ZVn5&QU@EWSKR=N!CTl{Iax(G3*toeHyE4B6y#EUh{Y>Dj z?o(v5TtV=fn1{5%xM48z(@OX&pGCq+d3OANY2@|)(8wP-A{iZusfs6Lu9dG zI4y~ScLnvXv^u6hPmPv?+Ks5CIo)=1 zn*i1Tm8X&rC)@#-2j|>|6T2YN+s4GU?fm1+#I`54?M!Ujwyl%*J5}G!x#{kz-BsOtU-Z-UthIkjbib?^hW2m8 z!BA-zz&Typaj6XYQda>mC|!38vD=5YHSO&kRySFyy?2=(0~B zX2-%Z3tb1I7+miRtIz>Pa{p*&I{!IsgPC*|&tY z7v2$UqX%F&xH#`aoB50I(a$Tv7tPxu4m3DVTfb>Bv{vpFtAtoRnjkP3$FV3TE%yTEtO>O@!O-tWS?L4(q*0IlvUCaAFiufP8@*|4JU|w>y;o zF>-=>g@Q}7A=1-16#Bk4EEZJ_tz4M_V7FQ>I(DXHl>FwhKo=#5>j->nI?p#j-HAG$ zU%-kB;}u1UqQ`b+l55#tbTr?0)W6_aE7J3m*pIT|=JYS2P`;A4HO4&8PWGY=u!(HIk#2vWDw2qz99~xp&g8-vUqcg|zgUm;M{!>CF2GmPpJ*GDvkmiil)V|5fjhL0*RjpH#QT^B$$kaf z`%ss+LHBWX57rcEEob|;<(#2@7ty)DvGGdX?FipeHu`Ok)WXtnw{7Jy;5H7L)y`Or zWj>gKB?QDqWtvB|soBiT#^Y!5kShgdWq&z$-wBr zP1kkE+nU){eFUg^jT(wBq7CNKsQTXU%&b0}Hl}P`-sh;EMGGVKCnW@m&mEn~Tj(m> zSxfrZx5J%&ToviS*9x@f1OR>9&1vJE(Vyh&U1^bS&Lph$=()wg&kR9*Er?tzBMIp%?ON5AXcjjHoz z&YMs{UYlK z8G45aF6;U-zOoR2I2LOYS}j!7E&Nw5NYuF+czzosWgS4i8K_`fUacj2zxTF2aH%x3 z&jP>n1i}mAGj_y#R{L^zP%ubK29zPY_2s-!=!U4y>dL>Sp63{1jai@hy20n=NUVrO z!-}7bfL+8`zkOlzP`f32&(P>8KaotM+KaBwjQuM!TjBlPS=c2{LXL5F96Y!9{Ydo7g13%b){qVEVhz8f-2x<}W@7J99(T-yajzp{|a@Mk_kS4yRk7Y5Ya= zFWW7+VF^@mG-+wE=b|uvR;SJzKZ-xu;RTVlwT{h`%|hS)h_O=AofFA8vC)Q1DG1`X zamPck;SavjKcL*R`}%HVmEOnP+(bs{loSv`c21?rE0+xDz6?ox6q>ZBg{B1R{e%=~ zHf@#+*p?uGai%aV`*`YE`3YRLQv7Uzs^dDEQXec`se$82@mq;$!bgnl#B;1cV!KET zoM(Cwy`PPxr6SSg2Ir#yIpLgCO$;KGMj+V;tXaQHWyZgL>mZky7)a(qx_Pwa~duq40{A;SZT_pdh zCCbeAk&_8BZ+#!3xpOxL#$i0Ccfy-E^K`3rswK|h`;pUfWe?}|OD`wgoHh}+P z4Xm$J+TVE)L{qFTOka#oT41Dp!l}Dvv~Hxq1scLB?h%mj#BO}n(OA|q0fbweeJiIN z=QRK*>aew-M$$i6da+(>5&D0RFB-B)a}OIBz_8kKJY`sC9Ig1-u>C$SSbwnmz2FkK z_sGmW5dV!hLi+Lr5e@q4;`~W0>p%NA75?a|suNOcl1>xApd8j1QZ`Vogt>7Bu>iZ| zqBp}=!q6ww-|s^U;CM%1AvFRQY(ec10F1O%gnINCeXhYSaQAR3zx2X z*PWkq8KOOJE2ft{60m)%{AiKoOQW2-5A_X7-&P3Bl`qPRknj1hhDE z5>xt&9y*Nf9-_stO~lXfbZZoi-{Z6rBog2FNGJpzBb9=xT#*;u#pyY_fa2p^k`pG3 zlMXgNp;!AJRyyI6_0hrPB*RcF{w^m59=YGu)8K(<& zjigqqkhS8#Tt(x)4$=reU?20618gOT_U9ewLSt5=k{@Sva*TBitLRV7i3l6`9rhNep-Plh|bq6d^Du zOp~fXE=tE8K%5KwNVy;6^hxterj7PMi}(=tVjOq_e%CwHLsF??o-{#T9RUAop5uJv zhLw~ETzmq>q5y=Fa~Gf=qfF_b3}Rh~iq$pO2Zg6%1tig_@{3+3eU1-PJnfYiX$=~t z9{ts`2swp@?XVu^ezkm(O2(aqR#i(Kc3J}53pA-dDD|s%x8y4SYA0%)Om+RD7pfHu0;w8GGi{!NwnWz%rKh?1xn-e?YgA zE^)q5zT<-KooyRYP|Oyx2`{5WOu(pGy$YA;FQp_*u584{BD``Mok;LMp0lty8tT|6 z{B5h`%e@b1@0=p*Cnuu(U%0wY!l0Zqr3ZyU>-gfXh4`Dozhczoer<(zvI4cbcu8_g z56;&+@2{iIObd8{14!CeRWF`wxS8BmPb+Pjp~2rMJ-@PSIg2)r%kQW2lb33B6qnkh3mk}g%0OJbK4g0?ul|tpjufodR zAS9tN2FIP9N|_K@MrDfmT7p+&^gHnPW%j_a9vhOAX{~6yC`uf?Mf|~v_(FTOtw1Z5 z%}8H-5f1^xf^h?oam0B^%YTy}i>0O_5q>_E6OK#RVgv=5Zw+?{4flFLYOD@=Mp;MJ z6in%sx3r9e00E%6TA8ff9d(?xS!9OzSK!WqJeNeU~sf1fNz3CHGdcwXT#>j z2VB{F1AOk-X|yJfge1{GP5Om^qQ^1?)?>BR`Rp9$3{jZ998OM^I1rO&6@8vxNj$cU z!A-@;q^uh0-mS1*#MfKOZ5A$t4p-J~G3<;>DZ=Fg03K8AUgYFrK>L8UFKXIef$)P8 zigGdqg*Sw>WO0~zXpxJG*r(ojh>Y;J`Rxrc*w^$xCa2y&Ys8^ZNSDgCVUIQv-h8jG zs+YGtC+nsR2LxI*Puh4x4+lmH2Rk5@a&`h8OCZt(E^l>ZWsmz-;p;p%3}G1;3>*Rp zUjkwZc*3A_$$QGZ;-|98&jSBs+Y}LWGtPtk)LmPM4e%$v^`D$!BtuN5Z|(2ATj6X- zcGUkZ%QltxjC$PXyC-jC_j{#JcM@8`5?92V?Hcn`xmman)36((@c6dv%D9U{cxA`} zF@Er(e^H`|Sg!cO3|nr=;KlOzCZOgSB<;f;u-_}u`$~%YknOe^FzQhT)%%Zy@XUU{ zvs~^N=&vDTZP~*s)=G$%X%oGH&}=wlXc|=shH?2R26MVeZE?43<{R^GYNFK|9A@x? zS^Fl1hNeYB)c|!m+k*aFY40HU921>hit6PeLCDa+Ip!zlkVDNnsj@o+bFrpWi`Anz zfJ(rtc3i?RWmJ-_>?uB@mxe#Sker*lq!;bbyO= z_g;(uD;U|G;3p0r_{4pneh5gs3dEdKX!gVy;wNm2V<@s`&U|nU0dYFt!Cf+#ZeB{g z-gcfn((xZ=ZBA;v5tR_`vV#5j!j8HMmm2*|V`j!T)Zb*S4+W@t!vk{$gor4g|G{sZ z|D!MYROdrkkJM`S**bnr{Cy{Szb#vX4&nEWwa zMJ1tU-;TBKB+0IU_2q-G%BO1S|0sKR}K0T1L3goBW&()>ILLkUNdxY zI0Po{prjL$Q18CY^{&eMGT;rzELY8k51?Bq{ktsE%=`8S6pBfItSDM@vV)k=!%I7b z4g6%-Iy7CoXvgV(^V{2t(K~)#yL|~zhN2W#bO<+eTO>jCbyNfY0d^Pgt2zrxWmo5> zP|sr7MVzq(lu_xV#9~)x9JLw~l{nAbRNENpvcpe;60E`lGN{LDoG6gDtlDdk1y@fB3%Y{ji1h zrsZgAtW{)gX$Vo4G3l$6zH4T@h7_ORfAiS!-Svq$3itrHU|8xq+^II) zZ3`3Z-lI}LzRLSQ@{a;6hr6*i$*-?A6>$IO+6aie{e$K~chYu}{4a);xDFkAa9$zW$9Cj<) za|5-c8{m!bpHK?29%Ab=(Ol;qU!&aB$2~`oi3a{((T5T(#||4G1+y(^Zo)P>xdxdz z_k?$ltDhHKy!{p__~w+W{!c8tgP*MT->AOktD^%SA0;2BuXr(RQ^-%oU$RuofMc&L z`G&{~27!!o>e7J=^e@6Z3u8|M(`mZpp%q!Xi<0b1Toesr*#g&``9d*#YANNTSTpMK zpvA)_6+Dgh(QuB!U1A3--0Ta_+^a+o{&Q{Iaj^6X^QyVysshG_5^Txw@e4Q@fAGN` z|LnSpSNNGb?=XfHT|YS^T~^C|Kp|^`w1c?~c1xZsLu$jt;vV<06vJBKuQ|sl$v7WG z1s3+0hH!K|W5L{AZ`=j2jyDiM^!yn{E8^Ex{x^tUyP5S6p7CKx-j}f+lf23ltaf_> z%*`SnqmhaBa0}e?(CG6_@pa5hwOMQb2=$X_OCJs`-v?DkGDX4@SJuy#q4>F@#1nc_ zA1B+V-8oC`8rv{-8+yUuVJm!-P+YAPHK^GrXl#qGsy}nX6vk7Ii?eUWf6;01eSYZ; zzFx40B^2`(MYNY|2-ulEIW(T#G|siLhWn6<+d#89lG+vR>uW#a*6vah29!yX7j(>J~MGI{|$Enscy47p*pg zzT4joTKR;P2CBpuN~Wj%0$-pL?83 z>BQO0(!5iUOJHWzZZA8m#@V3|ZJeER3m+(@+5{cOP3>St2LL7x?d1qfQaXGCm*&eu zBEns&b*`qU?e_;QGa8wU1S__+oNT(;vFlo^92@;>_c;1}X$S2>rm+U?iV#Z>H8wO# zPX$b!bcA86adoRyww%opmW#Ab=Q>48@srw#Q~!;r?c(7zEvP5AmlfHIr(LJGsQ$f7 zYD1qo%G5j30Az)kU0G{y=>5@2cAi9Oaoh8e+Tl_wYu_}K?>bFt8HWUzs066;G2#Cu zSu!|kL%&rY7Suoz1a_I^A^A<})0n1!p&?!4x%3mh@m8|(M#+>Yxq2QRT??VH^HyJz zTsEd52J=Syuswa{RyE*H|K&F^$2;+xDn!6`(^;EwAJD)qZh%}Vh1x_hS5x=>;V3>? zYM{?prP&gpwxAoM8t;J$qYYK;4y68%>l45H4Nu!EBSw8e1*1sC#0WjAU;o$$ozhO& z<0Keo!1yO+RuVwwHNKYGiW_#ytWRAs~)Kd5jb{anJQVT}6prN>c<0K`#88gIz28Go;GYSwmuc%hRMhkF*81`xq z>&lX_UsACSLqABV;^`9Y>;r0K6o4%sxo9)!1R%^q0#*WJaJf!Q@{fw1w1&6UpZg9L z(d|(3%`Q)fIF)TC3|T}{JTT2G{6(TbDC(rMLf4wj#6&PE$=Kz>LYWJ<>PUP_xPPVD z*ca!O*V7c01WJo^$Kd{nM|mX!tcI=<$g3@ZYz>o~B&g%VYwMh8xam8nzx>*btQ^9k z82}q+xp)Ec8wYlunX>hP(?gfddh1L;b_fi6@Xw_YZDxT2EZ*v4jaXut6i`{zWo;7{ zq(&Vo2^bo=%ikFdpc1MQ#=Ll5rOy(kv}3CbVPa*+CW-cXFvmSupptZMQvD6G(m%{w zAI%lvDQ|?>@lTZUqNSrhRT!+4x_B-Y8(aqYS(VT*aj6Z`L&M zY;0Jz>rkR0CY>Dlw*6S`W6?NKS{fbj$%NuI$OAdWgfP87SDW3uxY;@y z;wJl88d#A=22M$W3dp$=q@J%!Y+K$3E^}htr!NsoW^Fy%HW}WJo!ib@auBgcoy-Md zH=<`is=xhn{YD%aLjBY>h3eW$z+n5zCE<~2UY;h@PqUolO(CLXBub%Zv6_+q(r0P{ zESjVyts>$Q5fXjk>b+Dh;8&qSmE}F-DXWYc(cfQBsz)?R6#?rJ`rS7yf7NujTWij` z#<#*IBSelSe;RW-@;+LuMrH7i`BuXSq zrMr%h5c&b9XvJ|d48N7jVdhlUgmV79UvEPlHm`-%li=l~)(-%5KaMwh9G~W|r~0t;92!`8o4&zsseJ)qL&6^b2A@yRDSx{2 zt~B$IS{RmDed6Msf^sFt+3FpbGnit<0=u+Mtw5t9ZS=9Ac90@ra7`e6n1Lb=ILak+ z_!>^aROiR6yMo8gq>AIHiluuM`$@NZFKSK=hmKDbdwK2uu2YLF5%cIuZJ7Gk*~fy) zhbnVkhh18y0OLPEKEUT8VuqIOvBP?%26vIju~>uc*Oox~cN)KtLB8q(TDL5l@brw| z14wq?=buj>)Na{_3nPwiZr+S%OERbEkXCSt9jnrNH2GPOP4RCqeuu5RYvEJw3~%H2 z<|=#kM714#U0|_?e?kV(^j0CE#a2j0~O^sD> z+DLO1mSIzxEvxfh$`YEoZtEX7JpMqNxod;YK#?vWs@@>W=S27eQaJ;|^lGXsP2{M* zbS;Sd_As@ydjO4N(AyhEx()p4y`N~+$4^((e5{{d@LlQJ^Sb?ss_zHdD%TTohQEz) zx@2t--3eDFIuaeNDR;;}`0GG*`t#s-C~MaygbV|M<;vrBVyV%^bzf;CYtto7{*_>y z4(1`t?0b}IIPpVHna|bkvn|Wm*;0eQVaP<=tXU?W&H}1oFukDYc+Mq-)~AJ!Xi}%x0s0W$A4g)S92tvMhBBbcAU+G ztc6uDB(Ye+kk4BZ+Ti=*)g=f%4_XH)Uo?^y}G@Cvf`srVaGo zdroS#JESMKe|TangUyTHSnfDVqM?Cyf*+}0@7gQg=c+b^k*3Yqar`a+;=IO~ZHdVO zC8|A^TW8JF(cEr**k~$RPOiTTQfPT04Ya*@3eQphsrT(IzY}`KrnC`j=6hOA8xDZD zUz(~nAZt8l?5&c{rscZc2_u)mriO?}x|pw<;Q?AjS9OX=^uXItm)f*w18UM!e$S+A zf?@~5F)vHHMl$9h(kT8ACEQ3o#t?4_YQUakdCx#5-P7MF+8XM!JHn^)oNL~(vr6)v zAq&?-v`>(1L7TLtnImsZz%a-TtOh{5U3wb1&7!EQi0cU-@36R*m$xD_A&zb~;L8g^ zs*`WBeUMrJruT^)lhR%?p-q&g~cAEk-6~Zi^CrXPY$$#EJ+aR~~DcP8K zALGC}@}O;=#&l@TSR6hUbjn7uP+u-_G~ufE8RMfXF)XT>Cj6JF;wUe`w3*`k0 zm^*xh=v<`DN!OjqYj~n>N**xEYlI*8YA`RG>wg8j!cKhLTMf+%sZXuBlkzC)MOv$g z>Zx2ShyoJpv?HPk*DEcwgC-q`dDRXSP%cV~d)CU* z@}_4}PuxjZA|NJ?gaD>vzKLj`f(_ceXdPTeHL(#u<~$Cj8AZAl8Ar>(lX9#{exD(7 ztPuB-30C%@;nUD2o}TWtX6~Sf5w+;0C80$jdZW3z%>BdfqsbmX;VFNrRYMyO#wLc+ zM$zL_pBpOD?y|`=k@-!?G{p?|rmL}#g8}aBLsm#YP4D*=PXKeyD=j1m#}hX9xCgPu z!b7U4xEMug+c-Df-W)Rir5*@aCo|v1OxJL<-S*8I*Kny-c@K_Zr^C@m`n|BGO|WMy zGJY$B0FewFGB(~Z!5=s1&OPP>H(e#^gE$Tg+T9{i*DZWb-?3tM;9u?k+u%y<9)JU8 zY8W4Y2L2C@{lkL#5pAo4l=3z);QX*7^lLSW#8e8yx@;ZsDBa>S8SN4U;Aqzhq&k{# zYkPVIM3pfkV(ez6&(Oo@@e}rl1#>z+sAY_CPNz*=NS%R~1qH-%NpNHX^$y|L&fnSc zMQZCSBz`Pix!vV_=6s5#V2Ls*h5h(>tMzP?0Qm7?YF&2vT^LZUghiaG3Wz~@(c1vg zwcYCitq0`QmFwe{c6RX(yB1>X5*aK8SVBWdX}FX)^9QG2Jb9uHaJ$a#wE4k-2~VG z5LV+mc&x4L28P28ohyyI8iALBaJ*YZm!1RC&>6I2nSAOrZBlHi$>i|G>?g-~F@F6; z=eEjL#^6y}IqmNzZMGNFGnc6K`+93J23CL+D?8pffbkP_YIVaW8vpC#M~z3%{K@6^ zQ14G;s(^IkwMXb`;F(_z;h^E<0X-U^kGUV?@t4eq+_<2OxP7-1FHb9?cw=-3NH`m~ zI3Fi&w354*Een^ooRd1^vl#e|T9>AdYDA^n=*_#O$PO^pAkkA~C%9ie>u~y}y!=kD zNA2L^FS|Tlx#e)0p%HNeVJpfVMBd5$pR0>M7%&G_M+oS#dZXiu zWkdDKI-tV=^yb{2p8&ThN|+LMv(8aM9uRO-NIDAs+s?enjt>r>eer8#WhjiXDdVLH zMUv*qjZ!V^N^|lgr?#B>p0E+pLeI_Y?YtDs`v?htbCTYn63#xH$~3D@}OivCGrf;dfF|6`sW(5<`p~d~*^G zq0Q|OQl+wP^!weq0xmN)u-0+fDC&kNXW$x%lPh@AW+&Xxo9$vi+?YwSkp)_xM_&BM z;tM2x>E$u-5DGcheGQPmuoibTHeF(2N(sm7*wLmUD=R0FBT~^kuW(X_;*tDEMjxLa zh3T32#us?G$~ac_V0&1UZFseznLetg89t_4*OvCt>kNtr=q;g5V73?ss8cY$1L!qT z!5LcFdRL(}@|;@kYkWY;atYB;ktnvN;Pz`QQjtp07{MzjRTjX>U!6j)J&eqiZ!0Pn z*|0#-n+ERZ5x`<*TZf%b|BRoP0@Y)*AUhLDj5DSmM_!YHz%VrXd}uu1es&xKr7tpg&rs*69<*qZt%O`hky7f8!(_ z1w44(B0`Sxyt0m5xZp=TOfxq?kR0OI14n>Lt~~lvYO)CQ=?6YN8i%UT_^+`@b>#o+Oi?hJC}XeU=J?Z9@@i^ zQCk~)tm!^Tl%^wKxf?cV|;vldcWy7FRFWL*(OvOgy zx(Zn){s{mhdEdj0mSoUq5iXCuc#xK}=4CIVrHJt6$_4N%cB*ZoGbG1-XB_Zm>lyk(gkxbW3vc=8HF3s3Xnp%{4_>cy%*))dQiCdRKV083cmyZ#%v5 z8F&74_Y_~JR?UVA;=%X?I~r|lhr#L6UcUj}$_Ki+1DLJ5rZzAN6p;FyCUXiAvP{5R ziee_5q?q1pXUMXb$m~_kJs1!w>J$FV*m;6iV4?RE+r;Zpg<%q~d0?H4S8lK%P^TH5?M-P% zvwIryaQX3eU@c$uccuo7CggWYIdy;>$)2~}zoN^R0PR1BD>ZEzdjkV&1>8Z+2}0}M ze_|CayTnAU%@<@%%a_y`wW_sIQYNIQx^J}qpq=qpldBZlR3%H1*EDGCnE|MqP#8!z4K~t)-t&5H>2vb( z%jBr`?N_K7O_Uc2$GAzg<52)+=nk-O7i{SFEE7as+bK=ORZW;g%qpQ--!7{TnOF3p zO96%TfGCBv7U1;D7;I)m6XMc47bvjs!~3}>(w7g&I*2BrRAE?P)I|G97*G~=_6DCx z7+}D;16~WVfzUPw1m1wS4%-dqV$+=G;4|n=DolccJ6hH?S@zz@s}h@IRIkE*qtN#! zg2DTa^YtMAXqaD|L->L7e>$Fn`LjS$t4Pr+pBtvG%gfjD`<>_?no&DVKj6uu48woi zRUO)7a8UQ@4n?$MY$@b&G}IJ)1coargMbi|*QDN-d~DwVp$PGcUA@g-FgN(Cu-}#8 zJ@hr>2K1RX&+pSkxI}cI6v~S;*C6os%CeHnkF70-nV#AVri(e+&~xc)^HBjZaF@fw z4=fm1i)To}f}Jj^mZcW(Ee|+Lzan~${S+UBSfzPo|NO*tjjC7^_>GE+rZsgJEdy#p z6g3;4`Da1#Ik=-@e}-38Kw`TO@`)$3x94nrzvjtUg_cq{lEZOQG;Rynr?Z<6B(^{A zo3s-+U;(4X1i%N=-lzlX6UmXrN0|($L2nqXv5@3!!2l%XByGJWWnosJM<>YVp=<)x zY?_#&t!tL%KQE#8O?aZVO`F)~0ZV&o-Yxz3%$w#Nww${Xb6UB7-;c0{hF!6GX5T>O zmz<^6_y+zPe$VIo81C5K`a(?>{2s=K3tP@~HrMbEV!c-v=?x) zh-F3Gg10T+&Azt4I#=j%D1DFa_u|Ybb?-q=^UzCL@sBDi;*N!A4f6(o2>sX(66AU!mxO#ToR7^j6@M$-Jy!2OW>Hp>7ujs+ixOsi*?z^`M{t{*m zHdx8q&$&R#fK$QM9&$atJw7lG_M~f zFyW*@J@Gior4a(Fd}+ur(et&h;4YAsLWzfdpqgDJRr_4yiPY`jh!d5#mw3CDN)?)U zi^m!@5+#)2p($QYz-wJWdcL3SM1%K=!jqZlER?}8>1ZXjH-&(7JJT_|ePII3!Nogn z$b%ySe4DM@d)zp0L|sSYP1BmR{zqsjLHa9DH<-*f6akAtxS{lvKX%+=BDZ20WbA|RVT)yV@BMwJKv2ebx3~>O#Z6Us0kb==7fbl7EcyQNU zlDc1@Zs*oH8dQLnio2!S%^c2z)}sISZiEp{f^M@*sf6w7yvk7s#rRyd$X`mY-=E*j(TfVXx5SpVO;`KsLo+(Z4RN>;BN$zSvHVOcv`0@lA1kwH9XK=P~ z#OzgMmqSpL1z>;Vm{OpD#WX{r;6q6@)J5W@WZ~3+eLbskEyfpt>O}?ws1Vz7Qt1cP zq*eexi?nB7>0=?>P}@>6uK<`s4tvpbZO#tLMM?Z zvO&$1eYHN27anH5{H%zZY+i#M;9=OXJdJ>#vBFtIMbzcSniLLoRB{T?Nqzm|8bRn- z3f0BQqe1e<@u%%X?%~CfFQ@6FY2oF5fS`Z@27!=i7o`=0W;&ukW*Zr?4AC5Cx%jw* zkHT4X4rs6(0R~A9Vs|WSOajFNFP9az(p~;j>dnBSh;=h!kK*|{ry|h54s*o>^b;R!iBz@A>PG+5-q&GV~WH|6Pp@bBsKn2NCAm1CzK%2BlNu zAhRg^&g4-XHJLz6e;|e57P3lQGDe9b~B8Zq>c7SP(KSf@eW#~q?@UV)i>C> zyyXBJd!X;=9d4p!2~Kq^J6-{bUZ1I)mFIj`x>9t#bfX0uX6Jlq92wQ!M$Q+Gfnal) zs?*S(Y11kp-L-XNV|N_N;~HRU{{s5lH|X;bgk-_{qT` zbAp@v&I51V)Ac5^BCs@$CWoD_Z;vh)$5b{vROn=xasFx#g`5bC=wV0<(qH$NMMRWumg3@^#t@ zm?_4IDJ)m)pTl=X8ci>NE{huHdF?P*G$!0&D%TskTCe<`I`5o<+NlS_CL!ghgka?R zrZBtlpX(QX!z_~Cg z%1uR|i)6{@DEb}WF#BJp7gr!DKf}^)$R@|qu9`!Ln?^o-7o6S1C5(0FELY#KFB%6_ zK_nO6CK1BD>Jmr)?^7lLNGGz!cQ4YI5RvxZ0~xvmM^ZNQ^ftRqO z2F+i^)L}Owh!3DKg z49L?Ghy(PJ(mo-MI^C^CP=9xKD>_4%gFA-KX9&<*{X*1P^QnFjAiMrB3stjnv7#?) za23`ZNBR;tqWFJzxd2v*IunqYxZoRivTp~Wgg*PxXO#-)1k zYv1Dx68has6gB`r6$=IPk!6)a$NUGin7}21dp36y7V%@kB7Ksre;r>nAl%wH_}uoI z!O^--@awn-1a5@(#MW}f^^jB6INdex@M0Z!#WPar{>=nd`okoPJBlDGpu`MS88V;* zmxYc37HaEsbPt?1e4~L&PHB_ce>Zs=RDDF9I^`>@c^?I^vFOgjm*hBxZAWgqdIP`o zEaWzrnT$ibf`|yr2u8kgMgv73Ho9D@V(yIXp~#&6`uISUue=<--k?e4rAs6s$Ce$+ zy_k5hb55uvZbHCdtEkQ=_6|gt1?CZ1w?xdY&i8YTlDP5kZqK2z_qqb|ih5c~Tpso0 zT*daF66ps-ASF;Hqmbo|LBY>}@rQh`6PZ}5&ug4PvEeSU+}|8gbUs&DwvdHH9Q;a0 z$F^u-jVLPb?wlw=eFxG3{D8>X| z5T17snKxJsO=)_0FwRko5d_LLMaZ+luQ;95GfYx-geM_niz##^67HW&!ncH zWO9JY<7keS%AY+Q0neoGjj-+5_zD3II~aqGA9*_S5qE6zeTrB(1!400?g)^ijRJO< z(Um^>+K_4Rgu$!Px8X{eQKv@x$FNsWTxIo1N;IawUTA$PqhVxYgs5KfmJyQ6=Gf+q zxMjUQ{;evA4wt&sG~kHrX=1Ufe+HGfg|h&(BS=>3HR_=&`hc}Vw!1rLnaOJ&O2mo@ippz?XLhLod5`Yd23NQEG4bmu zhEVNU%&B?=aZ7U>u}~EmjFv8jk*>LT9R$fh@I@0lL+%KxI^5xy<~-SsPDTQzj1T~^ z;X~u%gljcgVTb72j?4HOK_gz(FRr4>VOhy{V}9^Pi%9os z%&27x-4QgJGTF5JX@m23^cn{6`U(DAa?`uxa-8zwG)dhrMqE|YGkEq8a#U#;uz|(;{E}C(NXSSvRe!~^Tgqfwo^Ao3-~k{6o7W5Nk!?h?R?h99QwwX_vJ>9=f`QA&EH9UZE$ zrU+wHmY)+D@6t(c|-jRk_es_T78{M(LP7czLT!K##TTKAmIv~=FdLD_A z+u(;~Iai%6R?4X>-T@gpv))9&A&hY>Ig8#z(Cq`)9`fv>J9=9X6rzM`=n|d$HP$j5 zf0%?IO-L}uf6?PpahD)mBQ7#^49)r)|3 z&fSl|!E_JTM2MqxMWnMa9SK%M_wZxwrc>leu3*@tjRTky)?fg@@>hs@K%fSPM%kc> zZj`+GauBD8Yo9zifwD-6$PrSIYF~7n5V*`l1R>k|xWb7l)qS#Z9Eh_7qRz+}t_-$u zNj28XwID@beRNR;$^8wQM1RRsF@U*2PB00GHGAkiS_1|36U&fjV2Cp&)c*$lXTDqa zzoq+Y4;qY_n~kdhcK@e#{}A5SIgluSbgo_|*Fl1aZn$@;7PVbYYC}fcwUtrbLidl^ zs>y-c0{VzzoetplXAd%Q>B7R5l#4Z55BL0PDQB*)O)WTdohZgw_~$A zfxa@7=8D!pa~DNuj39J9bQG))&!h5&q}!-cFbMT1C1h5tx*&7F${$~$U6{rtM{o%V z)1qCw)i~tkI6Gg60j$^H+9l!zsNP)s|;k-MEh7MLZWqUzb`PvCWmSy$=GIk`8DE`56%USv-C*lU9QQ z#+?o^i)TRMYUaUgr8tUJirDW+sTeo;B`kR1IeynLi4!m~C07Iwi7PPpF1F+Ljn=Ee z8&laJOsSaU(F2B4%)(x3MFLCUbX96P_mn|u#CzI?Tm2(u#YkVIX~KE4E!MyGjR|Ty z8t+qm-IPoHun%bbB5>NpZPBSGuP#h4qXKDOtjhq5#zmt4Y3r*4qHMaiSvmv}0ST23 z0bzStq>%=ZkPxK1k;X5Xo=xd7t>f$3M(m_nErp%$c(@ zbKj#3{Bn2N%D>xcao#sv)pfmdH2J?Zb*{#W@SuK3Sy3eTkzrvQ2u8Mrp_3sbQi zZ`gZarbZBJ4S~xZa!2E>mNKp;VxGmizE5p`lkqB$Msv#7(qu__pdhzHaY!aj^Q>%O z-tZ|*rEC>;ze9M}l$y1=Ixy|9CD9FK8E0%6xAfpNbfYY;2~w=ZHrn&yw0it#Ip?-% z>J%v0E_ATo%e)mHY4&39gxZu_*pGS@QSx)dQ))2a41*@6iG~XG{5eZJK*w)@_u5bL?TTkF8&_L>t3rjMtYY z$@>tKU^k8Ga9NFag-!2;-rF>dO3vhR^Q!PFFN{aC;+#4N-D14CAl?zq5+4D-#cY2lA%46STPGVM zze{D!x5-^qd}2Y($Z4JsQ^I03jwDI`IHj~nKTSvpk4u=T?^P-%A2covon3{gme#5?yY$3d?D}f^IBSv5r<3`L#T_~y}VO=uq$grEhC`CEYoc{OZ5(VsC8kJdN!Dj z(}@OerL|e^Q|hksNo(6B>a9e%&Ij@_p;1~|=`&MR@e?6|FSC?Bufq7U#|#YQzp=A8 zWob!rK04sss2rf|mZ8lKDuHk09BmqTCnxS;uKxBuj07}mN{QiJal#!5` zX-+4-5r?&1Maa8JKNT@ zTz8-5X2&?a57}CHV?XZpuqNBTE0?M<7(0O15H&iV_-BKcnkW_T^{&|nA00sp zoeAw~J9tQ{?_l$AnudP=>0sQ!J@_vE@Kj(RnUx6jb@fS!3SBY3GJU0?1tSypf;999rtr~F^dZv;w zzvo+NsxQN+=~qQ&WX72x{3+D;?T^+%^3?W)A2FG&*w5o)*5sggjK_RM%jUWLm1!jb zrH>tGYL5jflrD^(>T#nuAbh(cMnWU(p`n&|oA9;83Z>O(spKGIvwBfLDAg3s3e>P^ z`NL>ONFGfcJHL(RMpf=8FJH`o7V^XfS;i2igO@+a?8#Pa9+hU*luOO!=utd{uX+~W z9TLK|kUp06^9^;Ie^bI5sTXS1d07K>O5kyhr(hhk`RDveoCFbogc$Vqn^hnr5K^kT zh2D?(b2ocMnT;~D3IzwpWMwW61?%^d;Ndt`hT05~>f-8wCb4JO_&9&v%|5rR?_OH_ zeZrEGoCVVHefN_P9bM|S%TI<@*NB|dz~un7yM?HRZb3tF?rJZUIpI$=Y*q8`M#G*n zs@QJkSZFLoKT|gz$j*qjZS+;@PWM$r{SI$>)|pH6G(vxnqbi%|RW`>9UG1H=n&YGm zsC&^!)m&H+L|McfM~>2!Nr#tulCykcX6#_ru;|pdI^4DPhf?^HAyvxggocUZ29E?n ztzlcKz?<83i-c>cGn^vLm|~x{>xgQ$3J+YXil@E0lNQi?PxnES!z&KvNW1*#SWM^WitszT z=Tiue3FRpz);d5-QoevNXCP#8?W80R{XqbW%!1wGqu^?UM|HuWSj9p2=Q*2m_L8v+ zD!dO4^<5+f!{>Ml+@}rx?IIqL$*4y5lDLZ5LEhH*(eT|ZLPeZAg}zPiS5=B}sbQ;~A zNp*~7UgcCn%%iALFYBellEoRoxNjEj=X}jp%3)Xv9CEQvUN{ssG1{lIeSu<0Xm>i! ztu>>rdz<^kPQ3KTqcg)}aBZNMu;eOfa+D2c;-+qyA&h=;6lu9aFSj#0$ z=~;O`f8}~BKivET{OHBQpNu9GttE_HCiz-3ef}C9b9p(|C)S)6Q?RU7{g>Tid8*$B z7I@33X!{j`G~Ts=?HHTR7@PM|lj4nlY-|DX+r$S9{NHUa)VptoI}aFQ(X-{(hUAS5 z1q^h-+A11&c(8xpuwbo=C-@C&I#&1d^6eX7dYr!a#nWB1zThQ8)-Fl!pPLBF!YMnEn3;P7OpMghN+B3rj?v(SqL7vjCg_PZo0(az385rO*S&-EZ zR5}So`@9p@>6=H!ywSe{XjLBNNR0m;m+&tmP-XT+=xG#?T3 z%&W^-Jg6#f0#+%)oiGwpn-8+?C9SnSE@DE2oJnY|XYv=HP6}j|=T}r0%JXblD@$e; z_7E9IGu>Kc+ZT{qQRU$blp5QT9ZoHrMXN;Q-+2HIgNba(;4YNS~cfmDNW9LJ1zB!;l+MU%B()%grB%}Hp`imYm`f*0O zG_vZMj%ghQF~}zy3L36k%UbRho9(taz0xho%dL|oWq8jXedXH6?1vI{q)?i>ali3h zqKNUp;7VO{(e0S*W=7;=e~N^;r?ob0+fV% zmUr;@*GA~?_w@#A)ItL=n5ea0!dRGlZEsd9sdINpE$v!~*N-sXEew?Gm%TO+}RI^oF(sKIFlmD>LD(F#xquyv+Re3A_;HTdV4mKMPZ|`}0 zec{>p0@t`BNXtVf`L+(eT;4lr>bA5uOq)N1&jH7Z3Caq21-9Cs-Y2G;;gQy6?$-HN z42|L}H@OlhNVaF?;G^OoLnJ>Md+BbG>6G= zBv>;<=JU*uDKg>|^-QrL zKFh{u%`?RMgUtYHhP7fl=*Gi(6;ZP91`daT1bn*F7_47+5JTpz+j0-t>_Z;6ZhKV! zCM`tFy>0%D+^eU$AA(w^8dqBG-jvk0s~ZwER?Xk=5Gc^$mdpBe-9`F=-V+1@W z`%M$$ppGfk{gN2_Dcu0?^Qf<$OTYX+tT%t5^YgZlUo7%_O0#P~?m_S{Zpl+p;C69{ z_D&?x%Z7Ek;k))ym=kYA~ zc^7Ag{a}jof~V#_kJq$%Ny{wBTgk}TAY6#hZop=Di8r?OWHoJkbMcC`=o?Nx=eK4` zbkAo87k5Y|rJ;xcW+@7>Wm2zmJg2DT?|&@>XdV(^gF#?qlwwz`cEGiQLoJ8Mh6N0c=U-xkQ2`n_JU;L;X}z}n2+LO;Dnr-LdRi&zbHl5pA+ zo9xvojfs`ys;0Hgt0;Pm^y?Tf&K$&m5idFV&u+*;*Zzj}S z)TO&mbm}yw3nU$+A{>M^ZBbag!U(^JuGGOBWsv($0T+%WW4~(`wib&J7hhXeoz8nY z?u;%{X|uke*c)5!JTUY9YLxPfZu+58a5PpNIIluLm z=}o^3ft;_~OPz#H%@{A-N{kEGK+%UBdXWjBjt8egFj}n^)w1J{qz-OOLwoP^{QX9r zPelLZ>qVVL3|5ZLQK|RkpW|*mUELRpk=vuzxY;#y&nPqU=X9jfhq-xeldO<8-GqfD z6;B_3;d{eKVnK(wB57Mcx*^{Ughed%@LE=e7PT?IiDX~lt#3&|i6Vq)odYS9!GIT$Fl#RnAg2Q#{~oSz|`U>4}U4$*(_EOCa(s78z%<92SD? zni{Cg-P;e=HIWPPkysxf;Xk|gP9^Ti$>C1MWKhpKaP|1fOZ`aWl?wNSX?oT(b$&=r zPaAJUy9V}jLPOJ0h%^tMQPEd<@`{vLO#YQa=s4|+ATtj|l*ml7FI5fr360p?(2;SO zRi_Xttg>yOQ99x)gIj(90@p$SdOyoq(EP&=?f_pimnQ`sTxp%3oO6#ae{!5n!HA3o zpTKTfZ6fH?*Zc>p3df(@#!m*KEj~QH17*ufoWkG@7VVA|nj>rdX~u?V%?!7weMKy{ zIXau@o+%V&4Pfq*9VuyNiEhiLF+YVv!WZDE=&1(&{PF-@nA+_@OvPok{h3PIfWX8tvRMU@;+;^=oDrl8tX&A?SZ=qhGhlm}fc za2j3X5axXFI)2TmAcu|EOVBJSH^QuZ892oFCC25WUobB6MjLOzD$PvEQ->mIn++sj z4*f}P%XEy~V_Q(SAg09;^?a4=31!40%Ig*#6IpQI@f_20sTpy_;N+qu8im!OErufp z4c1PZ55c8VJog9*z2a+S)in)v6#X7_w8M-A5QF2M5ohIMBV1iAY{n*0Sv>JnDYB*C znQo@9jJ8q+akMkykUH>_&X&{|szmJ9xQ0)to5#&PDm!j%5tSQOpz+^EJe-QKL%ps) z<-wQvQjpv0rp1jPlw8@mRHKv9d_QjN@iJ*Q{xUk_N)#<8F_o%<$%j-As7+{U6P^Z04cxY2=s*CriCioQu}un_M6g=sUc0Ec~eouu(GJzG$O?` zFGWkAF$k*RKKC#9m1v)M^IMr1Y1aF5xAIK*v$>|Bn<6e0<&DnXKHNw=?O@a)1q^5A ziSGXJA?@lhFou+v35U`QSyHK*mwbN%pE0i+IWGP3n9?((L3obJ6P5DASH{Y@*#61e z4&Y4jXH6}iE|PmId2o|%PV;TYKFROT}I2yV4Y zS!=z^PSAS9_`EJ&)>u+PgSiWBj1L-Lzxd*M zw&FZ-a%06eL2?TVy55h|92~Qy`1TbEOz4dJnYNPnV_Z3LX~Jda0ezHsjxEbi4Zyar zEW!4`C+4~l+f5qgZ<%J<4f7F&CsP~zCo`{eF3wM3kbA*R&eRmVHmmE2xL*G0_5Fo& zQyU@uv33!a8nW6B>Y9_EO3ysqV(@(}?A57tNk)Gw&CFMg>JZRiB6;Iv7L+JCc(;UpSv#R0@6D7;EJCI8rie$Y#8Ff$^L0+zV@2*emr#L;D0z#oQ@9Q-;G`jgGaf zZIf+cVAF~KJdX%b z3oqFl|GMQW;<{3uIkOkp)n_m3?2&#p{q^C>_RmTO6Q!yChck!fqxZb6Ox>biIk}JH zj(soN4Ys+n({KcF7d-p^tMP5mxYKS{5_=xOhgXY_V;O-x1HSb@4{VH>z=yh%3t?(4Ld;S}Q}m}_?LQOtS}`^+LwuVY>gC)E~g zi<;_JCTN>1YZr$j-6-^l9$$acfSOviFweGkOr^b%>i(nw$ssQa%USz}wPrP(DMM}Y z0iR}XsR?#Z;rHlW?-k_%7fc$u_~L{n^+P>vlN~QQc7a?2m)?CBxo#h`90^{L3%hTs zfd>LZ7IZ21)1(tCFu8<1FNWUf_`IvwkW90)`u(78+uz=2EAt0qbEodE&5y`7g??_X zJ>ptf1Vx}R4fp&7N-k-D#?4&I3b)|b3tB8UfPjf{_5wkMc<&hqde^ULHG$uT?4ifE zyYWr$>iQ^)0xU>410%mGzsNiMnhk@j{cug7DH@mhY?vv7A(wgA#*Mu@lRQFr*Q6u9 z?9r)+UcY~rv?6ep=?t%UI0BSkF|M~X@7K=0PpHT~!IW)Rh~h{=9+Nyyv98hmg&$Lg zX{Zu&OE@iAk3{Spaz&e_avZ^07%adQH~f-1R)kw4p*Hy*?=j8K?)z?nH?nn=nmyi} z`K%ZJUY2f;4+&gqqN0zFd>0uhnR(-_pM(|J_`?W2jpHD4JqSf0t8Z@h*VIr;j=?Bz ztHYrv*zPUnvQrfPlUxR=C=WMQn4&9jLv|qCQIOZ7dPn5_jixC*FVEawj0t5LlOKzN znVooUil;B1jawUJnydJoeYzh+>ZJs4$tx2oS3VQ{&@N3F{yZ;`gRxVqc4WlBfdHHv zldY{8*DetVpKGvQnSz&@6?~c8>d2b8k?AyRlv@kpdP#t?n^EzlJ9g^b7y!**(1 zNqSSW?GzV9orX5v{LW9Xe3(UE&0Z_LNd0=iH? z$Exelh0Oh7Sgyy^Z1m0laJuL7-L@WvfTF^bCPFLGliMykX-l@8d|q?Z93V}PNR}939HMg0=20~=+*_fXQrQXT0dtb=bL9?85i#r z23J-Y>QDjqnI&S#kerWej4VeU3v2(#OEi@nOR=}s)d(@$#N8p;*hq52@0~h`dSkuD zR#P@!7bWgef{wJ!9SoWIf`yzFHlWEBQY0xKeO!6QMRQ5;q}{kFssPy++qp zs-Kgt(FD(r%up4snq_oBS}>)}fHo4{I!Bw#l1DM^i?m-(=zxNz>M955AXO&??7idf z>9xxjzpl1@!!ak?e|Y-hM-}Iw{r;ED6nO(pRFViztl_5YeU&Gp)nDL+KnFE$s)-jl zM)9eXEF(#@6l2`3P49j^g9jA&h>|rHe)<4@EEnlC)IYxs7|TaI+&5EuuKZ`tJ7!Zt>06|w>m6FouO~iqCg7!n zS)rD?96vFzGM10ii>W-C)C>74clrrHEnC^CF!R2X6kfzlU4@}A-O){|{c)GbZl`zi zJ5!5uNl4h2iA|e}b^-ptzJn5MGFGPt)0M#Ypo(@qlg>vLn+y#W+`V72D8I}1I(V5( zJAhTaY%NT<;t3LOYJ~$hWBnQJ8qD5$FbAM+Q%h7dw7u#betr^z6U5ejhs-{2X?NmX5e zDA2ohAX!qa1V_5b%>@%4M9xloQ;Gmg~?nwS_eo+~r9&MmqiHe{qX)Ab986-1@6B;X|hk&pyP~E>)1-#_>}7n4f9}wMl_7qPF>WV4MBT;;(oJ1WL_@ zwMF@+rdU%sU(BbeR3>ezuLVN!Vz+AM#DB^&e0j_J<>#h7wU`aD6&x$5MlAL~p&>v1 zYhvf9K68Vga{#ldrKEGfTJq?4$s$8o@zi6pZgJW!_3m4Tz78a6pFlM z%++1_kE)72-m;h8?YuJ7iVGh1T^fBDm97i|ER$duXkjAz8I`W9T#qT7vqV_ zW9pQqbshIm0kumnkUWmq1b}}N428k|^#EZ}dRw>SsMi6+QA9-oEFj4B1L5d}>Gw0hT^1Zw*PAX03dA{?Q3Er>CsoMQ_ zH$|{I@VU*BaaSAX64JBr#AgKAH#ZN8)n&zAA{T9qk4_Z%P*Qu+u?s8J^$`*+2dP3I z>AqSjN#*8Rr%`Qdq)2z>i z3u$mF9evVurfcY2-dmgt*2|z6U|T2aVL4V!Qad zoC+u`95)Tek}bBoowL7`cHQlnkgV`hp{UZ%OLZXh5SVyOn{3xQ|0ErrE;j*WGdjR% zy=}YcIZ-Yto`!mCoF>t9&&40pos-MZKOD(1GF+uPNoC#tYMRHRI_FUAc)_Of!t25_ z_WX!$y)1kEg_{KAg6DO|&KUt8-fq(VaxK?cx}~$A!rnVIfv$>?PxBS#O^_m=hgIbf zF%}GUZkkU=I9aC-D$;U!)JF>|aSkvXmSM#>A-Iz^X;UcT;GZ<(m{geBYmN^-cje8m z^qRBPx}o2#nC&b~A)3i`emNAEc<`jq@8e8kRML~deCL-;9ER?gg=yx^_Jh{n2({k6 zoh&_Xc(wj>Z2$9yPUC62Qpx7e7mo&G1&w}6Tf5YpCYZ+xW%Nh#MD8teRm*TknSuS* z*>>t>o;1kBp@cGd;sl=mERN-`6zQs3TXl`PWf2pa%vL1gMKH&CgZ7dN!2 z37NO>`tc41O9^IF?F=4=qVa9OTIsZ~shD?I%y@$7N3H!tV{?0OK>9%oBl}nmsr!sM zMM96;raQr*r#PiH%b2d_6Q>3#O51vw*#>#_pKA>9uBb|EcP4;EjRjw zkFyE+guV#1kJ^1O3YU58UZy+%!mE#SaK7=~Jk%#pmEkw9HF+@!wfF0G_J!jp`k*GV zI)*)+)HK!5B%hbup_kvY{bS!bi7S@gIZS-OLY`b>Odp-3l_Eb!7}64NcLNxQBsgc2pYoNw)z#!Ot*&{Z!$_a~ z8;^@=EA=ogx}7nwn=gHAo10T6v;0v%lcT*5t_^#AvL19XaXQQU(R-Ff5h#t^A_FH( zNz8}`^=Nr0^vtTFty*h<5?;zs^#N7$8-o#~WkUki!{@n$f6t1L_}y%QB(AIIy1qS+ z&YjI0E>Qum_w628pWB$Cj`@C*shLUM^vQ-YLIe_1SW!}5H&caJQdv{Cz7Sz2NhSO! z4v_jjuNOAU_%WY>r!Hxqqmd5}(R_APH5*2UiOMR>kxHsjug>Cj5go|jXxNyPd>R+- zNC$Hypw8%1aORy>?c01UE2YV0_icgU)}6u%7H%D14R;I zcgm;gH(%Q4IkaYOs(m}=E+muU5ra_3WqgOk6vj&FH~(&u!zo?F(&vb0t#4YlkM(gS zh4J-w*U9?LR;Y1}bdwqA1 zrcnn+B^GqezM`X^!(8l!;d~b}-)uFJl?Esg1}kDphcBa!+akPdPCWFyA00~UpO4MP zF})iH7Y{-)>0YDjOsFgseXbZn&SQ9oY)d$!Jb(@8H*RZ$V!rHlF%DJYSUZP6& zK$m2n_TAfiwQ-ys<|>MtpuGAmk9TYd^s5VVBAY2CJZl_pMt9*83I9SnOD&g8Ep}z| zE!k=O-L-pSwk=5fK9ik#`ee0;Km?&#EY-$_1oeKkLu8d>+}?&O;Ny3=XQN^B6cdK3 zWI5Ex35z$8OkD}eU5TT&vKC*fMU0oYzlmJz{2dBR$|Epgz4?o_<7{}~BP7?JPYm)A z`@BXbplaG=k#z59FXX*_3E8gjz-r;Tmm*&~LC<%Wa7kbPwPVRM`V$I|4b+dJccE}K z2MOCCtqX>x1R9*>hr^~zG_Zv^Uby0Wp4!7(*&xFe$q*VbTxu{DUk}yS+i$6fW;gdp zfd&kZki$1MdHgMZQuS>!ko10YyYai-F#XZTi4!q<^qBOn_D(qt>0EXrIcPA{JB>PK zn2qB?-{-zb6heVhi-M}+!%>7ZMEkTshPIgjj}1)EJwJe6?5BMao0YSlSEKY(@A19p z7kM~0TEZPub=dH(po7bzIGyrroD}ON!Gxot;H=lc(ZEDayWf4m;roL7OT?D-xO4%Q zXW6@YU+4|yTfgTGK!v1hQ++(~F{6KCCCc)t_XvpG0OrSRC!DxghDVwy>U zkev>P31>g}ZA9>0EG7|l-x@@);SoTWIV!|20`si>8`1L|1`t^ys-LR!wP3IVZt4X< z@MXH=A3u=tpT$5Z?BB&e=%2+vJ2lKd8==e~==H@w=#|C5C{jtmIMMryurly zf&2H(sZ}jbq}s*}J0#L~dL3lATH9EIlZw(IqI=Ir%AVdeW=Z6T*$sG~!%YZ9QL`}7 zeO1+_#bk=~r3OHx>dD?cfJLc^g00YRpg2n;#}7CR_uOXKOsHq%LDig|EZme4JRMRA zsBqN1A1%)=@O3c`u_AxJQhz$zIjq&O?HTE+;LeMN;@~&#g(`JJi@ih&Aq+fsh162| z3w?#1-5zDzEm2#%{DR0IJ-TJMgldPz#4?NmEu-HBx}=R(&4D=Xn+8!ib@Yjer;ToW zd63IEKn9wouX^;HrIHGVVN#(*(^)cak@5rm;}e4VgHQ*G6k84qucS{m@iiT9Z*X3S zEZ=SY#T3mQ-WWdT^>Hydr=^qunO5yU*uYTBujgNBX+r3b^qCayGh(WM%GL@U>5GMd8=Ps`J2*E!+}8Eq$Ds)rvc|+AZq4vp z$4Uq!k*cP?UFkadKIs>&75NI zne^*6^gL-~D-By5u?!)Ot!P$9*`Gb-VB-948UL_kMc3%YcQ7sB43q20Jfths+dj5e zGp~1qet!h`34s$ynyfS+V~~OSL__JTmN#t~x$U&d7BQXOH>Nwu4cwwYXqKol$+I_3 zr2eCBA4?Y_3q$tqE*#S^)qj~aE-Jy~HJKpS=MSVxO*P?nKci~#s9cQoKv@X~glq9N zr?%!x@8e(_R6p~TZ6BRXaQflSHfKbXo2R}KHouL*e_wz1Mw$!BHz`S=7xD0|yBoAe z!D+8zzfd!-kjhwM4y#!W9_-1Abd&0J;}arG85IVT#KNgscsnLQQa3GWU&Ht}zq6#^ zeMxmr^o;)hT67tQZ{T_g;nW?Ig^UjXDyKGknRACU+Y7jiD zpLb8S=EC;b$ITmZTSqGz#%#bb`9+P!Y)VEo$4!m8&yJ-M7B3PtHJ&LhEzYmw^N*gG znVagZ^xkS{&ad6Af={VN?`HE+Qspoee^6e)k6OgG&@CRa#;*EY*EfRVC&cLPtC*zv zAf9kX>r>h6L&u8HwJ5S$<=5YCc4=?lP5K^W_2{^YEuOUINuYrIPY(9P4%=k#o|A~U z-*YJY_NuI`g~z0@ZbXLWZ~3@=`PHYNClVzBKLYQIMuhI(MS0tQZaAS@m`NAB$ufCV z?m#=IDwtt&dpqf=KI5zo93>-%ZOFq8()-9JqoU#!%dR-c;ZHV3zEd!`5bBY~WLec* z>BSp8NUC(8+@as(fZ~N3dGZKDjZ7P*qU~bx^gE=;A)D#p*?o0^67S_{#|6mHm$L>f z>`QNw1?hjA;~_ITMg@dX29>uKamQuN38x~JtnCbc@{60Ta2X$9jYG0H6gBk1Y z={^h;2=P>5FAH%DG=Iq*6-+Vn5I2d zm3SfWqV89)u*N+d60=6P_X_1(65}%WKCS@3?T8U}bG> zE8jjky-8-y#qwt_i3x5YE5h&40p=<8pBUz$k?y!M`ef zneH)wH;Vqq>R&(%z5n&?%=v%0VnVJxhN2$>33()JtQ}y4ASgUa@l5V7=~7H6BJLLY z#1Q}*cZ>({K;M=2R}>Z(j1TZb3y~54$jM>wKU;5tg8y<1k4wP^2*w%#u;YrG3j^1M-cMr@cMc;y8F;28iD2K+mYA_BnGE~|mgk3LRj6~G*KVF)0I zi=n}Mh6zQ+g{opAE29knU;w&~9fp8va@e)pVc@@Wt2Y8DpmT@*9Y>e|cDaJ43Liiehfqb=9)|d*pqk4Fx(MF5X?y@-T(uhJojCrxm`3EV zzm~NAQyBaoYG%;_08IG*8i%N~zK`jExFq@iP=)hX2V9m2fX9WXVlHCBL6>FmUp@$A zhyUe0{kMcm=jn3W6$1Qs)WGAk)iEg_!eReB1OC(7@XP-HlK_lFK>vl~($z7^AHpx2 z@Mjkn1VjGk>EFH`1PuNs2_kMm9a9GYj1$$sbQ1!B|57Xv1cc5)3B3*czc}=-_zOZF zF&jr~2SW5wxPR;K^3uqd5J(R~#7${n(&E5@P$)3&L<93R3VmoFOb@*Lqqn9f{1X5| zfiT2%3~?2M^CEeHSL6^-AOwC5LvLGO!ypg{8be(v7GQ1E}S%kt5Ga2WDxVmK1Qi@cg45(vIlFcJvmy)Fm8j)5Up)54J`82oC% zAQ0@oHT+XQGzPt-3;p*`H=!~3bqsN>JK;#gAFBUPS_m%;c9|c#{r_eN;YD1f8iXd{ z8U{u4b)_f@og;ufARK4~8MH^(PwRy~+$2jvgpi z=m*0=i0f?eUQ;+QFYtN=d4Ukr)jmcG!meZBYZM~TOkXuV5Fjt`DuZYY^8b;8{SQO^ zqx}#N5Og&$0t5zL9kUP!6m*pZG)qb=b@M^!Kv1=@# zG3eEPhrpqrt7#D+*fm{1n*aze>PmlJ+J&nupfSXC3~|lsAwY<0Ru76cTvsh28iW6x zAL{Q(2Mu1+ekfYEt|mr+kbhaO{}?VP6#eemm4-l}=)rg$gIvK-=$R0DjcNoKy?}Bx zF`W0B0fAmlf!E}a*YpUA0A3ri2rvYUr2k|8{BgfWZ;hW<@l1&6uIFYsL(%f|rW^hyQv4MBjeHv~P7FNf?U|NqbrN9TC8j}egT zlL>m%T{E|6?3&?1K%v+A9qkPL*T?*8{2`#|HeYEm5`nxnA`mbj_zGKSKO6?XYJ8Bq zpsSM(2!ggp*UI2U!GKpYM6-WYxzLFrSG^$+x^Y(x7g`R@_5W=M`UeKu54(avVQ5$C z5<|EDZ~8&#=^c8d-$CeMeASGi<-qVOExE+5x?yMxJ)Eu-jK Date: Wed, 9 Mar 2022 13:22:08 +0100 Subject: [PATCH 225/288] update pdf file and image update: change of status in pdf file and small change in image of statistics --- .DS_Store | Bin 8196 -> 8196 bytes .gitignore | 1 + ...age of external classes and properties.pdf | Bin 157168 -> 157131 bytes evaluation_external/statistics.png | Bin 70837 -> 70956 bytes 4 files changed, 1 insertion(+) diff --git a/.DS_Store b/.DS_Store index 5365869b07763e860cf1e18a33e4e8f00e4def58..98d445438d1d91eaa6b0011a5646597cf2ec98f2 100644 GIT binary patch delta 21 ccmZp1XmQxEO@PDPz(hyE(A;42J^?p=08B3iTmS$7 delta 21 ccmZp1XmQxEO@PD5!cs@U*vNSEJ^?p=08E4iWB>pF diff --git a/.gitignore b/.gitignore index f6d5049f..1e0e639c 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ artifacts references/.DS_Store .DS_Store .DS_Store +.DS_Store 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 index 7817d909a061dac9829f3004066fc3a142f77211..d8311cc324e600587c16dfccef99c5f05d09e198 100644 GIT binary patch delta 3408 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
TH~)!jyt}vAIV4{PLNv8 z!zIo2om4v@Z2CAgq+;WKzQVqIyR&Ck7dU*ihsdSKF#Po>PV}DW%MB*Yg}DkleJivY zb1Ol#pfO(jvQ@wur*pyXsgG?raTf=M)28=5>LBqu`y1QHq3T)CkLqB-TZ~3Q?(R)+p)9)N?93EUmjog+#ZT{>7`O?;pJ7)%X zUvG=6Z^Xy_9FSW(5IyVWYRO?tV6M(Ne}XiwMVkNkZc8t}Av^}^tPu#}qO!bAoxtKz zAEO%50q|-}q$SG+4@>h>%hinLgA$M1Qfdpv^RG=_YU(< zN*FIfow{9)s3BKhSi-l;k^X?i^mH16-U!$xRdfsR1lc%yxgcIOef(alI5ln)so^@} zQChdj^T(+qAM;1- zeDgMCzD~8N9a-mG9%Ic;xfbw`V`RK9!*j{ldtq}(j?ZNjDiOD?vYOo~JHU0nZS!E* z;^HkSje4lwNgxxp4o19E=%{l1_2r0&?E54FezcN~r}`;k%7&u;K?K6Oqd3EJi}36!M2WYD^zgzgH_g4MmUOvBq8+8?B9@(wg>V zMQuf&ECn`}&`n8AfajDDY}>OZD%=8tCs+^2hlIr4vSj^$^e*X4oujb-^}2XYGxw~( zks!y7tO0X7f$ZQVW8vG#W9L&?5b~CAuY6o0+a3~CJUb9n5gNy>sunW)%(VY-fKou8 z*^IBbO`TUcR^8W5*m|sLmBOAz`$BCpz1%hiqWQ~h;l{>*)3@vrvIP|la{HmL2ZN#= z;Yg*cw5i!<9pWe*4eNgGSlZLr+`0+k3I>9}Tp{e|i5@`yGBrks!tOe`c$#07Cq~I@ z_e8R~GJBf(buxEv%seqb73&g7k4hkz#gWO%3HEX+a-GQR(Dlk3uF2LPSMOjca3ej< z^zYnMpz>b;5XWTWf%Zl1Z**akgiKFxP+#_pxuyTyVJUX%4*`Kbr^1rcg2UdMrtlRV7S z!&DP#mO^f}k;fOoB3ioBWw4+xMJ698-}tzaR5ID3BZ+1CHno200Rfo9SY?b?6nxD-fOY{uVBtI{a% zUuKR+?||Frl4jew2TKXZ^g$7r&6gsM|NYVbUXAm||2H=Ne>x7QkKVEW3PLG6U+jI# wj1LauiDRP0&)C!Sg_nX4zP)tRaEfvGGHPx{UwGlmA@ECA)97x+-}cY{4?g>t&j0`b delta 35260 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 Nom&PsOa8G9|6kHNDQ^G( From 3ed91ce8645669178e9e7f3abd1f491d52e809e6 Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Wed, 9 Mar 2022 15:13:17 +0100 Subject: [PATCH 226/288] Update .gitignore Co-authored-by: Liam Tirpitz <8599573+liam-tirpitz@users.noreply.github.com> --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1e0e639c..0c3933a8 100644 --- a/.gitignore +++ b/.gitignore @@ -11,5 +11,3 @@ artifacts *.project references/.DS_Store .DS_Store -.DS_Store -.DS_Store From e17a4cfce1cdfcf2e2e72595b5c2c03c6cf96b75 Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Wed, 9 Mar 2022 15:35:44 +0100 Subject: [PATCH 227/288] Delete .DS_Store --- .DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 98d445438d1d91eaa6b0011a5646597cf2ec98f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeI1(TdYR6o$|2cHL>0#e$0UZa};%nAF;}EJCU4g?C~_FI2h-4Q?>als4V2#!9aB z3Dg(y74!l0bv$Qg8rp3O3Zkygftf# z+b}KE$=!f~wPiHZs@;KU zcVOnu%w#A`-5vde8V;^V(STJ^8pMoo5x;%G8*`i z^wHy!KZwFn;y7Q~#%5vb+&16lJN#MaNKQJ5myAbkZ}^1H9!eScvt!SH6b6%S`QjZJ zCter_L*)?m0vz)6aTxdHq%FsBZ=`%Xx`P*av0JXB>7G-s3U|+$Rz=#ZIaN`=(U?w) z{LHwK}Nx<%@fZzRiw8x!c9Le}OdeGIlqTxXw2FNLZ(HxD>GaBD! zGX!UVm5>=qV6eh(JOQ5zJ4BFMk@rl{9s4()_5Y`LUh>#fY|+!AISOPyu zfE5lp2W@ns4Sto;E-$bgVj-h(nO5b3)xr+}JkS3y#AAU&$){yB(~2!<_CtWeU@J@D Hw-WdcTF)gB From 0c08bec6111b5922afe88a842da7e93adc744bd6 Mon Sep 17 00:00:00 2001 From: Liam Tirpitz Date: Mon, 21 Mar 2022 12:59:27 +0100 Subject: [PATCH 228/288] Capitalize Metrics --- codes/QualityMetrics.ttl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/codes/QualityMetrics.ttl b/codes/QualityMetrics.ttl index ab7b14f5..ac7337ca 100644 --- a/codes/QualityMetrics.ttl +++ b/codes/QualityMetrics.ttl @@ -8,7 +8,7 @@ # Dimensions # --------- -idsc:availability +idsc:AVAILABILITY a dqv:Dimension ; rdfs:label "Availability" ; skos:definition "Availability of a dataset: Is the data present, obtainable and ready for use?"@en . @@ -17,8 +17,8 @@ idsc:availability # Metrics # --------- -idsc:downloadURLAvailabilityMetric +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 . + dqv:inDimension idsc:AVAILABILITY . From bb28ae302fee27fdc6b3184fe9353711ae29218b Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 24 Mar 2022 14:08:58 +0100 Subject: [PATCH 229/288] Fixed prefixes of SPRQL queries in the shapes --- testing/content/AssetShape.ttl | 6 +++--- testing/content/ConceptShape.ttl | 7 +++---- testing/content/MediaTypeShape.ttl | 4 ++-- testing/contract/RuleShape.ttl | 4 ++-- testing/infrastructure/CatalogShape.ttl | 4 ++-- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index 03c39b4a..ae75c6ed 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -18,8 +18,8 @@ shapes: ] ; sh:declare [ - sh:prefix "ids" ; - sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; + sh:prefix "odrl" ; + sh:namespace "http://www.w3.org/ns/odrl/2/"^^xsd:anyURI ; ] . @@ -54,7 +54,7 @@ shapes:AssetCollectionShape sh:severity sh:Violation ; sh:message " (AssetCollectionShape): An ids:assetSource property must not have more than one point from an odrl:AssetCollection to an IRI."@en ; ] ; - + sh:property [ a sh:PropertyShape ; sh:path odrl:refinement ; diff --git a/testing/content/ConceptShape.ttl b/testing/content/ConceptShape.ttl index fd17f2a5..c5b27823 100644 --- a/testing/content/ConceptShape.ttl +++ b/testing/content/ConceptShape.ttl @@ -18,13 +18,13 @@ shapes: ] ; sh:declare [ - sh:prefix "ids" ; - sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; + sh:prefix "skos" ; + sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI ; ] . shapes:ConceptShape - a sh:NodeShape ; + a sh:NodeShape ; sh:targetClass skos:Concept ; sh:sparql [ @@ -39,4 +39,3 @@ shapes:ConceptShape } """ ; ] . - diff --git a/testing/content/MediaTypeShape.ttl b/testing/content/MediaTypeShape.ttl index 1cb91348..b0dae2ee 100644 --- a/testing/content/MediaTypeShape.ttl +++ b/testing/content/MediaTypeShape.ttl @@ -15,8 +15,8 @@ shapes: ] ; sh:declare [ - sh:prefix "ids" ; - sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; + sh:prefix "dct" ; + sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI ; ] . diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index addc6919..915a3976 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -17,8 +17,8 @@ shapes: ] ; sh:declare [ - sh:prefix "ids" ; - sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; + sh:prefix "odrl" ; + sh:namespace "http://www.w3.org/ns/odrl/2/"^^xsd:anyURI ; ] . diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index 03766e10..c083af19 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -16,8 +16,8 @@ shapes: ] ; sh:declare [ - sh:prefix "ids" ; - sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; + sh:prefix "dcat" ; + sh:namespace "http://www.w3.org/ns/dcat#"^^xsd:anyURI ; ] . From 8a9b118d73be9f1ecef25f813026f21a4777dd15 Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 31 Mar 2022 16:15:35 +0200 Subject: [PATCH 230/288] Replace all sh:nodeKind sh:IRI with sh:datatype xsd:anyURI. --- .../TargetTemplates/AssetTemplateShape.ttl | 2 +- references/shacl-20170720.ttl | 12 +++++----- testing/communication/HostShape.ttl | 2 +- testing/communication/MessageShape.ttl | 14 +++++------ .../ParameterAssignmentShape.ttl | 2 +- testing/communication/ProxyShape.ttl | 2 +- testing/contract/ConstraintShape.ttl | 2 +- testing/contract/ContractShape.ttl | 4 ++-- .../contract/UsageControlComponentShape.ttl | 4 ++-- testing/infrastructure/CatalogShape.ttl | 6 ++--- testing/infrastructure/ConnectorShape.ttl | 2 +- testing/security/TokenShape.ttl | 4 ++-- testing/taxonomies/DigitalContentShape.ttl | 2 +- testing/taxonomies/MessageShape.ttl | 24 +++++++++---------- 14 files changed, 41 insertions(+), 41 deletions(-) diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index c9ac48f9..37b8a560 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -14,7 +14,7 @@ shapes:AssetTemplateShape a sh:NodeShape ; sh:or ( [ - sh:nodeKind sh:IRI ; # it's an RDF URI + sh:datatype xsd:anyURI ; # it's an RDF URI ] [ sh:class odrl:AssetCollection ; # it's a simple Collection diff --git a/references/shacl-20170720.ttl b/references/shacl-20170720.ttl index a6bc5070..1fe57b3a 100644 --- a/references/shacl-20170720.ttl +++ b/references/shacl-20170720.ttl @@ -489,7 +489,7 @@ sh:ClassConstraintComponent sh:ClassConstraintComponent-class a sh:Parameter ; sh:path sh:class ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; rdfs:isDefinedBy sh: . sh:class @@ -545,7 +545,7 @@ sh:DatatypeConstraintComponent sh:DatatypeConstraintComponent-datatype a sh:Parameter ; sh:path sh:datatype ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . @@ -567,7 +567,7 @@ sh:DisjointConstraintComponent sh:DisjointConstraintComponent-disjoint a sh:Parameter ; sh:path sh:disjoint ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; rdfs:isDefinedBy sh: . sh:disjoint @@ -588,7 +588,7 @@ sh:EqualsConstraintComponent sh:EqualsConstraintComponent-equals a sh:Parameter ; sh:path sh:equals ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; rdfs:isDefinedBy sh: . sh:equals @@ -670,7 +670,7 @@ sh:LessThanConstraintComponent sh:LessThanConstraintComponent-lessThan a sh:Parameter ; sh:path sh:lessThan ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; rdfs:isDefinedBy sh: . sh:lessThan @@ -691,7 +691,7 @@ sh:LessThanOrEqualsConstraintComponent sh:LessThanOrEqualsConstraintComponent-lessThanOrEquals a sh:Parameter ; sh:path sh:lessThanOrEquals ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; rdfs:isDefinedBy sh: . sh:lessThanOrEquals diff --git a/testing/communication/HostShape.ttl b/testing/communication/HostShape.ttl index 610b195a..e6de8f72 100644 --- a/testing/communication/HostShape.ttl +++ b/testing/communication/HostShape.ttl @@ -35,7 +35,7 @@ shapes:HostShape sh:property [ a sh:PropertyShape ; sh:path ids:accessUrl ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; sh:message " (HostShape): An ids:accessUrl property must point from an ids:Host to an access IRI."@en ; ] ; diff --git a/testing/communication/MessageShape.ttl b/testing/communication/MessageShape.ttl index 896618ab..bc2307b0 100644 --- a/testing/communication/MessageShape.ttl +++ b/testing/communication/MessageShape.ttl @@ -61,7 +61,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:correlationMessage ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Message ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -71,7 +71,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:issuerConnector ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; #sh:class ids:Connector ; sh:minCount 1 ; @@ -83,7 +83,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:recipientConnector ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Connector ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; @@ -93,7 +93,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:senderAgent ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; @@ -104,7 +104,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:recipientAgent ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; sh:message " (MessageShape): An ids:recipientAgent property must point from an ids:Message to an foaf:Agent via an IRI."@en ; @@ -132,7 +132,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:transferContract ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; @@ -143,7 +143,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:operationReference ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; sh:message " (MessageShape): An ids:operationReference property must point from an ids:Message to a URI."@en ; diff --git a/testing/communication/ParameterAssignmentShape.ttl b/testing/communication/ParameterAssignmentShape.ttl index 43945315..7dd71a66 100644 --- a/testing/communication/ParameterAssignmentShape.ttl +++ b/testing/communication/ParameterAssignmentShape.ttl @@ -28,7 +28,7 @@ shapes:ParameterAssignmentShape sh:property [ a sh:PropertyShape ; sh:path ids:parameter ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; sh:message " (ParameterAssignmentShape): An ids:parameter property must point from an ids:ParameterAssignment to an ids:Parameter."@en ; ] ; diff --git a/testing/communication/ProxyShape.ttl b/testing/communication/ProxyShape.ttl index f176d773..6f42f769 100644 --- a/testing/communication/ProxyShape.ttl +++ b/testing/communication/ProxyShape.ttl @@ -71,7 +71,7 @@ shapes:ProxyShape sh:property [ a sh:PropertyShape ; sh:path ids:endpointDocumentation ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; sh:message " (ProxyShape): An ids:endpointDocumentation property must point from an ids:Proxy to an IRI."@en ; ]; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index a06d06f6..af2e1c9a 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -61,7 +61,7 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; sh:path odrl:rightOperandReference ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/contract/ContractShape.ttl b/testing/contract/ContractShape.ttl index 8220eb69..ffc49108 100644 --- a/testing/contract/ContractShape.ttl +++ b/testing/contract/ContractShape.ttl @@ -68,7 +68,7 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; sh:path ids:provider ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Participant ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:maxCount 1 ; @@ -79,7 +79,7 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; sh:path ids:consumer ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; # sh:minCount 1 ; sh:maxCount 1 ; #sh:class ids:Participant ; diff --git a/testing/contract/UsageControlComponentShape.ttl b/testing/contract/UsageControlComponentShape.ttl index 81ad39af..00676c20 100644 --- a/testing/contract/UsageControlComponentShape.ttl +++ b/testing/contract/UsageControlComponentShape.ttl @@ -17,7 +17,7 @@ shapes:UsageControlComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:interfaceDescription ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -27,7 +27,7 @@ shapes:UsageControlComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:endpointURI ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:minCount 0 ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index 03766e10..b0fe91c4 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -48,7 +48,7 @@ shapes:ResourceCatalogShape sh:path ids:offeredResource ; sh:or ( [ sh:class ids:Resource ; sh:order 1 ; ] - [ sh:nodeKind sh:IRI ; sh:order 2 ; ] + [ sh:datatype xsd:anyURI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:offeredResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; @@ -59,7 +59,7 @@ shapes:ResourceCatalogShape sh:path ids:requestedResource ; sh:or ( [ sh:class ids:Resource ; sh:order 1 ; ] - [ sh:nodeKind sh:IRI ; sh:order 2 ; ] + [ sh:datatype xsd:anyURI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:requestedResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; @@ -75,7 +75,7 @@ shapes:ParticipantCatalogShape sh:path ids:member ; sh:or ( [ sh:class ids:Participant ; sh:order 1 ; ] - [ sh:nodeKind sh:IRI ; sh:order 2 ; ] + [ sh:datatype xsd:anyURI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ParticipantCatalog): An ids:member property must point from an ids:ParticipantCatalog to an ids:Participant."@en ; diff --git a/testing/infrastructure/ConnectorShape.ttl b/testing/infrastructure/ConnectorShape.ttl index efcf2bc5..f75e2ae1 100644 --- a/testing/infrastructure/ConnectorShape.ttl +++ b/testing/infrastructure/ConnectorShape.ttl @@ -58,7 +58,7 @@ shapes:ConnectorShape sh:property [ a sh:PropertyShape ; sh:path ids:hasAgent ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; sh:message " (ConnectorShape): The ids:hasAgents property must point from an ids:Connector to a list of Agends using an IRI."@en ; diff --git a/testing/security/TokenShape.ttl b/testing/security/TokenShape.ttl index 8fb010dc..d837d793 100644 --- a/testing/security/TokenShape.ttl +++ b/testing/security/TokenShape.ttl @@ -115,7 +115,7 @@ shapes:JwtPayloadShape sh:property [ a sh:PropertyShape ; sh:path ids:referringConnector ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Connector ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -170,7 +170,7 @@ shapes:DatPayloadShape sh:property [ a sh:PropertyShape ; sh:path ids:referringConnector ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 1cec7c3e..9a9e905b 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -83,7 +83,7 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path dcat:theme ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; sh:message " (DigitalContentShape): A dcat:theme property must point from an ids:DigitalContent to an skos:Concept."@en ; ] ; diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index 70fb99d9..0e931408 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -44,7 +44,7 @@ shapes:ResponseMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:correlationMessage ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Message ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -136,7 +136,7 @@ shapes:ConnectorNotificationMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedConnector ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Connector ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; @@ -181,7 +181,7 @@ shapes:ParticipantNotificationMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedParticipant ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; #sh:class ids:Participant ; sh:minCount 1; @@ -232,7 +232,7 @@ shapes:ResourceNotificationMessageShape a sh:PropertyShape ; sh:path ids:affectedResource ; #sh:class ids:Resource ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; @@ -274,7 +274,7 @@ shapes:RequestInProcessMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:correlationMessage ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Message ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -291,7 +291,7 @@ shapes:MessageProcessedNotificationShape sh:property [ a sh:PropertyShape ; sh:path ids:correlationMessage ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Message ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -307,7 +307,7 @@ shapes:ArtifactRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:requestedArtifact ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Artifact ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -325,7 +325,7 @@ shapes:ParticipantRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:requestedParticipant ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; #sh:class ids:Participant ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -341,7 +341,7 @@ shapes:AppUpdateRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedDataApp ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -369,7 +369,7 @@ shapes:AppNotificationMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedResource ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; @@ -384,7 +384,7 @@ shapes:AppRegistrationRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedDataApp ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -399,7 +399,7 @@ shapes:AppUploadMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:appArtifactReference ; - sh:nodeKind sh:IRI ; + sh:datatype xsd:anyURI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; From 1effd6dfba6b801bc980617024394b96886ff89a Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 31 Mar 2022 16:19:00 +0200 Subject: [PATCH 231/288] remove HostShape, replace ids:Host with ids:Endpoint in examples. --- CHANGELOG.md | 4 +- .../cli/conn_self_description.jsonld | 2 +- .../cli/conn_self_description.pretty.jsonld | 18 +++---- .../cli/conn_self_description.ttl | 2 +- testing/communication/HostShape.ttl | 50 ------------------- .../3.1.0-4.0.0/blacklist-shapes-400.ttl | 2 +- .../example-instance-from-310.jsonld | 2 +- .../3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl | 2 +- 8 files changed, 16 insertions(+), 66 deletions(-) delete mode 100644 testing/communication/HostShape.ttl diff --git a/CHANGELOG.md b/CHANGELOG.md index 609019d6..3a27e45b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -71,13 +71,13 @@ Version 4.0.0 of the IDS Information Model * Redesign of `ids:Endpoint` class. * Removed `ids:InteractiveEndpoint`. * `ids:StaticEndpoint` is now called `ids:ConnectorEndpoint`. `ids:ConnectorEndpoint` contains additional properties, especially for endpoint description and documentation. - * `ids:Host` information is now part of the `ids:Endpoint`. + * `ids:Endpoint` information is now part of the `ids:Endpoint`. * New property: `ids:endpointInformation` with range `xsd:string` and `ids:endpointDocumentation` with range `xsd:anyURI` for endpoint description and documentation. * Core classes for digital content (`ids:Resource`, `ids:DigitalContent`, `ids:Representation`, `ids:Artifact`) now aligned with W3C [DCAT 2](https://www.w3.org/TR/vocab-dcat-2/) ### Removed * Classes related to runtime related interaction, such as `ids:Operation`, `ids:Activity`, `ids:Interface`, `ids:Parameter`. -* `ids:Host`. Information are now part of the `ids:Endpoint` itself. +* `ids:Endpoint`. Information are now part of the `ids:Endpoint` itself. * `ids:transportCertsSha256` from Connector class. Property should only be part of the `ids:Token` class. * Some `ids:Resource` and `ids:Representation` subclasses, such as `ids:SchemaResource` and `ids:SimpleResource`. * Some unused classes, e.g., `ids:Audio`, `ids:Video`, `ids:Text` 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..6478c023 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.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: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.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: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.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: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..ced6ff20 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 @@ -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" @@ -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" @@ -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 9e3ba693..dbbcb25d 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -50,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" ; diff --git a/testing/communication/HostShape.ttl b/testing/communication/HostShape.ttl deleted file mode 100644 index e6de8f72..00000000 --- a/testing/communication/HostShape.ttl +++ /dev/null @@ -1,50 +0,0 @@ -@prefix rdf: . -@prefix owl: . -@prefix rdfs: . -@prefix xsd: . -@prefix ids: . - -@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:HostShape - a sh:NodeShape ; - sh:targetClass ids:Host ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:protocol ; - sh:class ids:Protocol ; - sh:severity sh:Violation ; - sh:message " (HostShape): An ids:protocol property must point from an ids:Host to an ids:Protocol."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:accessUrl ; - sh:datatype xsd:anyURI ; - sh:severity sh:Violation ; - sh:message " (HostShape): An ids:accessUrl property must point from an ids:Host to an access IRI."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:pathPrefix ; - sh:datatype xsd:string ; - sh:severity sh:Violation ; - sh:message " (HostShape): An ids:pathPrefix property must point from an ids:Host to an xsd:string."@en ; - ] . - diff --git a/version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl b/version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl index 7f056f79..d5c0c1f2 100644 --- a/version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl +++ b/version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl @@ -22,7 +22,7 @@ shapes: shapes:HostShape a sh:NodeShape ; - sh:targetClass ids:Host ; + sh:targetClass ids:Endpoint ; sh:not [ a sh:PropertyShape ; diff --git a/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld b/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld index e53a4d7d..687483f9 100644 --- a/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld +++ b/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld @@ -60,7 +60,7 @@ "ids:endpointHost" : { - "@type" : "ids:Host", + "@type" : "ids:Endpoint", "@id" : "http://echo.ids.isst.fraunhofer.de/", diff --git a/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl b/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl index 64ac6c42..efd2a8db 100644 --- a/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl +++ b/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl @@ -151,7 +151,7 @@ ids:ResourceUpgradeShape OPTIONAL { $staticEndpoint ids:endpointHost $endpointHost . - $this rdf:type ids:Host . + $this rdf:type ids:Endpoint . $this ids:accessUrl $accessUrl . } } From a45922b6e8ac227bb10c9896e6d2eb2fa5cf6dda Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 31 Mar 2022 16:30:03 +0200 Subject: [PATCH 232/288] Removed ids:operationparameterization, ids:artifactParameterization and ids:ParameterAssignment related elements in shapes because they don't exist in the ontology anymore. --- .../ParameterAssignmentShape.ttl | 30 ------------------- testing/content/ArtifactShape.ttl | 7 ----- testing/taxonomies/MessageShape.ttl | 12 +------- 3 files changed, 1 insertion(+), 48 deletions(-) diff --git a/testing/communication/ParameterAssignmentShape.ttl b/testing/communication/ParameterAssignmentShape.ttl index 7dd71a66..d26b7da4 100644 --- a/testing/communication/ParameterAssignmentShape.ttl +++ b/testing/communication/ParameterAssignmentShape.ttl @@ -19,33 +19,3 @@ shapes: sh:prefix "ids" ; sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; ] . - - -shapes:ParameterAssignmentShape - a sh:NodeShape ; - sh:targetClass ids:ParameterAssignment ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameter ; - sh:datatype xsd:anyURI ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameter property must point from an ids:ParameterAssignment to an ids:Parameter."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameterValue ; - sh:class ids:Value ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameterValue property must point from an ids:ParameterAssignment to an ids:Value."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameterArtifact ; - sh:class ids:Artifact ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameterArtifact property must point from an ids:ParameterAssignment to an ids:Artifact."@en ; - ] . - diff --git a/testing/content/ArtifactShape.ttl b/testing/content/ArtifactShape.ttl index 66d922df..4a523f2c 100644 --- a/testing/content/ArtifactShape.ttl +++ b/testing/content/ArtifactShape.ttl @@ -54,13 +54,6 @@ shapes:ArtifactShape sh:message " (ArtifactShape): An ids:Artifact must not have more than one xsd:dateTimeStamp linked through the dct:created property"@en ; ] ; - sh:property [ - a sh:PropertyShape ; - sh:path ids:artifactParameterization ; - sh:class ids:ParameterAssignment ; - sh:severity sh:Violation ; - sh:message " (ArtifactShape): An ids:artifactParameterization property must point from an ids:Artifact to an ids:ParameterAssignment."@en ; - ] ; sh:property [ a sh:PropertyShape ; diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index 0e931408..6a8caa44 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -254,17 +254,7 @@ shapes:InvokeOperationMessageShape sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (InvokeOperationMessageShape): An ids:InvokeOperationMessage must have exactly one IRI reference to a ids:Operation linked through the ids:operationReference property"@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:operationParameterization ; - sh:datatype ids:ParameterAssignment ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (InvokeOperationMessageShape): An ids:InvokeOperationMessage must have exactly one ids:ParameterAssignment linked through the ids:operationParameterization property"@en ; - ] . + ] . shapes:RequestInProcessMessageShape From 96b4158059c9cfa6dd1dcf7d0c0e3bcee76acd7c Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 31 Mar 2022 16:38:26 +0200 Subject: [PATCH 233/288] Add 'ids:Proxy subCalssOf ids:Endpoint', so that it can inherit attributes from ids:Endpoint as what in ProxyShape show. --- model/communication/Proxy.ttl | 1 + 1 file changed, 1 insertion(+) 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 ; . From 6cc81413d4f0f2bbfcb3c8c92312ca17b8c55ebf Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 7 Apr 2022 10:24:46 +0200 Subject: [PATCH 234/288] Correct ids:Endpoint to ids:Host in Changelog. --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a27e45b..609019d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -71,13 +71,13 @@ Version 4.0.0 of the IDS Information Model * Redesign of `ids:Endpoint` class. * Removed `ids:InteractiveEndpoint`. * `ids:StaticEndpoint` is now called `ids:ConnectorEndpoint`. `ids:ConnectorEndpoint` contains additional properties, especially for endpoint description and documentation. - * `ids:Endpoint` information is now part of the `ids:Endpoint`. + * `ids:Host` information is now part of the `ids:Endpoint`. * New property: `ids:endpointInformation` with range `xsd:string` and `ids:endpointDocumentation` with range `xsd:anyURI` for endpoint description and documentation. * Core classes for digital content (`ids:Resource`, `ids:DigitalContent`, `ids:Representation`, `ids:Artifact`) now aligned with W3C [DCAT 2](https://www.w3.org/TR/vocab-dcat-2/) ### Removed * Classes related to runtime related interaction, such as `ids:Operation`, `ids:Activity`, `ids:Interface`, `ids:Parameter`. -* `ids:Endpoint`. Information are now part of the `ids:Endpoint` itself. +* `ids:Host`. Information are now part of the `ids:Endpoint` itself. * `ids:transportCertsSha256` from Connector class. Property should only be part of the `ids:Token` class. * Some `ids:Resource` and `ids:Representation` subclasses, such as `ids:SchemaResource` and `ids:SimpleResource`. * Some unused classes, e.g., `ids:Audio`, `ids:Video`, `ids:Text` From e78acccea0800362e2a4975530f3000d320b782a Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 7 Apr 2022 10:45:45 +0200 Subject: [PATCH 235/288] Revert: Replace all sh:nodeKind sh:IRI with sh:datatype xsd:anyURI. --- .../TargetTemplates/AssetTemplateShape.ttl | 2 +- references/shacl-20170720.ttl | 12 +++---- testing/communication/MessageShape.ttl | 14 ++++---- .../ParameterAssignmentShape.ttl | 33 +++++++++++++++++++ testing/communication/ProxyShape.ttl | 2 +- testing/contract/ConstraintShape.ttl | 2 +- testing/contract/ContractShape.ttl | 4 +-- .../contract/UsageControlComponentShape.ttl | 4 +-- testing/infrastructure/CatalogShape.ttl | 6 ++-- testing/infrastructure/ConnectorShape.ttl | 2 +- testing/security/TokenShape.ttl | 4 +-- testing/taxonomies/DigitalContentShape.ttl | 2 +- testing/taxonomies/MessageShape.ttl | 24 +++++++------- 13 files changed, 72 insertions(+), 39 deletions(-) diff --git a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl index 37b8a560..c9ac48f9 100644 --- a/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl +++ b/examples/contracts-and-usage-policy/templates/TargetTemplates/AssetTemplateShape.ttl @@ -14,7 +14,7 @@ shapes:AssetTemplateShape a sh:NodeShape ; sh:or ( [ - sh:datatype xsd:anyURI ; # it's an RDF URI + sh:nodeKind sh:IRI ; # it's an RDF URI ] [ sh:class odrl:AssetCollection ; # it's a simple Collection diff --git a/references/shacl-20170720.ttl b/references/shacl-20170720.ttl index 1fe57b3a..a6bc5070 100644 --- a/references/shacl-20170720.ttl +++ b/references/shacl-20170720.ttl @@ -489,7 +489,7 @@ sh:ClassConstraintComponent sh:ClassConstraintComponent-class a sh:Parameter ; sh:path sh:class ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:class @@ -545,7 +545,7 @@ sh:DatatypeConstraintComponent sh:DatatypeConstraintComponent-datatype a sh:Parameter ; sh:path sh:datatype ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . @@ -567,7 +567,7 @@ sh:DisjointConstraintComponent sh:DisjointConstraintComponent-disjoint a sh:Parameter ; sh:path sh:disjoint ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:disjoint @@ -588,7 +588,7 @@ sh:EqualsConstraintComponent sh:EqualsConstraintComponent-equals a sh:Parameter ; sh:path sh:equals ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:equals @@ -670,7 +670,7 @@ sh:LessThanConstraintComponent sh:LessThanConstraintComponent-lessThan a sh:Parameter ; sh:path sh:lessThan ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:lessThan @@ -691,7 +691,7 @@ sh:LessThanOrEqualsConstraintComponent sh:LessThanOrEqualsConstraintComponent-lessThanOrEquals a sh:Parameter ; sh:path sh:lessThanOrEquals ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:lessThanOrEquals diff --git a/testing/communication/MessageShape.ttl b/testing/communication/MessageShape.ttl index bc2307b0..896618ab 100644 --- a/testing/communication/MessageShape.ttl +++ b/testing/communication/MessageShape.ttl @@ -61,7 +61,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:correlationMessage ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Message ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -71,7 +71,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:issuerConnector ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; #sh:class ids:Connector ; sh:minCount 1 ; @@ -83,7 +83,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:recipientConnector ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Connector ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; @@ -93,7 +93,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:senderAgent ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; @@ -104,7 +104,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:recipientAgent ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; sh:message " (MessageShape): An ids:recipientAgent property must point from an ids:Message to an foaf:Agent via an IRI."@en ; @@ -132,7 +132,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:transferContract ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; @@ -143,7 +143,7 @@ shapes:MessageShape sh:property [ a sh:PropertyShape ; sh:path ids:operationReference ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; sh:message " (MessageShape): An ids:operationReference property must point from an ids:Message to a URI."@en ; diff --git a/testing/communication/ParameterAssignmentShape.ttl b/testing/communication/ParameterAssignmentShape.ttl index d26b7da4..79014967 100644 --- a/testing/communication/ParameterAssignmentShape.ttl +++ b/testing/communication/ParameterAssignmentShape.ttl @@ -19,3 +19,36 @@ shapes: sh:prefix "ids" ; sh:namespace "https://w3id.org/idsa/core/"^^xsd:anyURI ; ] . +<<<<<<< HEAD +======= + + +shapes:ParameterAssignmentShape + a sh:NodeShape ; + sh:targetClass ids:ParameterAssignment ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:parameter ; + sh:nodeKind sh:IRI ; + sh:severity sh:Violation ; + sh:message " (ParameterAssignmentShape): An ids:parameter property must point from an ids:ParameterAssignment to an ids:Parameter."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:parameterValue ; + sh:class ids:Value ; + sh:severity sh:Violation ; + sh:message " (ParameterAssignmentShape): An ids:parameterValue property must point from an ids:ParameterAssignment to an ids:Value."@en ; + ] ; + + sh:property [ + a sh:PropertyShape ; + sh:path ids:parameterArtifact ; + sh:class ids:Artifact ; + sh:severity sh:Violation ; + sh:message " (ParameterAssignmentShape): An ids:parameterArtifact property must point from an ids:ParameterAssignment to an ids:Artifact."@en ; + ] . + +>>>>>>> parent of 8a9b118 (Replace all sh:nodeKind sh:IRI with sh:datatype xsd:anyURI.) diff --git a/testing/communication/ProxyShape.ttl b/testing/communication/ProxyShape.ttl index 6f42f769..f176d773 100644 --- a/testing/communication/ProxyShape.ttl +++ b/testing/communication/ProxyShape.ttl @@ -71,7 +71,7 @@ shapes:ProxyShape sh:property [ a sh:PropertyShape ; sh:path ids:endpointDocumentation ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:severity sh:Violation ; sh:message " (ProxyShape): An ids:endpointDocumentation property must point from an ids:Proxy to an IRI."@en ; ]; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index af2e1c9a..a06d06f6 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -61,7 +61,7 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; sh:path odrl:rightOperandReference ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/contract/ContractShape.ttl b/testing/contract/ContractShape.ttl index ffc49108..8220eb69 100644 --- a/testing/contract/ContractShape.ttl +++ b/testing/contract/ContractShape.ttl @@ -68,7 +68,7 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; sh:path ids:provider ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Participant ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:maxCount 1 ; @@ -79,7 +79,7 @@ shapes:ContractShape sh:property [ a sh:PropertyShape ; sh:path ids:consumer ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; # sh:minCount 1 ; sh:maxCount 1 ; #sh:class ids:Participant ; diff --git a/testing/contract/UsageControlComponentShape.ttl b/testing/contract/UsageControlComponentShape.ttl index 00676c20..81ad39af 100644 --- a/testing/contract/UsageControlComponentShape.ttl +++ b/testing/contract/UsageControlComponentShape.ttl @@ -17,7 +17,7 @@ shapes:UsageControlComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:interfaceDescription ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -27,7 +27,7 @@ shapes:UsageControlComponentShape sh:property [ a sh:PropertyShape ; sh:path ids:endpointURI ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:minCount 0 ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/infrastructure/CatalogShape.ttl b/testing/infrastructure/CatalogShape.ttl index b0fe91c4..03766e10 100644 --- a/testing/infrastructure/CatalogShape.ttl +++ b/testing/infrastructure/CatalogShape.ttl @@ -48,7 +48,7 @@ shapes:ResourceCatalogShape sh:path ids:offeredResource ; sh:or ( [ sh:class ids:Resource ; sh:order 1 ; ] - [ sh:datatype xsd:anyURI ; sh:order 2 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:offeredResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; @@ -59,7 +59,7 @@ shapes:ResourceCatalogShape sh:path ids:requestedResource ; sh:or ( [ sh:class ids:Resource ; sh:order 1 ; ] - [ sh:datatype xsd:anyURI ; sh:order 2 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ResourceCatalog): An ids:requestedResource property must point from an ids:ResourceCatalog to an ids:Resource."@en ; @@ -75,7 +75,7 @@ shapes:ParticipantCatalogShape sh:path ids:member ; sh:or ( [ sh:class ids:Participant ; sh:order 1 ; ] - [ sh:datatype xsd:anyURI ; sh:order 2 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:severity sh:Violation ; sh:message " (ParticipantCatalog): An ids:member property must point from an ids:ParticipantCatalog to an ids:Participant."@en ; diff --git a/testing/infrastructure/ConnectorShape.ttl b/testing/infrastructure/ConnectorShape.ttl index f75e2ae1..efcf2bc5 100644 --- a/testing/infrastructure/ConnectorShape.ttl +++ b/testing/infrastructure/ConnectorShape.ttl @@ -58,7 +58,7 @@ shapes:ConnectorShape sh:property [ a sh:PropertyShape ; sh:path ids:hasAgent ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; sh:message " (ConnectorShape): The ids:hasAgents property must point from an ids:Connector to a list of Agends using an IRI."@en ; diff --git a/testing/security/TokenShape.ttl b/testing/security/TokenShape.ttl index d837d793..8fb010dc 100644 --- a/testing/security/TokenShape.ttl +++ b/testing/security/TokenShape.ttl @@ -115,7 +115,7 @@ shapes:JwtPayloadShape sh:property [ a sh:PropertyShape ; sh:path ids:referringConnector ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Connector ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -170,7 +170,7 @@ shapes:DatPayloadShape sh:property [ a sh:PropertyShape ; sh:path ids:referringConnector ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 9a9e905b..1cec7c3e 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -83,7 +83,7 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path dcat:theme ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:severity sh:Violation ; sh:message " (DigitalContentShape): A dcat:theme property must point from an ids:DigitalContent to an skos:Concept."@en ; ] ; diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index 6a8caa44..2de7edec 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -44,7 +44,7 @@ shapes:ResponseMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:correlationMessage ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Message ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -136,7 +136,7 @@ shapes:ConnectorNotificationMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedConnector ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Connector ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:severity sh:Violation ; @@ -181,7 +181,7 @@ shapes:ParticipantNotificationMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedParticipant ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; #sh:class ids:Participant ; sh:minCount 1; @@ -232,7 +232,7 @@ shapes:ResourceNotificationMessageShape a sh:PropertyShape ; sh:path ids:affectedResource ; #sh:class ids:Resource ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; @@ -264,7 +264,7 @@ shapes:RequestInProcessMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:correlationMessage ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Message ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -281,7 +281,7 @@ shapes:MessageProcessedNotificationShape sh:property [ a sh:PropertyShape ; sh:path ids:correlationMessage ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Message ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -297,7 +297,7 @@ shapes:ArtifactRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:requestedArtifact ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Artifact ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -315,7 +315,7 @@ shapes:ParticipantRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:requestedParticipant ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; #sh:class ids:Participant ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; @@ -331,7 +331,7 @@ shapes:AppUpdateRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedDataApp ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -359,7 +359,7 @@ shapes:AppNotificationMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedResource ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; @@ -374,7 +374,7 @@ shapes:AppRegistrationRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:affectedDataApp ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -389,7 +389,7 @@ shapes:AppUploadMessageShape sh:property [ a sh:PropertyShape ; sh:path ids:appArtifactReference ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:minCount 1 ; sh:maxCount 1 ; From 176a4bb5586774483342b7177d34a30f160a2df4 Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 7 Apr 2022 10:47:02 +0200 Subject: [PATCH 236/288] Delete file: ParameterAssignmentShape. --- .../ParameterAssignmentShape.ttl | 54 ------------------- 1 file changed, 54 deletions(-) delete mode 100644 testing/communication/ParameterAssignmentShape.ttl diff --git a/testing/communication/ParameterAssignmentShape.ttl b/testing/communication/ParameterAssignmentShape.ttl deleted file mode 100644 index 79014967..00000000 --- a/testing/communication/ParameterAssignmentShape.ttl +++ /dev/null @@ -1,54 +0,0 @@ -@prefix owl: . -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix dct: . -@prefix ids: . - -@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 ; - ] . -<<<<<<< HEAD -======= - - -shapes:ParameterAssignmentShape - a sh:NodeShape ; - sh:targetClass ids:ParameterAssignment ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameter ; - sh:nodeKind sh:IRI ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameter property must point from an ids:ParameterAssignment to an ids:Parameter."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameterValue ; - sh:class ids:Value ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameterValue property must point from an ids:ParameterAssignment to an ids:Value."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameterArtifact ; - sh:class ids:Artifact ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameterArtifact property must point from an ids:ParameterAssignment to an ids:Artifact."@en ; - ] . - ->>>>>>> parent of 8a9b118 (Replace all sh:nodeKind sh:IRI with sh:datatype xsd:anyURI.) From 53613c5d340c891f457472a267f55645d3c37656 Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 7 Apr 2022 10:49:58 +0200 Subject: [PATCH 237/288] Delete file: ParameterAssignmentShape. --- .../ParameterAssignmentShape.ttl | 54 ------------------- 1 file changed, 54 deletions(-) delete mode 100644 testing/communication/ParameterAssignmentShape.ttl diff --git a/testing/communication/ParameterAssignmentShape.ttl b/testing/communication/ParameterAssignmentShape.ttl deleted file mode 100644 index 79014967..00000000 --- a/testing/communication/ParameterAssignmentShape.ttl +++ /dev/null @@ -1,54 +0,0 @@ -@prefix owl: . -@prefix rdf: . -@prefix rdfs: . -@prefix xsd: . -@prefix dct: . -@prefix ids: . - -@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 ; - ] . -<<<<<<< HEAD -======= - - -shapes:ParameterAssignmentShape - a sh:NodeShape ; - sh:targetClass ids:ParameterAssignment ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameter ; - sh:nodeKind sh:IRI ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameter property must point from an ids:ParameterAssignment to an ids:Parameter."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameterValue ; - sh:class ids:Value ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameterValue property must point from an ids:ParameterAssignment to an ids:Value."@en ; - ] ; - - sh:property [ - a sh:PropertyShape ; - sh:path ids:parameterArtifact ; - sh:class ids:Artifact ; - sh:severity sh:Violation ; - sh:message " (ParameterAssignmentShape): An ids:parameterArtifact property must point from an ids:ParameterAssignment to an ids:Artifact."@en ; - ] . - ->>>>>>> parent of 8a9b118 (Replace all sh:nodeKind sh:IRI with sh:datatype xsd:anyURI.) From 7459eef6fb8bc8d4c9baa048ac89cba89da5b75e Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 7 Apr 2022 10:54:55 +0200 Subject: [PATCH 238/288] Change ids:Endpoint back to ids:Host in examples. --- version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl | 2 +- version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl b/version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl index d5c0c1f2..7f056f79 100644 --- a/version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl +++ b/version_mapping/3.1.0-4.0.0/blacklist-shapes-400.ttl @@ -22,7 +22,7 @@ shapes: shapes:HostShape a sh:NodeShape ; - sh:targetClass ids:Endpoint ; + sh:targetClass ids:Host ; sh:not [ a sh:PropertyShape ; diff --git a/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld b/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld index 687483f9..35aab7b4 100644 --- a/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld +++ b/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld @@ -60,7 +60,7 @@ "ids:endpointHost" : { - "@type" : "ids:Endpoint", + "@type" : "ids:Host", "@id" : "http://echo.ids.isst.fraunhofer.de/", @@ -121,4 +121,3 @@ } } - From bdf45cc26c68d7a4b2124f32b19b5496bf9b559d Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 7 Apr 2022 10:56:03 +0200 Subject: [PATCH 239/288] Change ids:Endpoint back to ids:Host in examples. --- .../3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl b/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl index efd2a8db..deb1b6bd 100644 --- a/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl +++ b/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl @@ -57,7 +57,7 @@ ids:CatalogUpgradeShape1 CONSTRUCT { $this rdf:type ids:ResourceCatalog . - idsm:VersionUpgrade rdf:type ids:catalog . + idsm:VersionUpgrade rdf:type ids:catalog . } WHERE {$this rdf:type ids:catalog .} """ ; @@ -84,7 +84,7 @@ ids:CatalogUpgradeShape2 CONSTRUCT { $this ids:offeredResources $offeredResources . - idsm:VersionUpgrade ids:offer $offeredResources . + idsm:VersionUpgrade ids:offer $offeredResources . } WHERE {$this ids:offer $offeredResources .} """ ; @@ -108,10 +108,10 @@ ids:CatalogUpgradeShape3 prefix ids: prefix idsc: prefix idsm: - + CONSTRUCT { $this ids:requestedResources $requestedResources . - idsm:VersionUpgrade ids:request $requestedResources . + idsm:VersionUpgrade ids:request $requestedResources . } WHERE {$this ids:request $requestedResources .} """ ; @@ -141,17 +141,17 @@ ids:ResourceUpgradeShape CONSTRUCT { $this rdf:type ids:ConnectorEndpoint . idsm:VersionUpgrade rdf:type ids:StaticEndpoint . - + $staticEndpoint ids:accessUrl $accessUrl . idsm:VersionUpgrade ids:accessUrl $accessUrl . } WHERE { $this ids:resourceEndpoint $staticEndpoint . $staticEndpoint rdf:type ids:StaticEndpoint . - + OPTIONAL { $staticEndpoint ids:endpointHost $endpointHost . - $this rdf:type ids:Endpoint . + $this rdf:type ids:Host . $this ids:accessUrl $accessUrl . } } From 75bc0cd18e664aed7e3289739171c96fc14a1d6f Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 7 Apr 2022 11:14:03 +0200 Subject: [PATCH 240/288] Revert commit 43f9002, because this is not necessary, was a mistake. --- testing/communication/EndpointShape.ttl | 6 +++--- testing/content/AssetShape.ttl | 2 +- testing/content/RepresentationShape.ttl | 2 +- testing/content/ResourceShape.ttl | 4 ++-- testing/contract/ConstraintShape.ttl | 2 +- testing/contract/RuleShape.ttl | 6 +++--- testing/infrastructure/InfrastructureComponentShape.ttl | 4 ++-- testing/security/AuthInfoShape.ttl | 2 +- testing/shared/DescribedSemanticallyShape.ttl | 2 +- testing/taxonomies/DigitalContentShape.ttl | 4 ++-- testing/taxonomies/MessageShape.ttl | 2 +- testing/taxonomies/RepresentationShape.ttl | 4 ++-- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/testing/communication/EndpointShape.ttl b/testing/communication/EndpointShape.ttl index 6479d5a1..463138d5 100644 --- a/testing/communication/EndpointShape.ttl +++ b/testing/communication/EndpointShape.ttl @@ -28,7 +28,7 @@ shapes:EndpointShape sh:property [ a sh:PropertyShape ; sh:path ids:accessURL ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (EndpointShape): An ids:acccessURL property must not have more than one point from an ids:Endpoint to an IRI."@en ; @@ -79,7 +79,7 @@ shapes:EndpointShape sh:property [ a sh:PropertyShape ; sh:path ids:endpointDocumentation ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:severity sh:Violation ; sh:message " (EndpointShape): An ids:endpointDocumentation property must point from an ids:Endpoint to an IRI."@en ; ]; @@ -100,7 +100,7 @@ shapes:ConnectorEndpointShape sh:property [ a sh:PropertyShape ; sh:path ids:accessURL ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:minCount 1; sh:maxCount 1; sh:severity sh:Violation ; diff --git a/testing/content/AssetShape.ttl b/testing/content/AssetShape.ttl index 89484731..d6d42c82 100644 --- a/testing/content/AssetShape.ttl +++ b/testing/content/AssetShape.ttl @@ -49,7 +49,7 @@ shapes:AssetCollectionShape sh:property [ a sh:PropertyShape ; sh:path ids:assetSource ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (AssetCollectionShape): An ids:assetSource property must not have more than one point from an odrl:AssetCollection to an IRI."@en ; diff --git a/testing/content/RepresentationShape.ttl b/testing/content/RepresentationShape.ttl index 3a8be0a5..baabe388 100644 --- a/testing/content/RepresentationShape.ttl +++ b/testing/content/RepresentationShape.ttl @@ -47,7 +47,7 @@ shapes:RepresentationShape a sh:PropertyShape ; sh:path ids:representationStandard ; sh:maxCount 1 ; - sh:datatype xsd:anyURI ; + 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 ; ] ; diff --git a/testing/content/ResourceShape.ttl b/testing/content/ResourceShape.ttl index eadeca8c..3205c7f5 100644 --- a/testing/content/ResourceShape.ttl +++ b/testing/content/ResourceShape.ttl @@ -70,7 +70,7 @@ shapes:ResourceShape sh:path dct:publisher ; sh:or ( [ sh:class ids:Agent ; sh:order 1 ; ] - [ sh:datatype xsd:anyURI ; sh:order 2 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -82,7 +82,7 @@ shapes:ResourceShape sh:path ids:sovereign ; sh:or ( [ sh:class ids:Agent ; sh:order 1 ; ] - [ sh:datatype xsd:anyURI ; sh:order 2 ; ] + [ sh:nodeKind sh:IRI ; sh:order 2 ; ] ) ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index a06d06f6..815a507c 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -73,7 +73,7 @@ shapes:ConstraintShape sh:property [ a sh:PropertyShape ; sh:path odrl:unit ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (ConstraintShape): An odrl:unit property must point from an odrl:Constraint to a unit via a URI."@en ; diff --git a/testing/contract/RuleShape.ttl b/testing/contract/RuleShape.ttl index 4193b584..addc6919 100644 --- a/testing/contract/RuleShape.ttl +++ b/testing/contract/RuleShape.ttl @@ -53,7 +53,7 @@ shapes:RuleShape sh:path odrl:assignee ; #sh:or ( # [ - sh:datatype xsd:anyURI ;# ] + sh:nodeKind sh:IRI ;# ] # [ sh:class ids:Participant ; #] #); sh:minCount 0 ; @@ -67,7 +67,7 @@ shapes:RuleShape sh:path odrl:assigner ; #sh:or ( # [ - sh:datatype xsd:anyURI ;# ] + sh:nodeKind sh:IRI ;# ] # [ sh:class ids:Participant ; #] #); sh:minCount 0 ; @@ -81,7 +81,7 @@ shapes:RuleShape sh:path ids:target ; #sh:or ( # [ - sh:datatype xsd:anyURI ;# ] + sh:nodeKind sh:IRI ;# ] # [ sh:class ids:Participant ; #] #); sh:maxCount 1 ; diff --git a/testing/infrastructure/InfrastructureComponentShape.ttl b/testing/infrastructure/InfrastructureComponentShape.ttl index 734f644a..68af8315 100644 --- a/testing/infrastructure/InfrastructureComponentShape.ttl +++ b/testing/infrastructure/InfrastructureComponentShape.ttl @@ -29,7 +29,7 @@ shapes:InfrastructureComponentShape sh:path ids:maintainer ; sh:or ( [ sh:class ids:Participant ; sh:order 2 ; ] - [ sh:datatype xsd:anyURI ; sh:order 1 ; ] + [ sh:nodeKind sh:IRI ; sh:order 1 ; ] ) ; sh:maxCount 1 ; sh:severity sh:Violation ; @@ -41,7 +41,7 @@ shapes:InfrastructureComponentShape sh:path ids:curator ; sh:or ( [ sh:class ids:Participant ; sh:order 2 ; ] - [ sh:datatype xsd:anyURI ; sh:order 1 ; ] + [ sh:nodeKind sh:IRI ; sh:order 1 ; ] ) ; sh:minCount 1 ; sh:maxCount 1 ; diff --git a/testing/security/AuthInfoShape.ttl b/testing/security/AuthInfoShape.ttl index 39b831ce..1d6f90dc 100644 --- a/testing/security/AuthInfoShape.ttl +++ b/testing/security/AuthInfoShape.ttl @@ -27,7 +27,7 @@ shapes:AuthInfoShape sh:property [ a sh:PropertyShape ; sh:path ids:authService ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/shared/DescribedSemanticallyShape.ttl b/testing/shared/DescribedSemanticallyShape.ttl index 4adf1209..5497c2b7 100644 --- a/testing/shared/DescribedSemanticallyShape.ttl +++ b/testing/shared/DescribedSemanticallyShape.ttl @@ -48,7 +48,7 @@ shapes:DescribedSemanticallyShape sh:property [ a sh:PropertyShape ; sh:path sh:shapesGraph ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (DescribedSemanticallyShape): An sh:shapesGraph property must point from an ids:DescribedSemantically to zero or one IRI."@en ; diff --git a/testing/taxonomies/DigitalContentShape.ttl b/testing/taxonomies/DigitalContentShape.ttl index 1cec7c3e..cf3262da 100644 --- a/testing/taxonomies/DigitalContentShape.ttl +++ b/testing/taxonomies/DigitalContentShape.ttl @@ -91,7 +91,7 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path dct:licence ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (DigitalContentShape): A dct:licence property must not have more than one point from an ids:Resource to an xsd:anyURI."@en ; @@ -167,7 +167,7 @@ shapes:DigitalContentShape sh:property [ a sh:PropertyShape ; sh:path ids:contentStandard ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (DigitalContentShape): An ids:contentStandard property must not have more than one point from an ids:DigitalContent to an IRI."@en ; diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index 2de7edec..f2e26903 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -27,7 +27,7 @@ shapes:DescriptionRequestMessage sh:property [ a sh:PropertyShape ; sh:path ids:requestedElement ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:pattern "^(?:(http(s)?|idscp|(s)?ftp))"; sh:maxCount 1 ; sh:severity sh:Violation ; diff --git a/testing/taxonomies/RepresentationShape.ttl b/testing/taxonomies/RepresentationShape.ttl index d7dba6a4..0a1352c9 100644 --- a/testing/taxonomies/RepresentationShape.ttl +++ b/testing/taxonomies/RepresentationShape.ttl @@ -27,7 +27,7 @@ shapes:DataRepresentationShape sh:property [ a sh:PropertyShape ; sh:path ids:dataType ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (DataRepresentationShape): An ids:dataType property must point from an ids:DataRepresentation to zero or one IRI."@en ; @@ -118,7 +118,7 @@ shapes:AppRepresentationShape sh:property [ a sh:PropertyShape ; sh:path ids:dataAppRuntimeEnvironment ; - sh:datatype xsd:string ; + sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (AppRepresentationShape): An ids:dataAppRuntimeEnvironment property must point from an ids:AppRepresentation to zero or one xsd:string."@en ; From b2e35f8cffdd095b6868ddc179c23bb64e723851 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Fri, 8 Apr 2022 10:12:47 +0200 Subject: [PATCH 241/288] Delete QueryScope.ttl and references --- Ontology.ttl | 1 - codes/QueryScope.ttl | 19 ------------------- examples/QUERY_MESSAGE.ttl | 1 - taxonomies/Message.ttl | 10 ---------- testing/taxonomies/MessageShape.ttl | 9 --------- 5 files changed, 40 deletions(-) delete mode 100644 codes/QueryScope.ttl diff --git a/Ontology.ttl b/Ontology.ttl index 9a0b0700..3918c98e 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -188,7 +188,6 @@ ids: owl:imports ; owl:imports ; owl:imports ; - owl:imports ; owl:imports ; owl:imports ; owl:imports ; diff --git a/codes/QueryScope.ttl b/codes/QueryScope.ttl deleted file mode 100644 index 0f5c9e7b..00000000 --- a/codes/QueryScope.ttl +++ /dev/null @@ -1,19 +0,0 @@ -@prefix owl: . -@prefix rdfs: . -@prefix dct: . -@prefix ids: . -@prefix idsc: . - - -# Instances -# --------- - -idsc:ALL a ids:QueryScope; - rdfs:label "ALL". - -idsc:ACTIVE_ONLY a ids:QueryScope; - rdfs:label "ACTIVE_ONLY". - -idsc:INACTIVE_ONLY a ids:QueryScope; - rdfs:label "INACTIVE_ONLY". - diff --git a/examples/QUERY_MESSAGE.ttl b/examples/QUERY_MESSAGE.ttl index a004ce27..7a0b5a3c 100644 --- a/examples/QUERY_MESSAGE.ttl +++ b/examples/QUERY_MESSAGE.ttl @@ -11,7 +11,6 @@ :inter2_q # Query part a ids:QueryMessage; - ids:queryScope idsc:ACTIVE_ONLY ; ids:queryLanguage idsc:SPARQL ; ids:issuerConnector conn2: ; ids:recipientConnector broker1: ; diff --git a/taxonomies/Message.ttl b/taxonomies/Message.ttl index 4517ef46..a7be0def 100644 --- a/taxonomies/Message.ttl +++ b/taxonomies/Message.ttl @@ -175,10 +175,6 @@ ids:QueryLanguage a owl:Class; rdfs:label "QueryLanguage"@en ; rdfs:comment "Class of query languages in which query strings may be formalized."@en. -ids:QueryScope a owl:Class; - rdfs:label "Query Scope"@en ; - rdfs:comment "Class of scopes that may limit the space of query results, e.g., ALL, ACTIVE_ONLY."@en. - ids:QueryTarget a owl:Class; rdfs:label "Query Target"@en ; rdfs:comment "Class of recipients of a query message, e.g., BROKER, APPSTORE, ANY."@en. @@ -189,12 +185,6 @@ ids:queryLanguage a owl:ObjectProperty; rdfs:label "queryLanguage"@en; rdfs:comment "This property specifies the language of the query."@en. -ids:queryScope a owl:ObjectProperty; - rdfs:label "queryScope"@en; - rdfs:domain ids:QueryMessage; - rdfs:range ids:QueryScope; - rdfs:comment "Refers to the scope property of a query message, see ids:QueryScope."@en. - ids:recipientScope a owl:ObjectProperty; rdfs:label "recipient scope"@en; rdfs:domain ids:QueryMessage; diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index d3aae85e..f817c21d 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -67,15 +67,6 @@ shapes:QueryMessageShape sh:message " (QueryMessageShape): An ids:queryLanguage property must point from an ids:QueryMessage to zero or one ids:QueryLanguage."@en ; ] ; - sh:property [ - a sh:PropertyShape ; - sh:path ids:queryScope ; - sh:class ids:QueryScope ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (QueryMessageShape): An ids:querySceope property must point from an ids:QueryMessage to zero or one ids:QueryScope."@en ; - ] ; - sh:property [ a sh:PropertyShape ; sh:path ids:recipientScope ; From bf770bec67f773a87f38d69a671a830912c08555 Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 21 Apr 2022 10:39:30 +0200 Subject: [PATCH 242/288] Remove deleted ParameterAssignmentShape SHACL import --- Shacl.ttl | 1 - 1 file changed, 1 deletion(-) diff --git a/Shacl.ttl b/Shacl.ttl index 8f127d84..8483f5a3 100644 --- a/Shacl.ttl +++ b/Shacl.ttl @@ -74,7 +74,6 @@ shapes: owl:imports ; owl:imports ; owl:imports ; - owl:imports ; owl:imports ; owl:imports ; owl:imports ; From 559415baa244f7477c0df4fd474fc6b3fb94ca8c Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 21 Apr 2022 10:44:52 +0200 Subject: [PATCH 243/288] Linguistic improvements --- taxonomies/Representation.ttl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/taxonomies/Representation.ttl b/taxonomies/Representation.ttl index 29442d9f..ed010fe4 100644 --- a/taxonomies/Representation.ttl +++ b/taxonomies/Representation.ttl @@ -92,13 +92,12 @@ ids:dataAppInformation a owl:ObjectProperty ; ids:dataAppDistributionService a owl:DatatypeProperty ; rdfs:label "data app distribution service"@en ; - rdfs:comment "IRI reference to storage and distribution system for the correspending data app. Unlinke regular representations for IDS resources, a data app may not be retrieved directly from a connector but from a separate registry instead."@en ; + rdfs:comment "IRI reference to storage and distribution system for the corresponding data app. Unlike regular representations for IDS resources, a data app may not be retrieved directly from a connector but from a separate registry instead."@en ; rdfs:domain ids:AppRepresentation ; - rdfs:range xsd:anyURI . + rdfs:range xsd:anyURI . ids:dataAppRuntimeEnvironment a owl:DatatypeProperty; rdfs:label "data app runtime environment"@en ; rdfs:domain ids:AppRepresentation ; rdfs:range xsd:string ; rdfs:comment "Runtime environment of a data app, e.g., software (or hardware) required to run the app."@en . - \ No newline at end of file From 641864946df102a0cbb54cd92fbc172f03002afb Mon Sep 17 00:00:00 2001 From: Johannes Lipp Date: Thu, 21 Apr 2022 10:45:49 +0200 Subject: [PATCH 244/288] Update validation messages to latest changes --- testing/taxonomies/RepresentationShape.ttl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/testing/taxonomies/RepresentationShape.ttl b/testing/taxonomies/RepresentationShape.ttl index 0a1352c9..acf193a0 100644 --- a/testing/taxonomies/RepresentationShape.ttl +++ b/testing/taxonomies/RepresentationShape.ttl @@ -112,7 +112,7 @@ shapes:AppRepresentationShape sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AppRepresentationShape): An ids:dataAppDistributionService property must point from an ids:AppRepresentation to zero or one IRI."@en ; + sh:message " (AppRepresentationShape): An ids:dataAppDistributionService property must point from an ids:AppRepresentation to zero or one xsd:anyURI."@en ; ]; sh:property [ @@ -121,7 +121,6 @@ shapes:AppRepresentationShape sh:nodeKind sh:IRI ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (AppRepresentationShape): An ids:dataAppRuntimeEnvironment property must point from an ids:AppRepresentation to zero or one xsd:string."@en ; + sh:message " (AppRepresentationShape): An ids:dataAppRuntimeEnvironment property must point from an ids:AppRepresentation to zero or one IRI."@en ; ]; - . From 2818ea97c3090f42b1e30df05dba5253a3953670 Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Thu, 21 Apr 2022 15:38:20 +0200 Subject: [PATCH 245/288] Add milestone validation to checklist --- .github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md index f2eb3db0..8e6be4bc 100644 --- a/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md @@ -12,6 +12,7 @@ ### 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 From c6cfb29f28a5453a7a455b6ce82311966b0a5c9e Mon Sep 17 00:00:00 2001 From: Sebastian Bader Date: Tue, 26 Apr 2022 11:51:54 +0200 Subject: [PATCH 246/288] Make the pipEndpoint optional There must be a possibility to create a Constraint without any pipEndpoint attribute. (And some further formatting suggestions to look better in the browser.) --- testing/contract/ConstraintShape.ttl | 83 ++++++++++++++-------------- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/testing/contract/ConstraintShape.ttl b/testing/contract/ConstraintShape.ttl index 815a507c..a3d10c31 100644 --- a/testing/contract/ConstraintShape.ttl +++ b/testing/contract/ConstraintShape.ttl @@ -41,33 +41,33 @@ shapes:ConstraintShape sh:path odrl:operator ; sh:class ids:BinaryOperator ; sh:minCount 1 ; - sh:maxCount 1 ; + sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (ConstraintShape): An odrl:Constraint must have exactly one ids:BinaryOperator linked through the odrl:operator property"@en ; ] ; sh:xone ( - [ - sh:property [ - a sh:PropertyShape ; - sh:path odrl:rightOperand ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (ConstraintShape): Exactly one odrl:rightOperand property must point from an ids::Constraint to Literals or rdfs:Resources. Note that odrl:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; + [ + sh:property [ + a sh:PropertyShape ; + sh:path odrl:rightOperand ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (ConstraintShape): Exactly one odrl:rightOperand property must point from an ids::Constraint to Literals or rdfs:Resources. Note that odrl:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; + ] ] - ] - [ - sh:property [ - a sh:PropertyShape ; - sh:path odrl:rightOperandReference ; - sh:nodeKind sh:IRI ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:severity sh:Violation ; - sh:message " (ConstraintShape): Exactly one odrl:rightOperandReference property must point from an ids::Constraint to an IRI. Note that odrl:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; + [ + sh:property [ + a sh:PropertyShape ; + sh:path odrl:rightOperandReference ; + sh:nodeKind sh:IRI ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:severity sh:Violation ; + sh:message " (ConstraintShape): Exactly one odrl:rightOperandReference property must point from an ids::Constraint to an IRI. Note that odrl:rightOperand and odrl:rightOperandReference cannot be used in the same statement."@en ; + ] ] - ] ) ; sh:property [ @@ -83,7 +83,6 @@ shapes:ConstraintShape a sh:PropertyShape ; sh:path ids:pipEndpoint ; sh:class ids:PIP ; - sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; sh:message " (ConstraintShape): An ids:pipEndpoint property must have exactly one point from an odrl:Constraint to an ids:PIP."@en ; @@ -95,27 +94,27 @@ shapes:LogicalConstraintShape a sh:NodeShape ; sh:targetClass odrl:LogicalConstraint ; sh:xone ( - [ - sh:path odrl:and ; - sh:minCount 1 ; - #sh:maxCount 1 ; - sh:class odrl:Constraint ; - sh:severity sh:Violation ; - ] - [ - sh:path odrl:or ; - sh:minCount 1 ; - #sh:maxCount 1 ; - sh:class odrl:Constraint ; - sh:severity sh:Violation ; - ] - [ - sh:path odrl:xone ; - sh:minCount 1 ; - #sh:maxCount 1 ; - sh:class odrl:Constraint ; - sh:severity sh:Violation ; - ] + [ + sh:path odrl:and ; + sh:minCount 1 ; + #sh:maxCount 1 ; + sh:class odrl:Constraint ; + sh:severity sh:Violation ; + ] + [ + sh:path odrl:or ; + sh:minCount 1 ; + #sh:maxCount 1 ; + sh:class odrl:Constraint ; + sh:severity sh:Violation ; + ] + [ + sh:path odrl:xone ; + sh:minCount 1 ; + #sh:maxCount 1 ; + sh:class odrl:Constraint ; + sh:severity sh:Violation ; + ] ) ; sh:message " (LogicalConstraintShape): Exactly one odrl:and, odrl:or, or odrl:xone property must point from an odrl:LogicalConstraint to odrl:Constraint."@en ; . From 9ee3ab4b25b957d20f4eae866eda0db5d2b6cc11 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Fri, 29 Apr 2022 17:24:13 +0200 Subject: [PATCH 247/288] Add rdfs:subClassOf ids:Described for Representation, Catalog, Artifacts and Routes --- model/communication/AppRoute.ttl | 1 + model/content/Artifact.ttl | 2 +- model/infrastructure/Catalog.ttl | 14 +++++++------- taxonomies/Representation.ttl | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/model/communication/AppRoute.ttl b/model/communication/AppRoute.ttl index dbc702f0..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. diff --git a/model/content/Artifact.ttl b/model/content/Artifact.ttl index 57aa33da..6cf21d7a 100644 --- a/model/content/Artifact.ttl +++ b/model/content/Artifact.ttl @@ -13,7 +13,7 @@ ids:Artifact a owl:Class; - rdfs:subClassOf odrl:Asset, ids:RepresentationInstance; # dcat:Distribution partial subclass of dcat:Distribution w.r.t materialization aspects + rdfs:subClassOf odrl:Asset, ids:RepresentationInstance, ids:Described; # dcat:Distribution partial subclass of dcat:Distribution w.r.t materialization aspects rdfs:label "Artifact"@en ; rdfs:comment "Instance of a Representation materialized at a partiuclar version and point in time. Possesses characteristics like file name, size, creation date etc."@en ; owl:disjointWith ids:Value . diff --git a/model/infrastructure/Catalog.ttl b/model/infrastructure/Catalog.ttl index 1901c2df..72736649 100644 --- a/model/infrastructure/Catalog.ttl +++ b/model/infrastructure/Catalog.ttl @@ -12,35 +12,35 @@ ids:ResourceCatalog a owl:Class; - rdfs:subClassOf dcat:Catalog, odrl:AssetCollection; + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described ; rdfs:label "Resource Catalog"@en ; rdfs:comment "Class that aggregates Resources from a (distributable) Catalog."@en ; . ids:ParticipantCatalog a owl:Class; - rdfs:subClassOf dcat:Catalog, odrl:AssetCollection; + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described rdfs:label "Participant Catalog"@en ; rdfs:comment "Class that aggregates Participants from a (distributable) Catalog."@en ; . ids:ConnectorCatalog a owl:Class; - rdfs:subClassOf dcat:Catalog, odrl:AssetCollection; + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described ; rdfs:label "Connector Catalog"@en ; rdfs:comment "Class that aggregates Connectors from a (distributable) Catalog."@en ; . ids:BrokerCatalog a owl:Class; - rdfs:subClassOf ids:ConnectorCatalog; + rdfs:subClassOf ids:ConnectorCatalog, ids:Described; rdfs:label "Broker Catalog"@en ; rdfs:comment "Class that aggregates Brokers from a (distributable) Catalog."@en ; . ids:AppStoreCatalog a owl:Class; - rdfs:subClassOf ids:ConnectorCatalog; + rdfs:subClassOf ids:ConnectorCatalog, ids:Described; rdfs:label "AppStore Catalog"@en ; rdfs:comment "Class that aggregates AppStores from a (distributable) Catalog."@en ; . @@ -48,14 +48,14 @@ ids:AppStoreCatalog # TODO: Align with ResourceCatalog ids:AppResourceCatalog a owl:Class; - rdfs:subClassOf dcat:Catalog, odrl:AssetCollection; + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described; rdfs:label "App Resource Catalog"@en ; rdfs:comment "Class that aggregates App Resources from a (distributable) Catalog. May be used to list installed apps in a component."@en ; . ids:ClearingHouseCatalog - rdfs:subClassOf dcat:Catalog, odrl:AssetCollection; a owl:Class; + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described; rdfs:label "Clearing House Catalog"@en ; rdfs:comment "Class that aggregates Clearing Houses from a (distributable) Catalog."@en ; . diff --git a/taxonomies/Representation.ttl b/taxonomies/Representation.ttl index 29442d9f..01f2770b 100644 --- a/taxonomies/Representation.ttl +++ b/taxonomies/Representation.ttl @@ -12,7 +12,7 @@ ids:DataRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution ; + rdfs:subClassOf dcat:Distribution, ids:Described ; rdfs:label "Data representation"@en ; rdfs:comment "Physical representation of (structured) data."@en . From 5a112fe67aba9049a971696710cc3f8a1119ad44 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Fri, 29 Apr 2022 17:34:09 +0200 Subject: [PATCH 248/288] Add missing ; and remaining subclasses for Representations --- model/content/Artifact.ttl | 2 +- model/infrastructure/Catalog.ttl | 10 +++++----- taxonomies/Representation.ttl | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/model/content/Artifact.ttl b/model/content/Artifact.ttl index 6cf21d7a..a2481319 100644 --- a/model/content/Artifact.ttl +++ b/model/content/Artifact.ttl @@ -13,7 +13,7 @@ ids:Artifact a owl:Class; - rdfs:subClassOf odrl:Asset, ids:RepresentationInstance, ids:Described; # dcat:Distribution partial subclass of dcat:Distribution w.r.t materialization aspects + rdfs:subClassOf odrl:Asset, ids:RepresentationInstance, ids:Described ; # dcat:Distribution partial subclass of dcat:Distribution w.r.t materialization aspects rdfs:label "Artifact"@en ; rdfs:comment "Instance of a Representation materialized at a partiuclar version and point in time. Possesses characteristics like file name, size, creation date etc."@en ; owl:disjointWith ids:Value . diff --git a/model/infrastructure/Catalog.ttl b/model/infrastructure/Catalog.ttl index 72736649..bdf3f665 100644 --- a/model/infrastructure/Catalog.ttl +++ b/model/infrastructure/Catalog.ttl @@ -19,7 +19,7 @@ ids:ResourceCatalog ids:ParticipantCatalog a owl:Class; - rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described ; rdfs:label "Participant Catalog"@en ; rdfs:comment "Class that aggregates Participants from a (distributable) Catalog."@en ; . @@ -33,14 +33,14 @@ ids:ConnectorCatalog ids:BrokerCatalog a owl:Class; - rdfs:subClassOf ids:ConnectorCatalog, ids:Described; + rdfs:subClassOf ids:ConnectorCatalog, ids:Described ; rdfs:label "Broker Catalog"@en ; rdfs:comment "Class that aggregates Brokers from a (distributable) Catalog."@en ; . ids:AppStoreCatalog a owl:Class; - rdfs:subClassOf ids:ConnectorCatalog, ids:Described; + rdfs:subClassOf ids:ConnectorCatalog, ids:Described ; rdfs:label "AppStore Catalog"@en ; rdfs:comment "Class that aggregates AppStores from a (distributable) Catalog."@en ; . @@ -48,14 +48,14 @@ ids:AppStoreCatalog # TODO: Align with ResourceCatalog ids:AppResourceCatalog a owl:Class; - rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described; + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described ; rdfs:label "App Resource Catalog"@en ; rdfs:comment "Class that aggregates App Resources from a (distributable) Catalog. May be used to list installed apps in a component."@en ; . ids:ClearingHouseCatalog a owl:Class; - rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described; + rdfs:subClassOf dcat:Catalog, odrl:AssetCollection, ids:Described ; rdfs:label "Clearing House Catalog"@en ; rdfs:comment "Class that aggregates Clearing Houses from a (distributable) Catalog."@en ; . diff --git a/taxonomies/Representation.ttl b/taxonomies/Representation.ttl index 01f2770b..37103fbf 100644 --- a/taxonomies/Representation.ttl +++ b/taxonomies/Representation.ttl @@ -31,12 +31,12 @@ ids:dataTypeSchema a owl:ObjectProperty ; rdfs:comment "Indicates the data type schema of the Representation."@en . ids:TextRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution ; + rdfs:subClassOf dcat:Distribution, ids:Described ; rdfs:label "Text representation"@en ; rdfs:comment "Representation of a textual content."@en . ids:AudioRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution ; + rdfs:subClassOf dcat:Distribution, ids:Described ; rdfs:label "Audio Representation"@en ; rdfs:comment "Audio representation"@en . @@ -47,7 +47,7 @@ ids:samplingRate a owl:DatatypeProperty ; rdfs:comment "Audio sampling rate."@en . ids:ImageRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution ; + rdfs:subClassOf dcat:Distribution, ids:Described ; rdfs:label "Image Representation"@en ; rdfs:comment "Image representation"@en . @@ -64,7 +64,7 @@ ids:height a owl:DatatypeProperty ; rdfs:comment "Height of the visible frame."@en . ids:VideoRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution ; + rdfs:subClassOf dcat:Distribution, ids:Described ; rdfs:label "Video Representation"@en ; rdfs:comment "Video representation"@en . @@ -75,7 +75,7 @@ ids:frameRate a owl:DatatypeProperty ; rdfs:comment "Video frame rate, as frames/second."@en . ids:SoftwareRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution ; + rdfs:subClassOf dcat:Distribution, ids:Described ; rdfs:label "Software Representation"@en ; rdfs:comment "Software representation"@en . From 1b15b514af23c014bd72b786a59636ea8fd176f7 Mon Sep 17 00:00:00 2001 From: Chang Qin Date: Thu, 12 May 2022 13:11:26 +0200 Subject: [PATCH 249/288] fixed callBackURL to callbackAddress --- taxonomies/Message.ttl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/taxonomies/Message.ttl b/taxonomies/Message.ttl index b5a3149a..c35cac7f 100644 --- a/taxonomies/Message.ttl +++ b/taxonomies/Message.ttl @@ -60,12 +60,12 @@ ids:rejectionReason a owl:ObjectProperty; rdfs:label "rejectionReason"@en; rdfs:comment "Specifies the reason of the rejection."@en. -# CallBack URL +# CallBack Address # ------------ -ids:callbackURL a owl:DatatypeProperty; - rdfs:label "callback URL"@en; - rdfs:comment "A callback URL must be provided in a request message and a notification message. "@en; +ids:callbackAddress a owl:DatatypeProperty; + rdfs:label "callback address"@en; + rdfs:comment "A callback address must be provided in a request message and a notification message. "@en; rdfs:domain [ owl:unionOf (ids:RequestMessage ids:NotificationMessage )]; rdfs:range xsd:anyURI. From 928bb21f6f71d8a40f6efb6596c54cca71afdb29 Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Thu, 12 May 2022 13:26:26 +0200 Subject: [PATCH 250/288] Update MessageShape.ttl --- testing/taxonomies/MessageShape.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/taxonomies/MessageShape.ttl b/testing/taxonomies/MessageShape.ttl index d5d6216b..76dcc7f4 100644 --- a/testing/taxonomies/MessageShape.ttl +++ b/testing/taxonomies/MessageShape.ttl @@ -341,7 +341,7 @@ shapes:ArtifactRequestMessageShape sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (Artifactshapes:requestmessageShapeShape): An ids:ArtifactRequestMessage must have exactly one IRI reference to an ids:Artifact linked through the ids:requestedArtifact property"@en ; + sh:message " (ArtifactRequestMessageShape): An ids:ArtifactRequestMessage must have exactly one IRI reference to an ids:Artifact linked through the ids:requestedArtifact property"@en ; ] . From 5d75ea46638a178d9469ec0deee3862fe429af75 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Fri, 13 May 2022 14:45:26 +0200 Subject: [PATCH 251/288] Update Changelog, Ontology.ttl, Shacl.ttl for Version 4.2.0 --- CHANGELOG.md | 19 ++++++++-- Ontology.ttl | 97 ++++++++++++++++++++++++++-------------------------- Shacl.ttl | 54 ++++++++++++++--------------- 3 files changed, 93 insertions(+), 77 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 609019d6..0e6eca03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,14 +4,29 @@ 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] 2021-09-30 -Pre-release version 4.2.0 of the IDS Information Model +## [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 + +### Changed + +* `ids:Representation` is now subclass of `ids:Described` giving instances a title- and description label. + +### Removed + +* Remove `ids:magicNumber` from `ids:MediaType` ## [4.1.0] 2021-05-26 Version 4.1.0 of the IDS Information Model diff --git a/Ontology.ttl b/Ontology.ttl index 9a0b0700..4d452cb6 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -38,7 +38,7 @@ ids: ; dct:publisher ids:IDSA ; dct:created "2017-09-26"^^xsd:date ; - dct:modified "2021-10-07"^^xsd:date ; + dct:modified "2022-05-13"^^xsd:date ; owl:versionInfo "4.2.0" ; owl:versionIRI ; vann:preferredNamespaceUri "https://w3id.org/idsa/core/" ; @@ -103,7 +103,7 @@ _:AnnaKasprzik a dct:Agent, foaf:Person ; foaf:name "Maarten Kollenstart" ; . a dct:Agent, foaf:Person ; - foaf:name "Johannes Theissen-Lipp" ; + foaf:name "Johannes Lipp" ; . a dct:Agent, foaf:Person ; foaf:name "Lina Molinas Comet" ; @@ -111,88 +111,89 @@ _:AnnaKasprzik a dct:Agent, foaf:Person ; # ---------------------------- # 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 ; - owl:imports ; - owl:imports ; - owl:imports ; . diff --git a/Shacl.ttl b/Shacl.ttl index 8f127d84..cb8ced7f 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-05-13"^^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,61 @@ 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 ; . From 94d510396350105eada7400f3015b33e9922ad08 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Fri, 13 May 2022 15:52:31 +0200 Subject: [PATCH 252/288] Fix missing slash --- testing/participant/BusinessIdentifierShape.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ; From 5ff3a0c06fdaa8230d4a846462a3392f1e63c975 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Tue, 24 May 2022 17:16:29 +0200 Subject: [PATCH 253/288] Add owl:imports support in SHACL Validator to use Ontology.ttl in root --- .../java/SHACL_Validator.java | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/examples/rdf-validation-using-shacl/java/SHACL_Validator.java b/examples/rdf-validation-using-shacl/java/SHACL_Validator.java index 5aa4e860..f5ed5598 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,6 +13,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.topbraid.jenax.util.JenaUtil; + import java.io.ByteArrayInputStream; import java.io.IOException; import java.net.MalformedURLException; @@ -22,7 +25,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. @@ -41,9 +43,13 @@ public class SHACL_Validator { **/ public static void main(String[] args) { try { - SHACL_Validator validator = new SHACL_Validator(args[0], args[1], args[2]); - validator.validateRDF(); - } catch (IOException | NullPointerException e) { + List instance_paths = Files.walk(Paths.get(args[2])) + .filter(p -> p.toString().endsWith(".jsonld")).collect(Collectors.toList()); + for (Path p : instance_paths){ + SHACL_Validator validator = new SHACL_Validator(args[0], args[1], p); + validator.validateRDF(); + } + } catch (Exception e) { e.printStackTrace(); } } @@ -55,10 +61,11 @@ public static void main(String[] args) { * @param instance_path path to 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, Path instance_path) 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_path = instance_path; } /** @@ -74,8 +81,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_path.toString() + " failed"); + System.out.println(String.valueOf(report.getEntries())); } else { System.out.println("Validation successful"); @@ -106,7 +113,8 @@ 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(); @@ -133,14 +141,17 @@ private Shapes readSHACL() throws IOException { //Get all regular SHACL files System.out.println(this.shacl_path); Stream paths = Files.walk(this.shacl_path) - .filter(p -> p.toString().endsWith(".ttl")); + .filter(p -> p.toString().endsWith(".ttl")); List result = paths.filter(Files::isRegularFile) - .map(Path::toString) - .collect(Collectors.toList()); + .map(Path::toString) + .collect(Collectors.toList()); // generate SHACL shapes graph result.forEach(file -> shapesModel.read(file, FileUtils.langTurtle)); + + //System.out.println(shapesModel.toString()); + shapes = Shapes.parse(shapesModel); return shapes; From 1b4d832f49c00ca883e9a0f31facbd3d80dd880e Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Mon, 30 May 2022 16:13:33 +0200 Subject: [PATCH 254/288] Remove example failing SHACL tests --- examples/BROKER.ttl | 2 -- examples/DAT_PAYLOAD.jsonld | 11 ----------- 2 files changed, 13 deletions(-) delete mode 100644 examples/DAT_PAYLOAD.jsonld diff --git a/examples/BROKER.ttl b/examples/BROKER.ttl index df1beeae..b06d1e1b 100644 --- a/examples/BROKER.ttl +++ b/examples/BROKER.ttl @@ -1,12 +1,10 @@ @prefix ids: . @prefix idsc: . @prefix xsd: . -@prefix idsc: . @prefix part1: . @prefix conn2: . @prefix broker1: . - broker1: a ids:Broker; # General properties 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" -} From 2bb10e7fdef1b5c3a90669179c70fdbf6f0211c8 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Mon, 30 May 2022 17:02:31 +0200 Subject: [PATCH 255/288] Fix typo --- examples/TEXT_RESOURCE.jsonld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/TEXT_RESOURCE.jsonld b/examples/TEXT_RESOURCE.jsonld index 6db24f40..43cba73d 100644 --- a/examples/TEXT_RESOURCE.jsonld +++ b/examples/TEXT_RESOURCE.jsonld @@ -7,7 +7,7 @@ "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "xsd": "http://www.w3.org/2001/XMLSchema#", "time": "http://www.w3.org/2006/time#", - "odrl:" "http://www.w3.org/ns/odrl/2/", + "odrl": "http://www.w3.org/ns/odrl/2/", "dct": "http://purl.org/dc/terms/" }, "@type": "ids:TextResource", From 1bea9596cf13cd72b5aa40269774baa9ce8d6e1e Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Tue, 31 May 2022 14:56:39 +0200 Subject: [PATCH 256/288] Fix Changelog --- CHANGELOG.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e6eca03..a831dc3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,14 +19,7 @@ Version 4.2.0 of the IDS Information Model * Title (`ids:title`) and description (`ids:description`) properties for `ids:Representation`. * Shapes for AppResources * Class UsageControlComponent and Shape - -### Changed - -* `ids:Representation` is now subclass of `ids:Described` giving instances a title- and description label. - -### Removed - -* Remove `ids:magicNumber` from `ids:MediaType` +* `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 From 7364ace7b497baf3f464c69e3d5ce41a8dd47936 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Tue, 31 May 2022 15:07:06 +0200 Subject: [PATCH 257/288] Restore deleted Ontology.ttl imports --- Ontology.ttl | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Ontology.ttl b/Ontology.ttl index c65e7645..c0963a68 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -111,28 +111,43 @@ _:AnnaKasprzik a dct:Agent, foaf:Person ; # ---------------------------- # 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 ; @@ -141,18 +156,27 @@ 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 ; @@ -162,13 +186,19 @@ 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 ; @@ -182,8 +212,12 @@ 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 ; @@ -193,8 +227,16 @@ 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 ; . From 7fd5177f7a7e21c8136af7cc8f22f1a2705ee967 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 10:42:42 +0200 Subject: [PATCH 258/288] Re-create Ontology and Shacl --- Ontology.ttl | 46 ++---------------------------------------- Shacl.ttl | 56 +++++++++++++++++++++++++++------------------------- 2 files changed, 31 insertions(+), 71 deletions(-) diff --git a/Ontology.ttl b/Ontology.ttl index c0963a68..c849ae3d 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -38,7 +38,7 @@ ids: ; dct:publisher ids:IDSA ; dct:created "2017-09-26"^^xsd:date ; - dct:modified "2022-05-13"^^xsd:date ; + dct:modified "2022-06-01"^^xsd:date ; owl:versionInfo "4.2.0" ; owl:versionIRI ; vann:preferredNamespaceUri "https://w3id.org/idsa/core/" ; @@ -111,43 +111,28 @@ _:AnnaKasprzik a dct:Agent, foaf:Person ; # ---------------------------- # 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 ; @@ -156,27 +141,18 @@ 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 ; @@ -186,19 +162,13 @@ 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 ; @@ -212,12 +182,8 @@ 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 ; @@ -227,16 +193,8 @@ 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 ; . diff --git a/Shacl.ttl b/Shacl.ttl index 8f127d84..00efcce8 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-06-01"^^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,63 @@ 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 ; + owl:imports ; . From 3354afc446723f2bdb1efbaa71ef14986a8ef8d0 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 13:12:07 +0200 Subject: [PATCH 259/288] Restore version_mapping/ files to state from main --- .../UpgradeShapes-3.0.0-to-3.1.0.ttl | 32 +++++++++---------- .../example-instance-from-310.jsonld | 1 + .../3.1.0-4.0.0/example-instance-from-310.ttl | 9 ++---- .../3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl | 25 +++++++-------- 4 files changed, 31 insertions(+), 36 deletions(-) diff --git a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl index 03c46fbb..99343ade 100644 --- a/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl +++ b/version_mapping/3.0.0-3.1.0/UpgradeShapes-3.0.0-to-3.1.0.ttl @@ -4,8 +4,6 @@ @prefix schema: . @prefix sh: . @prefix xsd: . -@prefix dct: . -@prefix dcat: . @prefix ids: . @@ -132,15 +130,15 @@ ids:MessageUpgradeShape $this ids:contractRejectionReason ?newContractRejectionReason . idsm:VersionUpgrade ids:contractRejectionReason ?oldContractRejectionReason. - $this dct:issued ?newIssued . - idsm:VersionUpgrade dct:issued ?oldIssued. + $this ids:issued ?newIssued . + idsm:VersionUpgrade ids:issued ?oldIssued. } WHERE { OPTIONAL {$this ids:contractRejectionReason ?oldContractRejectionReason .} BIND(STRDT(STR(?oldContractRejectionReason), xsd:string) AS ?newContractRejectionReason) - OPTIONAL {$this dct:issued ?oldIssued .} + OPTIONAL {$this ids:issued ?oldIssued .} BIND(if(regex(?oldIssued, ".*(Z|(\+|-)[0-9][0-9]:[0-9][0-9])"), oldIssued, STRDT(CONCAT(STR(?oldIssued),"Z"), xsd:dateTimeStamp ) @@ -170,11 +168,11 @@ ids:ArtifactUpgradeShape prefix idsm: CONSTRUCT { - $this dct:created ?newCreationDate . - idsm:VersionUpgrade dct:created ?oldCreationDate. + $this ids:creationDate ?newCreationDate . + idsm:VersionUpgrade ids:creationDate ?oldCreationDate. } WHERE { - OPTIONAL {$this dct:created ?oldCreationDate .} + OPTIONAL {$this ids:creationDate ?oldCreationDate .} BIND(if(regex(?oldCreationDate, ".*(Z|(\+|-)[0-9][0-9]:[0-9][0-9])"), oldCreationDate, @@ -205,17 +203,17 @@ ids:DescribedUpgradeShape prefix idsm: CONSTRUCT { - $this dct:description ?newDescription . - idsm:VersionUpgrade dct:description ?oldDescription. + $this ids:description ?newDescription . + idsm:VersionUpgrade ids:description ?oldDescription. - $this dct:title ?newTitle . - idsm:VersionUpgrade dct:title ?oldTitle. + $this ids:title ?newTitle . + idsm:VersionUpgrade ids:title ?oldTitle. } WHERE { - OPTIONAL {$this dct:description ?oldDescription .} + OPTIONAL {$this ids:description ?oldDescription .} BIND(STRDT(STR(?oldDescription), xsd:string) AS ?newDescription) - OPTIONAL {$this dct:title ?oldTitle .} + OPTIONAL {$this ids:title ?oldTitle .} BIND(STRDT(STR(?oldTitle), xsd:string) AS ?newTitle) } """ ; @@ -242,11 +240,11 @@ ids:DigitalContentUpgradeShape prefix idsm: CONSTRUCT { - $this dcat:keyword ?newKeyword . - idsm:VersionUpgrade dcat:keyword ?oldKeyword. + $this ids:keyword ?newKeyword . + idsm:VersionUpgrade ids:keyword ?oldKeyword. } WHERE { - OPTIONAL {$this dcat:keyword ?oldKeyword .} + OPTIONAL {$this ids:keyword ?oldKeyword .} BIND(STRDT(STR(?oldKeyword), xsd:string) AS ?newKeyword) } """ ; diff --git a/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld b/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld index 35aab7b4..e53a4d7d 100644 --- a/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld +++ b/version_mapping/3.1.0-4.0.0/example-instance-from-310.jsonld @@ -121,3 +121,4 @@ } } + diff --git a/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl b/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl index e9703563..28209094 100644 --- a/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl +++ b/version_mapping/3.1.0-4.0.0/example-instance-from-310.ttl @@ -1,8 +1,5 @@ @prefix ids: . @prefix xsd: . -@prefix dcat: . -@prefix dct: . - a , ; @@ -16,14 +13,14 @@ ids:securityProfile . - a dcat:Catalog ; + a ids:Catalog ; ids:offer . a ids:Resource ; - dct:description "Echo Service for the IDS-LAB."@en ; + ids:description "Echo Service for the IDS-LAB."@en ; ids:resourceEndpoint ; - dct:title "Echo Service"@en . + ids:title "Echo Service"@en . a ids:StaticEndpoint ; diff --git a/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl b/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl index deb1b6bd..b3c057ae 100644 --- a/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl +++ b/version_mapping/3.1.0-4.0.0/upgrade-shapes-310-to-400.ttl @@ -3,7 +3,6 @@ @prefix rdfs: . @prefix schema: . @prefix sh: . -@prefix dcat: . @prefix xsd: . @prefix ids: . @@ -40,7 +39,7 @@ ids:BaseConnectorUpgradeShape ids:CatalogUpgradeShape1 a sh:NodeShape ; - sh:targetClass dcat:Catalog ; + sh:targetClass ids:Catalog ; sh:rule [ a sh:SPARQLRule ; sh:prefixes ids: ; @@ -57,17 +56,17 @@ ids:CatalogUpgradeShape1 CONSTRUCT { $this rdf:type ids:ResourceCatalog . - idsm:VersionUpgrade rdf:type ids:catalog . + idsm:VersionUpgrade rdf:type ids:catalog . } WHERE {$this rdf:type ids:catalog .} """ ; - sh:condition dcat:Catalog ; # Rules only apply if the input matches the respective shape + sh:condition ids:Catalog ; # Rules only apply if the input matches the respective shape ] ; . ids:CatalogUpgradeShape2 a sh:NodeShape ; - sh:targetClass dcat:Catalog ; + sh:targetClass ids:Catalog ; sh:rule [ a sh:SPARQLRule ; sh:prefixes ids: ; @@ -84,17 +83,17 @@ ids:CatalogUpgradeShape2 CONSTRUCT { $this ids:offeredResources $offeredResources . - idsm:VersionUpgrade ids:offer $offeredResources . + idsm:VersionUpgrade ids:offer $offeredResources . } WHERE {$this ids:offer $offeredResources .} """ ; - sh:condition dcat:Catalog ; # Rules only apply if the input matches the respective shape + sh:condition ids:Catalog ; # Rules only apply if the input matches the respective shape ] ; . ids:CatalogUpgradeShape3 a sh:NodeShape ; - sh:targetClass dcat:Catalog ; + sh:targetClass ids:Catalog ; sh:rule [ a sh:SPARQLRule ; sh:prefixes ids: ; @@ -108,14 +107,14 @@ ids:CatalogUpgradeShape3 prefix ids: prefix idsc: prefix idsm: - + CONSTRUCT { $this ids:requestedResources $requestedResources . - idsm:VersionUpgrade ids:request $requestedResources . + idsm:VersionUpgrade ids:request $requestedResources . } WHERE {$this ids:request $requestedResources .} """ ; - sh:condition dcat:Catalog ; # Rules only apply if the input matches the respective shape + sh:condition ids:Catalog ; # Rules only apply if the input matches the respective shape ] ; . @@ -141,14 +140,14 @@ ids:ResourceUpgradeShape CONSTRUCT { $this rdf:type ids:ConnectorEndpoint . idsm:VersionUpgrade rdf:type ids:StaticEndpoint . - + $staticEndpoint ids:accessUrl $accessUrl . idsm:VersionUpgrade ids:accessUrl $accessUrl . } WHERE { $this ids:resourceEndpoint $staticEndpoint . $staticEndpoint rdf:type ids:StaticEndpoint . - + OPTIONAL { $staticEndpoint ids:endpointHost $endpointHost . $this rdf:type ids:Host . From a171b4929270fd7e65368de20e1a5499ba472806 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 13:50:23 +0200 Subject: [PATCH 260/288] Delete codes/Mediatype.ttl as it does not contain any triples --- codes/Mediatype.ttl | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 codes/Mediatype.ttl diff --git a/codes/Mediatype.ttl b/codes/Mediatype.ttl deleted file mode 100644 index 1db55569..00000000 --- a/codes/Mediatype.ttl +++ /dev/null @@ -1,14 +0,0 @@ -@prefix owl: . -@prefix rdfs: . -@prefix ids: . -@prefix idsc: . - -# -# a ids:IANAMediaType ; -# rdfs:label "JSON"@en ; -# rdfs:comment "JSON media type."@en. - -#idsc:OTHER_MEDIATYPE -# a ids:CustomMediaType ; -# rdfs:label "Other mediatype"@en ; -# rdfs:comment "Other custom mediatype."@en. From 60ab1e9577f087418106beba1d542235a3165791 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 14:29:01 +0200 Subject: [PATCH 261/288] Use dct:temporal in DATA3.ttl --- examples/DATA3.ttl | 14 ++++---- .../java/SHACL_Validator.java | 34 ++++++++----------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/examples/DATA3.ttl b/examples/DATA3.ttl index 24835095..65e42eb4 100644 --- a/examples/DATA3.ttl +++ b/examples/DATA3.ttl @@ -14,15 +14,15 @@ data3: 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" ; - 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:language idsc:EN ; diff --git a/examples/rdf-validation-using-shacl/java/SHACL_Validator.java b/examples/rdf-validation-using-shacl/java/SHACL_Validator.java index f5ed5598..3690cbc8 100644 --- a/examples/rdf-validation-using-shacl/java/SHACL_Validator.java +++ b/examples/rdf-validation-using-shacl/java/SHACL_Validator.java @@ -15,6 +15,7 @@ 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; @@ -35,22 +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 { - List instance_paths = Files.walk(Paths.get(args[2])) - .filter(p -> p.toString().endsWith(".jsonld")).collect(Collectors.toList()); - for (Path p : instance_paths){ - SHACL_Validator validator = new SHACL_Validator(args[0], args[1], p); - validator.validateRDF(); - } - } catch (Exception e) { - e.printStackTrace(); + 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(); } } @@ -58,14 +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, Path 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 = instance_path; + this.instance_file = instance_file; } /** @@ -81,7 +77,7 @@ void validateRDF() throws IOException { ValidationReport report = ShaclValidator.get().validate(shapes_graph, data_graph); if (!report.conforms()) { - System.out.println(instance_path.toString() + " failed"); + System.out.println(instance_file.toString() + " failed"); System.out.println(String.valueOf(report.getEntries())); } else { @@ -118,7 +114,7 @@ public Graph readModelAndInstance() throws IOException { 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,11 +137,11 @@ private Shapes readSHACL() throws IOException { //Get all regular SHACL files System.out.println(this.shacl_path); Stream paths = Files.walk(this.shacl_path) - .filter(p -> p.toString().endsWith(".ttl")); + .filter(p -> p.toString().endsWith(".ttl")); List result = paths.filter(Files::isRegularFile) - .map(Path::toString) - .collect(Collectors.toList()); + .map(Path::toString) + .collect(Collectors.toList()); // generate SHACL shapes graph result.forEach(file -> shapesModel.read(file, FileUtils.langTurtle)); From c3e3185226dd79e72357cacd28c128f8b3655554 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 14:30:03 +0200 Subject: [PATCH 262/288] Add missing forward slash in SHACL shape --- testing/participant/BusinessIdentifierShape.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ; From 9f02b2e72e0eb967fe327e93a7d74cc7d46ee2ee Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 14:48:00 +0200 Subject: [PATCH 263/288] Fix syntax error in DATA3.ttl --- examples/DATA3.ttl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/DATA3.ttl b/examples/DATA3.ttl index 65e42eb4..7dbe4051 100644 --- a/examples/DATA3.ttl +++ b/examples/DATA3.ttl @@ -4,6 +4,8 @@ @prefix odrl: . @prefix xsd: . @prefix dqv: . +@prefix dct: . +@prefix time: . @prefix conn3: . @prefix data3: . @@ -23,7 +25,7 @@ data3: time:hasEnd [ a time:Instant ; time:inXSDDateTimeStamp "2017-12-31T12:00:00.000+02:00"^^xsd:dateTimeStamp ; - ] ; + ] ] ; ids:language idsc:EN ; ids:representation [ From c7f2b2e30d63afe910a9058d445be39494e493d7 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 15:19:06 +0200 Subject: [PATCH 264/288] Update examples/CONNECTOR_UPDATE_MESSAGE.jsonld --- examples/CONNECTOR_UPDATE_MESSAGE.jsonld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/CONNECTOR_UPDATE_MESSAGE.jsonld b/examples/CONNECTOR_UPDATE_MESSAGE.jsonld index 84173ba7..c6158e32 100644 --- a/examples/CONNECTOR_UPDATE_MESSAGE.jsonld +++ b/examples/CONNECTOR_UPDATE_MESSAGE.jsonld @@ -22,7 +22,7 @@ "ids:affectedConnector": { "@id": "https://aastat.gov.de/connector/conn2/" }, - "dct:issued": { + "ids:issued": { "@type": "xsd:dateTimeStamp", "@value": "2020-06-08T12:10:13Z" }, From d90d7c0cf36b08d023b27746cf8641cef9ab6ae4 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 15:38:35 +0200 Subject: [PATCH 265/288] Remove import of MediaType as file has been deleted --- Ontology.ttl | 1 - 1 file changed, 1 deletion(-) diff --git a/Ontology.ttl b/Ontology.ttl index c849ae3d..0a5939d5 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -176,7 +176,6 @@ ids: owl:imports ; owl:imports ; owl:imports ; - owl:imports ; owl:imports ; owl:imports ; owl:imports ; From ad9f6c7c71729688f67e8896546476c7e727f4ef Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Wed, 1 Jun 2022 16:05:09 +0200 Subject: [PATCH 266/288] Resore taxonomies/Representation.ttl as it contained breaking content --- taxonomies/Representation.ttl | 18 ++++++------ testing/content/MediaTypeShape.ttl | 47 ------------------------------ 2 files changed, 9 insertions(+), 56 deletions(-) delete mode 100644 testing/content/MediaTypeShape.ttl diff --git a/taxonomies/Representation.ttl b/taxonomies/Representation.ttl index 64bd6377..b24f864a 100644 --- a/taxonomies/Representation.ttl +++ b/taxonomies/Representation.ttl @@ -1,7 +1,6 @@ @prefix owl: . @prefix rdfs: . @prefix dct: . -@prefix dcat: . @prefix ids: . @prefix xsd: . @@ -12,7 +11,7 @@ ids:DataRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution, ids:Described ; + rdfs:subClassOf ids:Representation ; rdfs:label "Data representation"@en ; rdfs:comment "Physical representation of (structured) data."@en . @@ -31,12 +30,12 @@ ids:dataTypeSchema a owl:ObjectProperty ; rdfs:comment "Indicates the data type schema of the Representation."@en . ids:TextRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution, ids:Described ; + rdfs:subClassOf ids:Representation ; rdfs:label "Text representation"@en ; rdfs:comment "Representation of a textual content."@en . ids:AudioRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution, ids:Described ; + rdfs:subClassOf ids:Representation ; rdfs:label "Audio Representation"@en ; rdfs:comment "Audio representation"@en . @@ -47,7 +46,7 @@ ids:samplingRate a owl:DatatypeProperty ; rdfs:comment "Audio sampling rate."@en . ids:ImageRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution, ids:Described ; + rdfs:subClassOf ids:Representation ; rdfs:label "Image Representation"@en ; rdfs:comment "Image representation"@en . @@ -64,7 +63,7 @@ ids:height a owl:DatatypeProperty ; rdfs:comment "Height of the visible frame."@en . ids:VideoRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution, ids:Described ; + rdfs:subClassOf ids:Representation ; rdfs:label "Video Representation"@en ; rdfs:comment "Video representation"@en . @@ -75,7 +74,7 @@ ids:frameRate a owl:DatatypeProperty ; rdfs:comment "Video frame rate, as frames/second."@en . ids:SoftwareRepresentation a owl:Class ; - rdfs:subClassOf dcat:Distribution, ids:Described ; + rdfs:subClassOf ids:Representation ; rdfs:label "Software Representation"@en ; rdfs:comment "Software representation"@en . @@ -92,12 +91,13 @@ ids:dataAppInformation a owl:ObjectProperty ; ids:dataAppDistributionService a owl:DatatypeProperty ; rdfs:label "data app distribution service"@en ; - rdfs:comment "IRI reference to storage and distribution system for the corresponding data app. Unlike regular representations for IDS resources, a data app may not be retrieved directly from a connector but from a separate registry instead."@en ; + rdfs:comment "IRI reference to storage and distribution system for the correspending data app. Unlinke regular representations for IDS resources, a data app may not be retrieved directly from a connector but from a separate registry instead."@en ; rdfs:domain ids:AppRepresentation ; - rdfs:range xsd:anyURI . + rdfs:range xsd:anyURI . ids:dataAppRuntimeEnvironment a owl:DatatypeProperty; rdfs:label "data app runtime environment"@en ; rdfs:domain ids:AppRepresentation ; rdfs:range xsd:string ; rdfs:comment "Runtime environment of a data app, e.g., software (or hardware) required to run the app."@en . + \ No newline at end of file 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 ; - ] . From d73c58e30e4d0cede7c8946517b80cc40042631d Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Thu, 30 Jun 2022 15:09:53 +0200 Subject: [PATCH 267/288] Add mailing list announcement to checklist --- .github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md index 8e6be4bc..cc8cc39d 100644 --- a/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md @@ -24,3 +24,4 @@ - [ ] Generate human-readable documentation and single-file serializations using Widoco - [ ] Generate Java library - [ ] Update the message table +- [ ] Announce new version via mailing lists From 90f03702c4a7f7bd856c52404d1cd75f834651a6 Mon Sep 17 00:00:00 2001 From: Johannes Theissen-Lipp <15930331+JohannesLipp@users.noreply.github.com> Date: Thu, 30 Jun 2022 15:23:33 +0200 Subject: [PATCH 268/288] Update contributors list --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 378be012..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/) From 6e1c513ab245b2f3dfcd436d2107fbbc600fa961 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:01:16 +0200 Subject: [PATCH 269/288] Update Ontology.ttl Co-authored-by: Christoph Lange --- Ontology.ttl | 1 + 1 file changed, 1 insertion(+) diff --git a/Ontology.ttl b/Ontology.ttl index 0a5939d5..834263df 100644 --- a/Ontology.ttl +++ b/Ontology.ttl @@ -35,6 +35,7 @@ ids: , , , + , ; dct:publisher ids:IDSA ; dct:created "2017-09-26"^^xsd:date ; From 3091068ca2dc6751bb6722df338bb3ffeee1855e Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:01:23 +0200 Subject: [PATCH 270/288] Update evaluation_external/README.md Co-authored-by: Christoph Lange --- evaluation_external/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 8495b473..e30779a4 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -1,4 +1,6 @@ -# Reusability and Domain-specific Extensions Through Application Profiles (T60) +# 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 From ebf8527255dd4852e85dce469502306c2a3d34fb Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:01:53 +0200 Subject: [PATCH 271/288] Update evaluation_external/README.md Co-authored-by: Christoph Lange --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index e30779a4..38c9a661 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -23,7 +23,7 @@ First, we created a new branch from the *"develop"* branch. After that, we creat 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. +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: From 79aa6337c2a2a494903c097025db6d0645e55253 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:01:59 +0200 Subject: [PATCH 272/288] Update examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld Co-authored-by: Christoph Lange --- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 592a4d40..1bd562f1 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 @@ -31,7 +31,7 @@ "odrl:rightOperand": { "@value": ["idsc:LOG_ON_ALLOW", "idsc:LOG_ON_DENY"] } }] }, - "ids:PXPEndpoint": { "@id": "https//example.com/pxp/log" } + "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 From d1b76428abf1e0f23bd44792bc31ab27e8fb98b7 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:02:08 +0200 Subject: [PATCH 273/288] Update .github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md Co-authored-by: Christoph Lange --- .github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md index cc8cc39d..00b98be6 100644 --- a/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATES/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,7 @@ ## Type of change - [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality +- [ ] 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 From 4d8d0b8189231722a00c62602f52b6285db3bdff Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:02:18 +0200 Subject: [PATCH 274/288] Update examples/queries-using-sparql/SparqlQueries/src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl Co-authored-by: Christoph Lange --- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 fc0c112e..17733e98 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 @@ -48,7 +48,8 @@ life_expectancy:Resource ] ; # Open Government License - dct:licence ; + dct:license ; + # Language of resource dct:language idsc:EN ; From 00f8e737d232d97fbfdbdeee4af4a1bd9364a7f8 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:02:43 +0200 Subject: [PATCH 275/288] Update evaluation_external/README.md Co-authored-by: Christoph Lange --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 38c9a661..5ca9700b 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -27,7 +27,7 @@ Once we found these results, we listed each class and property by file, the rela 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 `odlr: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: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`. From ffa738342abd7f42e976257bc65fc1357d682b98 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:02:59 +0200 Subject: [PATCH 276/288] Update evaluation_external/README.md Co-authored-by: Christoph Lange --- evaluation_external/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evaluation_external/README.md b/evaluation_external/README.md index 5ca9700b..e867c0c2 100644 --- a/evaluation_external/README.md +++ b/evaluation_external/README.md @@ -74,7 +74,7 @@ Here we list the issues related to the evaluation and implementation of changes. 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 infomodel has been improved. Link: [Revised infomodel](https://github.com/International-Data-Spaces-Association/InformationModel/pull/504/commits) +- 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. From 254d85cff74b71c1518719b0ff27027101a5e99d Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:03:06 +0200 Subject: [PATCH 277/288] Update examples/rdf-validation-using-shacl/cli/conn_self_description.ttl Co-authored-by: Christoph Lange --- .../rdf-validation-using-shacl/cli/conn_self_description.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 dbbcb25d..9fe525cb 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -30,7 +30,7 @@ ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - dct:licence ; + dct:license ; dct:hasVersion "Version 1" . From 9a420aae7fa212403d01894cfe2351f15f654803 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:03:13 +0200 Subject: [PATCH 278/288] Update examples/rdf-validation-using-shacl/cli/conn_self_description.ttl Co-authored-by: Christoph Lange --- .../rdf-validation-using-shacl/cli/conn_self_description.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 9fe525cb..95949711 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -25,7 +25,7 @@ ids:Resource ; - dct:licence "www.licence.de" ; + dct:license "www.licence.de" ; dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; From ac65503d427431c132850b5e47b1d8a782960f7f Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:03:21 +0200 Subject: [PATCH 279/288] Update examples/rdf-validation-using-shacl/cli/conn_self_description.ttl Co-authored-by: Christoph Lange --- .../rdf-validation-using-shacl/cli/conn_self_description.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 95949711..a3be9849 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -72,7 +72,7 @@ ids:Resource ; - dct:licence "www.licence.de" ; + dct:license "www.licence.de" ; dct:description "Temperature data for IDS-Lab usecase"@en ; dcat:keyword "Temperature;JSON;IDS-Lab"@en ; ids:resourceEndpoint ; From d704f8fd8d349a79be2a8a8b09012acd3de52a73 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:03:48 +0200 Subject: [PATCH 280/288] Update examples/PARTICIPANT_1.jsonld Co-authored-by: Christoph Lange --- examples/PARTICIPANT_1.jsonld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index 036cbfc9..32690629 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -25,7 +25,7 @@ "ids:participantCertification": { "@id": "_:ub97bL19C34" }, - "org:Site": { + "org:hasPrimarySite": { "@id": "_:ub97bL15C21" }, "ids:legalForm" : "DX6Z" , From 7874cd135d86a0b521acc5ce72a4ab0174eb5a90 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:04:09 +0200 Subject: [PATCH 281/288] Update examples/PARTICIPANT_1.jsonld Co-authored-by: Christoph Lange --- examples/PARTICIPANT_1.jsonld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/PARTICIPANT_1.jsonld b/examples/PARTICIPANT_1.jsonld index 32690629..6322654d 100644 --- a/examples/PARTICIPANT_1.jsonld +++ b/examples/PARTICIPANT_1.jsonld @@ -53,7 +53,7 @@ }, { "@id": "_:ub97bL15C21", - "@type": "org:hasPrimarySite", + "@type": "org:Site", "ids:siteAddress": "Agentur für Autobahnstatistik, Am Hügel 5, D-53121 Bonn" } ] From e136faa6449066946f5b19ec0c3e4aaf9caff21d Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:04:31 +0200 Subject: [PATCH 282/288] Update examples/contracts-and-usage-policy/templates/UsageLoggingTemplates/USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld Co-authored-by: Christoph Lange --- .../USAGE_LOGGING_AGREEMENT_TEMPLATE.jsonld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1bd562f1..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 @@ -23,7 +23,7 @@ "@type":"ids:Constraint", "leftOperand": { "@id": "idsc:SYSTEM_DEVICE"}, "operator": { "@id": "idsc:DEFINES_AS"}, - "rightOperand": { "@value": "https//example.com/logging_system_device", "@type": "xsd:anyURI"} + "rightOperand": { "@value": "https://example.com/logging_system_device", "@type": "xsd:anyURI"} },{ "@type":"ids:Constraint", "odrl:leftOperand": { "@id": "idsc:LOG_LEVEL"}, From a0ac54eae76c595604ea4e8ab1882aec293c845a Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:04:41 +0200 Subject: [PATCH 283/288] Update examples/contracts-and-usage-policy/templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl Co-authored-by: Christoph Lange --- .../templates/SalesTemplates/SALES_OFFER_TEMPLATE.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2d837c6c..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 @@ -43,7 +43,7 @@ idsc:SALES_OFFER_TEMPLATE a ids:SalesOffer ; ( (odrl:assigner idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:provider | # or - (odrl:assigneeodrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer + (odrl:assignee odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer | # or (odrl:assigner idsc:PARTICIPANT_TEMPLATE ; # same value as ids:provider odrl:assignee idsc:PARTICIPANT_TEMPLATE ;) # same value as ids:consumer From ec328205b59c18139a73d10015b3165597b18f1c Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:04:51 +0200 Subject: [PATCH 284/288] Update examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl Co-authored-by: Christoph Lange --- .../contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl b/examples/contracts-and-usage-policy/templates/OFFER_TEMPLATE.ttl index 844da530..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 ;) ) - ( odrl:permissionidsc:OFFER_PERMISSION_TEMPLATE ; )+ + ( odrl:permission idsc:OFFER_PERMISSION_TEMPLATE ; )+ . From 654c353e46fd3edb23aec464ad2687d4d7f38cac Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:06:31 +0200 Subject: [PATCH 285/288] Rename licence to license --- .vscode/settings.json | 4 ++++ docs/OOPSevaluation/oopsEval.html | 4 ++-- docs/readme.md | 2 +- docs/sections/crossref-en.html | 6 +++--- docs/sections/crossref-en_source.html | 6 +++--- docs/serializations/ontology.json | 8 ++++---- docs/serializations/ontology.jsonld | 8 ++++---- docs/serializations/ontology.n3 | 10 +++++----- docs/serializations/ontology.nt | 10 +++++----- docs/serializations/ontology.rdf | 10 +++++----- docs/serializations/ontology.ttl | 10 +++++----- docs/serializations/ontology.xml | 10 +++++----- docs/webvowl/data/ontology.json | 6 +++--- examples/APPSTORE.jsonld | 4 ++-- examples/APPSTORE.ttl | 4 ++-- examples/APP_RESOURCE.ttl | 2 +- examples/APP_RESOURCE_old.jsonld | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- .../cli/conn_self_description.jsonld | 2 +- .../cli/conn_self_description.pretty.jsonld | 6 +++--- .../cli/conn_self_description.ttl | 10 +++++----- model/content/Artifact.ttl | 2 +- model/content/DigitalContent.ttl | 4 ++-- model/governance/License.ttl | 2 +- utils/refactor_helper.ttl | 4 ++-- 28 files changed, 74 insertions(+), 70 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..6fa0e1eb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "makefile.extensionOutputFolder": "./.vscode", + "C_Cpp.default.configurationProvider": "ms-vscode.makefile-tools" +} \ No newline at end of file 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 d51abbdf..ee302d09 100644 --- a/docs/sections/crossref-en.html +++ b/docs/sections/crossref-en.html @@ -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
@@ -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 b766beb5..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
@@ -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
diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index d49ce150..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", @@ -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", @@ -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", @@ -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", diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 0b1f5aec..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", @@ -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", @@ -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", @@ -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", diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index ce19d274..fabf84c0 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 @@ -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 """ @@ -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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index 683b7bd1..c9a11aee 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -1230,8 +1230,8 @@ _:genid9 . # -# http://purl.org/dc/terms/licence - . +# http://purl.org/dc/terms/license + . # # http://purl.org/dc/terms/modified . @@ -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 . @@ -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 diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index a1bf3116..9cb65382 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -2299,10 +2299,10 @@ - + - + @@ -2601,7 +2601,7 @@ - + URL reference to a custom license regulating the general usage of the Resource. @@ -3284,7 +3284,7 @@ - + @@ -5196,7 +5196,7 @@ - Class of Licences to be referred to by Resources. + Class of licenses to be referred to by Resources. License diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 069caa41..abceb058 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -1421,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 @@ -1613,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 ; @@ -2059,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 """ @@ -3240,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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index b1752001..c6c437bc 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -2299,10 +2299,10 @@ - + - + @@ -2601,7 +2601,7 @@ - + URL reference to a custom license regulating the general usage of the Resource. @@ -3284,7 +3284,7 @@ - + @@ -5196,7 +5196,7 @@ - Class of Licences to be referred to by Resources. + Class of licenses to be referred to by Resources. License diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 124041b3..bb28bba2 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -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", @@ -15761,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" ], diff --git a/examples/APPSTORE.jsonld b/examples/APPSTORE.jsonld index d5109627..70ca32da 100644 --- a/examples/APPSTORE.jsonld +++ b/examples/APPSTORE.jsonld @@ -12,7 +12,7 @@ { "@id": "http://foo.bar", "@type": "ids:AppResource", - "dct:licence": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { @@ -64,7 +64,7 @@ { "@id": "http://appIdentifier_2", "@type": "ids:AppResource", - "dct:licence": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { diff --git a/examples/APPSTORE.ttl b/examples/APPSTORE.ttl index 0c99ca7b..23927672 100644 --- a/examples/APPSTORE.ttl +++ b/examples/APPSTORE.ttl @@ -34,12 +34,12 @@ dct:title "App Title" ; dct:description "AppResource 2."@en; dcat:keyword "Data", "processing", "bla" ; - dct:licence ; + dct:license ; . a ids:AppResource; dct:title "App 1 Title" ; dct:description "AppResource 1"@en; dcat:keyword "Data", "processing", "bla" ; - dct:licence ; + dct:license ; . diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index 62c8f83a..acdc39c8 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -11,7 +11,7 @@ dct:title "App Title" ; dct:description "Data App for something with data."@en; dcat:keyword "Data", "processing", "bla" ; - dct:licence ; + dct:license ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; ids:endpointInformation "This is the default endpoint of the FIT Connector. Used for communication and data exchange."; diff --git a/examples/APP_RESOURCE_old.jsonld b/examples/APP_RESOURCE_old.jsonld index b2c21fbb..9a4670b9 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.jsonld @@ -59,7 +59,7 @@ }, { "@id": "https://connector.fit.fraunhofer.de/apps/ImageAnonymizationApp/1337", "@type": "ids:AppResource", - "dct:licence": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index b42fa310..f7b40b64 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -50,7 +50,7 @@ data1: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - dct:licence ; + dct:license ; # Language of resource: Englisch dct:language idsc:EN ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 989e642b..e07b1cbb 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -36,7 +36,7 @@ sample_Data: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - dct:licence idsc:OTHERCOMMERCIALLICENSE; + dct:license idsc:OTHERCOMMERCIALLICENSE; # Language of resource: Englisch dct:language idsc:ENGLISH ; 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 b05b15a0..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 @@ -44,7 +44,7 @@ life_expectancy:Resource ] ; # Open Government License - dct:licence ; + dct:license ; # Language of resource dct:language idsc:EN ; 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 17733e98..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 @@ -48,7 +48,7 @@ life_expectancy:Resource ] ; # Open Government License - dct:license ; + dct:license ; # Language of resource 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 6478c023..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: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.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: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.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: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"} +{"@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 ced6ff20..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": "", @@ -105,7 +105,7 @@ "@language": "en" } ], - "customLicense": "www.licence.de", + "customLicense": "www.license.de", "keyword": [ { "@value": "Temperature;JSON;IDS-Lab", @@ -185,7 +185,7 @@ "@language": "en" } ], - "customLicense": "www.licence.de", + "customLicense": "www.license.de", "keyword": [ { "@value": "", 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 a3be9849..0a8b9481 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -25,7 +25,7 @@ ids:Resource ; - dct:license "www.licence.de" ; + dct:license "www.license.de" ; dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; @@ -72,21 +72,21 @@ ids:Resource ; - dct:license "www.licence.de" ; + 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 ; - dct:licence ; + dct:license ; dct:hasVersion "Version 1" . ids:Resource ; - dct:licence "www.licence.de" ; + dct:license "www.license.de" ; dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - dct:licence ; + dct:license ; dct:hasVersion "Version 1" . 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/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/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/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index 04ebe0c9..6d1134fa 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -79,7 +79,7 @@ odrl:AssetCollection 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 . time:Instant a owl:Class ; @@ -502,7 +502,7 @@ odrl:includedIn rdfs:range odrl:Action; rdfs:comment "The subject transitively asserts the object Action."@en . -dct:licence +dct:license a rdf:Property ; rdfs:label "License"@en ; rdfs:domain ids:Resource ; From 5ebe05e04e3cdace3286bf01a7db30dd2fef67a5 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:06:31 +0200 Subject: [PATCH 286/288] Rename licence to license --- docs/OOPSevaluation/oopsEval.html | 4 ++-- docs/readme.md | 2 +- docs/sections/crossref-en.html | 6 +++--- docs/sections/crossref-en_source.html | 6 +++--- docs/serializations/ontology.json | 8 ++++---- docs/serializations/ontology.jsonld | 8 ++++---- docs/serializations/ontology.n3 | 10 +++++----- docs/serializations/ontology.nt | 10 +++++----- docs/serializations/ontology.rdf | 10 +++++----- docs/serializations/ontology.ttl | 10 +++++----- docs/serializations/ontology.xml | 10 +++++----- docs/webvowl/data/ontology.json | 6 +++--- examples/APPSTORE.jsonld | 4 ++-- examples/APPSTORE.ttl | 4 ++-- examples/APP_RESOURCE.ttl | 2 +- examples/APP_RESOURCE_old.jsonld | 2 +- examples/TEXT_RESOURCE.ttl | 2 +- .../TEMP_RESOURCE.ttl | 2 +- .../src/main/resources/0b_LIFE_EXPECTANCY_DATA_RDF.ttl | 2 +- .../src/main/resources/1_LIFE_EXPECTANCY_RESOURCE.ttl | 2 +- .../cli/conn_self_description.jsonld | 2 +- .../cli/conn_self_description.pretty.jsonld | 6 +++--- .../cli/conn_self_description.ttl | 10 +++++----- model/content/Artifact.ttl | 2 +- model/content/DigitalContent.ttl | 4 ++-- model/governance/License.ttl | 2 +- utils/refactor_helper.ttl | 4 ++-- 27 files changed, 70 insertions(+), 70 deletions(-) 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 d51abbdf..ee302d09 100644 --- a/docs/sections/crossref-en.html +++ b/docs/sections/crossref-en.html @@ -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
@@ -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 b766beb5..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
@@ -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
diff --git a/docs/serializations/ontology.json b/docs/serializations/ontology.json index d49ce150..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", @@ -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", @@ -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", @@ -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", diff --git a/docs/serializations/ontology.jsonld b/docs/serializations/ontology.jsonld index 0b1f5aec..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", @@ -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", @@ -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", @@ -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", diff --git a/docs/serializations/ontology.n3 b/docs/serializations/ontology.n3 index ce19d274..fabf84c0 100644 --- a/docs/serializations/ontology.n3 +++ b/docs/serializations/ontology.n3 @@ -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 @@ -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 """ @@ -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 . diff --git a/docs/serializations/ontology.nt b/docs/serializations/ontology.nt index 683b7bd1..c9a11aee 100644 --- a/docs/serializations/ontology.nt +++ b/docs/serializations/ontology.nt @@ -1230,8 +1230,8 @@ _:genid9 . # -# http://purl.org/dc/terms/licence - . +# http://purl.org/dc/terms/license + . # # http://purl.org/dc/terms/modified . @@ -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 . @@ -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 diff --git a/docs/serializations/ontology.rdf b/docs/serializations/ontology.rdf index a1bf3116..9cb65382 100644 --- a/docs/serializations/ontology.rdf +++ b/docs/serializations/ontology.rdf @@ -2299,10 +2299,10 @@ - + - + @@ -2601,7 +2601,7 @@ - + URL reference to a custom license regulating the general usage of the Resource. @@ -3284,7 +3284,7 @@ - + @@ -5196,7 +5196,7 @@ - Class of Licences to be referred to by Resources. + Class of licenses to be referred to by Resources. License diff --git a/docs/serializations/ontology.ttl b/docs/serializations/ontology.ttl index 069caa41..abceb058 100644 --- a/docs/serializations/ontology.ttl +++ b/docs/serializations/ontology.ttl @@ -1421,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 @@ -1613,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 ; @@ -2059,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 """ @@ -3240,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 . diff --git a/docs/serializations/ontology.xml b/docs/serializations/ontology.xml index b1752001..c6c437bc 100644 --- a/docs/serializations/ontology.xml +++ b/docs/serializations/ontology.xml @@ -2299,10 +2299,10 @@ - + - + @@ -2601,7 +2601,7 @@ - + URL reference to a custom license regulating the general usage of the Resource. @@ -3284,7 +3284,7 @@ - + @@ -5196,7 +5196,7 @@ - Class of Licences to be referred to by Resources. + Class of licenses to be referred to by Resources. License diff --git a/docs/webvowl/data/ontology.json b/docs/webvowl/data/ontology.json index 124041b3..bb28bba2 100644 --- a/docs/webvowl/data/ontology.json +++ b/docs/webvowl/data/ontology.json @@ -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", @@ -15761,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" ], diff --git a/examples/APPSTORE.jsonld b/examples/APPSTORE.jsonld index d5109627..70ca32da 100644 --- a/examples/APPSTORE.jsonld +++ b/examples/APPSTORE.jsonld @@ -12,7 +12,7 @@ { "@id": "http://foo.bar", "@type": "ids:AppResource", - "dct:licence": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { @@ -64,7 +64,7 @@ { "@id": "http://appIdentifier_2", "@type": "ids:AppResource", - "dct:licence": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { diff --git a/examples/APPSTORE.ttl b/examples/APPSTORE.ttl index 0c99ca7b..23927672 100644 --- a/examples/APPSTORE.ttl +++ b/examples/APPSTORE.ttl @@ -34,12 +34,12 @@ dct:title "App Title" ; dct:description "AppResource 2."@en; dcat:keyword "Data", "processing", "bla" ; - dct:licence ; + dct:license ; . a ids:AppResource; dct:title "App 1 Title" ; dct:description "AppResource 1"@en; dcat:keyword "Data", "processing", "bla" ; - dct:licence ; + dct:license ; . diff --git a/examples/APP_RESOURCE.ttl b/examples/APP_RESOURCE.ttl index 62c8f83a..acdc39c8 100644 --- a/examples/APP_RESOURCE.ttl +++ b/examples/APP_RESOURCE.ttl @@ -11,7 +11,7 @@ dct:title "App Title" ; dct:description "Data App for something with data."@en; dcat:keyword "Data", "processing", "bla" ; - dct:licence ; + dct:license ; ids:resourceEndpoint [ a ids:ConnectorEndpoint ; ids:endpointInformation "This is the default endpoint of the FIT Connector. Used for communication and data exchange."; diff --git a/examples/APP_RESOURCE_old.jsonld b/examples/APP_RESOURCE_old.jsonld index b2c21fbb..9a4670b9 100644 --- a/examples/APP_RESOURCE_old.jsonld +++ b/examples/APP_RESOURCE_old.jsonld @@ -59,7 +59,7 @@ }, { "@id": "https://connector.fit.fraunhofer.de/apps/ImageAnonymizationApp/1337", "@type": "ids:AppResource", - "dct:licence": { + "dct:license": { "@id": "https://www.gnu.org/licenses/gpl-3.0-standalone.html" }, "dct:description": { diff --git a/examples/TEXT_RESOURCE.ttl b/examples/TEXT_RESOURCE.ttl index b42fa310..f7b40b64 100644 --- a/examples/TEXT_RESOURCE.ttl +++ b/examples/TEXT_RESOURCE.ttl @@ -50,7 +50,7 @@ data1: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - dct:licence ; + dct:license ; # Language of resource: Englisch dct:language idsc:EN ; diff --git a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl index 989e642b..e07b1cbb 100644 --- a/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl +++ b/examples/domain-specific-semantics-using-SHACL/TEMP_RESOURCE.ttl @@ -36,7 +36,7 @@ sample_Data: ] ; # license of the resource: "Other Commercial License" (as a placeholder for a commercial license) - dct:licence idsc:OTHERCOMMERCIALLICENSE; + dct:license idsc:OTHERCOMMERCIALLICENSE; # Language of resource: Englisch dct:language idsc:ENGLISH ; 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 b05b15a0..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 @@ -44,7 +44,7 @@ life_expectancy:Resource ] ; # Open Government License - dct:licence ; + dct:license ; # Language of resource dct:language idsc:EN ; 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 17733e98..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 @@ -48,7 +48,7 @@ life_expectancy:Resource ] ; # Open Government License - dct:license ; + dct:license ; # Language of resource 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 6478c023..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: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.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: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.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: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"} +{"@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 ced6ff20..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": "", @@ -105,7 +105,7 @@ "@language": "en" } ], - "customLicense": "www.licence.de", + "customLicense": "www.license.de", "keyword": [ { "@value": "Temperature;JSON;IDS-Lab", @@ -185,7 +185,7 @@ "@language": "en" } ], - "customLicense": "www.licence.de", + "customLicense": "www.license.de", "keyword": [ { "@value": "", 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 a3be9849..0a8b9481 100644 --- a/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl +++ b/examples/rdf-validation-using-shacl/cli/conn_self_description.ttl @@ -25,7 +25,7 @@ ids:Resource ; - dct:license "www.licence.de" ; + dct:license "www.license.de" ; dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; @@ -72,21 +72,21 @@ ids:Resource ; - dct:license "www.licence.de" ; + 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 ; - dct:licence ; + dct:license ; dct:hasVersion "Version 1" . ids:Resource ; - dct:licence "www.licence.de" ; + dct:license "www.license.de" ; dcat:keyword ""@en ; ids:resourceEndpoint ; ids:resourceEndpoint ; ids:resourceEndpoint ; - dct:licence ; + dct:license ; dct:hasVersion "Version 1" . 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/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/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/utils/refactor_helper.ttl b/utils/refactor_helper.ttl index 04ebe0c9..6d1134fa 100644 --- a/utils/refactor_helper.ttl +++ b/utils/refactor_helper.ttl @@ -79,7 +79,7 @@ odrl:AssetCollection 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 . time:Instant a owl:Class ; @@ -502,7 +502,7 @@ odrl:includedIn rdfs:range odrl:Action; rdfs:comment "The subject transitively asserts the object Action."@en . -dct:licence +dct:license a rdf:Property ; rdfs:label "License"@en ; rdfs:domain ids:Resource ; From 3fc41fe49b33aa420a09b763c689efadcdb5cf17 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:10:23 +0200 Subject: [PATCH 287/288] Delete .vscode --- .vscode/settings.json | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 6fa0e1eb..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "makefile.extensionOutputFolder": "./.vscode", - "C_Cpp.default.configurationProvider": "ms-vscode.makefile-tools" -} \ No newline at end of file From 5280ec2d33fcff84d9ecbd6b3673f325270d8a07 Mon Sep 17 00:00:00 2001 From: Philipp Hochmann Date: Thu, 28 Jul 2022 16:15:04 +0200 Subject: [PATCH 288/288] Update Shacl.ttl --- Shacl.ttl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Shacl.ttl b/Shacl.ttl index 00efcce8..bf6f64fa 100644 --- a/Shacl.ttl +++ b/Shacl.ttl @@ -30,7 +30,7 @@ shapes: ; dct:publisher ids:IDSA ; dct:created "2019-10-14"^^xsd:date ; - dct:modified "2022-06-01"^^xsd:date ; + 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" ; @@ -83,7 +83,6 @@ shapes: owl:imports ; owl:imports ; owl:imports ; - owl:imports ; owl:imports ; owl:imports ; owl:imports ;