Skip to content

Commit

Permalink
Updated rightOperand to explicitly support set-based operators #255
Browse files Browse the repository at this point in the history
  • Loading branch information
riannella committed Sep 13, 2017
1 parent fd70c2f commit a2c3580
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 26 deletions.
9 changes: 7 additions & 2 deletions model/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -651,7 +651,12 @@ <h3>Constraint Class</h3>
<li>A Constraint MUST have one <code>operator</code> property value of type Operator.</li>
<li>A Constraint MUST have either:
<ul>
<li>one <code>rightOperand</code> property value of type literal, IRI [[!rfc3987]], or RightOperand; or,</li>
<li>one <code>rightOperand</code> property value of type:
<ul>
<li>literal, or IRI [[!rfc3987]], or RightOperand; or</li>
<li>for set-based operators; list of literals, or list of IRIs [[!rfc3987]], or list of RightOperands;</li>
</ul>
</li>
<li>one <code>rightOperandReference</code> property value (of type IRI [[!rfc3987]]) for a reference to a right operand value.</li>
</ul>
<li>A Constraint MAY have none or one <code>dataType</code> property value for the data type of the rightOperand/Reference.</li>
Expand Down Expand Up @@ -688,7 +693,7 @@ <h3>Logical Constraint Class</h3>

<p>The Logical Constraint class has the following properties:</p>
<ul>
<li>A Logical Constraint MUST have one <code><em>operand</em></code> sub-property indicating the logical relationship of the compared existing constraints; its value is a list of the existing Constraint types.</li>
<li>A Logical Constraint MUST have one <code><em>operand</em></code> sub-property indicating the logical relationship of the compared existing constraints; its value is a list of the existing Constraint instances.</li>
</ul>

<p>An ODRL evaluator MUST support the following sub-properties of <code><em>operand</em></code>:</p>
Expand Down
12 changes: 6 additions & 6 deletions vocab/ODRL22.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -916,42 +916,42 @@ odrl:
:hasPart
a :Operator, owl:NamedIndividual, skos:Concept ;
rdfs:isDefinedBy odrl: ;
skos:definition "Indicating that a given value contains the right operand of the Constraint."@en ;
skos:definition "A set-based operator indicating that a given value contains the right operand of the Constraint."@en ;
rdfs:label "Has part"@en ;
skos:scopeNote "Non-Normative"@en .

:isA
a :Operator, owl:NamedIndividual, skos:Concept ;
rdfs:isDefinedBy odrl: ;
skos:definition "Indicating that a given value is an instance of the right operand of the Constraint."@en ;
skos:definition "A set-based operator indicating that a given value is an instance of the right operand of the Constraint."@en ;
rdfs:label "Is a"@en ;
skos:scopeNote "Non-Normative"@en .

:isAllOf
a :Operator, owl:NamedIndividual, skos:Concept ;
rdfs:isDefinedBy odrl: ;
skos:definition "Indicating that a given value is all of the right operand of the Constraint."@en ;
skos:definition "A set-based operator indicating that a given value is all of the right operand of the Constraint."@en ;
rdfs:label "Is all of"@en ;
skos:scopeNote "Non-Normative"@en .

:isAnyOf
a :Operator, owl:NamedIndividual, skos:Concept ;
rdfs:isDefinedBy odrl: ;
skos:definition "Indicating that a given value is any of the right operand of the Constraint."@en ;
skos:definition "A set-based operator indicating that a given value is any of the right operand of the Constraint."@en ;
rdfs:label "Is any of"@en ;
skos:scopeNote "Non-Normative"@en .

:isNoneOf
a :Operator, owl:NamedIndividual, skos:Concept ;
rdfs:isDefinedBy odrl: ;
skos:definition "Indicating that a given value is none of the right operand of the Constraint."@en ;
skos:definition "A set-based operator indicating that a given value is none of the right operand of the Constraint."@en ;
rdfs:label "Is none of"@en ;
skos:scopeNote "Non-Normative"@en .

:isPartOf
a :Operator, owl:NamedIndividual, skos:Concept ;
rdfs:isDefinedBy odrl: ;
skos:definition "Indicating that a given value is contained by the right operand of the Constraint."@en ;
skos:definition "A set-based operator indicating that a given value is contained by the right operand of the Constraint."@en ;
rdfs:label "Is part of"@en ;
skos:scopeNote "Non-Normative"@en .

Expand Down
36 changes: 18 additions & 18 deletions vocab/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ <h2>ODRL Core Vocabulary</h2>
<tr><th>Definition:</th> <td>A Policy that proposes a Rule over an Asset from an assigner.</td></tr>
<tr><th>Label:</th> <td>Offer</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/Offer">http://www.w3.org/ns/odrl/2/Offer</a></td></tr>
<tr><th>Note:</th> <td>An Offer Policy MUST contain at least one Permission or Prohibition rule and a Party with Assigner function (in the same Permission or Prohibition). The Offer Policy MAY contain a Party with Assignee function, but MUST not grant any privileges to that Party.</td></tr>
<tr><th>Note:</th> <td>An Offer Policy MUST contain at least one Permission or Prohibition rule and a Party with Assigner function (in the same Permission or Prohibition). The Offer Policy MAY contain a Party with Assignee function, but MUST not grant any privileges to that Party.</td></tr>
<tr><th>Parent class:</th> <td><a href="#term-Policy">Policy</a></td></tr>
<tr><th>Disjoint classes:</th> <td><a href="#term-Agreement">Agreement</a>, <a href="#term-Assertion">Assertion</a>, <a href="#term-Privacy">Privacy</a>, <a href="#term-Request">Request</a>, <a href="#term-Set">Set</a>, <a href="#term-Ticket">Ticket</a></td></tr>
</table>
Expand Down Expand Up @@ -405,7 +405,7 @@ <h2>ODRL Core Vocabulary</h2>
<tr><th>Range:</th> <td><a href="#term-Duty">Duty</a></td></tr>
</table>
</section><section id="term-duty"><h3>Has Duty</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Relates an individual Duty to a Permission..</td></tr>
<tr><th>Definition:</th> <td>Relates an individual Duty to a Permission.</td></tr>
<tr><th>Label:</th> <td>Has Duty</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/duty">http://www.w3.org/ns/odrl/2/duty</a></td></tr>
<tr><th>Note:</th> <td>A Duty is a pre-condition which must be fulfilled in order to receive the Permission.</td></tr>
Expand Down Expand Up @@ -457,7 +457,7 @@ <h2>ODRL Core Vocabulary</h2>
<tr><th>Definition:</th> <td>Operator for constraint expression.</td></tr>
<tr><th>Label:</th> <td>Operator</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/Operator">http://www.w3.org/ns/odrl/2/Operator</a></td></tr>
<tr><th>Note:</th> <td>Instances of the Operator class representing relational operators .</td></tr>
<tr><th>Note:</th> <td>Instances of the Operator class representing relational operators.</td></tr>
<tr><th>In Range Of:</th> <td><a href="#term-operator">operator</a></td></tr>
<tr><th>Instances:</th> <td><a href="#term-eq">eq</a>, <a href="#term-gt">gt</a>, <a href="#term-gteq">gteq</a>, <a href="#term-hasPart">hasPart</a>, <a href="#term-isA">isA</a>, <a href="#term-isAllOf">isAllOf</a>, <a href="#term-isAnyOf">isAnyOf</a>, <a href="#term-isNoneOf">isNoneOf</a>, <a href="#term-isPartOf">isPartOf</a>, <a href="#term-lt">lt</a>, <a href="#term-lteq">lteq</a>, <a href="#term-neq">neq</a></td></tr>
</table>
Expand Down Expand Up @@ -578,37 +578,37 @@ <h2>ODRL Core Vocabulary</h2>
<tr><th>Class:</th> <td><a href="#term-Operator">Operator</a></td></tr>
</table>
</section><section id="term-isA"><h3>Is a</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Indicating that a given value is an instance of the right operand of the Constraint.</td></tr>
<tr><th>Definition:</th> <td>A set-based operator indicating that a given value is an instance of the right operand of the Constraint.</td></tr>
<tr><th>Label:</th> <td>Is a</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/isA">http://www.w3.org/ns/odrl/2/isA</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Operator">Operator</a></td></tr>
</table>
</section><section id="term-hasPart"><h3>Has part</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Indicating that a given value contains the right operand of the Constraint.</td></tr>
<tr><th>Definition:</th> <td>A set-based operator indicating that a given value contains the right operand of the Constraint.</td></tr>
<tr><th>Label:</th> <td>Has part</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/hasPart">http://www.w3.org/ns/odrl/2/hasPart</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Operator">Operator</a></td></tr>
</table>
</section><section id="term-isPartOf"><h3>Is part of</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Indicating that a given value is contained by the right operand of the Constraint.</td></tr>
<tr><th>Definition:</th> <td>A set-based operator indicating that a given value is contained by the right operand of the Constraint.</td></tr>
<tr><th>Label:</th> <td>Is part of</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/isPartOf">http://www.w3.org/ns/odrl/2/isPartOf</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Operator">Operator</a></td></tr>
</table>
</section><section id="term-isAllOf"><h3>Is all of</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Indicating that a given value is all of the right operand of the Constraint.</td></tr>
<tr><th>Definition:</th> <td>A set-based operator indicating that a given value is all of the right operand of the Constraint.</td></tr>
<tr><th>Label:</th> <td>Is all of</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/isAllOf">http://www.w3.org/ns/odrl/2/isAllOf</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Operator">Operator</a></td></tr>
</table>
</section><section id="term-isAnyOf"><h3>Is any of</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Indicating that a given value is any of the right operand of the Constraint.</td></tr>
<tr><th>Definition:</th> <td>A set-based operator indicating that a given value is any of the right operand of the Constraint.</td></tr>
<tr><th>Label:</th> <td>Is any of</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/isAnyOf">http://www.w3.org/ns/odrl/2/isAnyOf</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Operator">Operator</a></td></tr>
</table>
</section><section id="term-isNoneOf"><h3>Is none of</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Indicating that a given value is none of the right operand of the Constraint.</td></tr>
<tr><th>Definition:</th> <td>A set-based operator indicating that a given value is none of the right operand of the Constraint.</td></tr>
<tr><th>Label:</th> <td>Is none of</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/isNoneOf">http://www.w3.org/ns/odrl/2/isNoneOf</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Operator">Operator</a></td></tr>
Expand Down Expand Up @@ -705,7 +705,7 @@ <h2>ODRL Common Vocabulary</h2>
<tr><th>Definition:</th> <td>A Policy that expresses a Rule over an Asset containing personal information.</td></tr>
<tr><th>Label:</th> <td>Privacy Policy</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/Privacy">http://www.w3.org/ns/odrl/2/Privacy</a></td></tr>
<tr><th>Note:</th> <td>A Privacy Policy MUST contain a target Asset, a Party with Assigner is, a Party with Assignee function, and at least one of a Permission or Prohibition rule that MUST include a Duty. The target Asset SHOULD contain or relate to personal information about the Assignee. The Duty MUST describe obligations on the Assigner about managing the Asset. The Assignee is being granted the terms of the Privacy policy from the Assigner.</td></tr>
<tr><th>Note:</th> <td>A Privacy Policy MUST contain a target Asset, a Party with Assigner is, a Party with Assignee function, and at least one of a Permission or Prohibition rule that MUST include a Duty. The target Asset SHOULD contain or relate to personal information about the Assignee. The Duty MUST describe obligations on the Assigner about managing the Asset. The Assignee is being granted the terms of the Privacy policy from the Assigner.</td></tr>
<tr><th>Parent class:</th> <td><a href="#term-Policy">Policy</a></td></tr>
<tr><th>Disjoint classes:</th> <td><a href="#term-Agreement">Agreement</a>, <a href="#term-Assertion">Assertion</a>, <a href="#term-Offer">Offer</a>, <a href="#term-Request">Request</a>, <a href="#term-Set">Set</a>, <a href="#term-Ticket">Ticket</a></td></tr>
</table>
Expand Down Expand Up @@ -819,7 +819,7 @@ <h2>ODRL Common Vocabulary</h2>
<tr><th>Definition:</th> <td>To accept that the use of the Asset may be tracked.</td></tr>
<tr><th>Label:</th> <td>Accept Tracking</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/acceptTracking">http://www.w3.org/ns/odrl/2/acceptTracking</a></td></tr>
<tr><th>Note:</th> <td>The collected information may be tracked by the Assigner, or may link to a Party with the role trackingParty function.</td></tr>
<tr><th>Note:</th> <td>The collected information may be tracked by the Assigner, or may link to a Party with the role 'trackingParty' function.</td></tr>
<tr><th>Included In:</th> <td><a href="#term-use">use</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Action">Action</a></td></tr>
</table>
Expand All @@ -841,7 +841,7 @@ <h2>ODRL Common Vocabulary</h2>
<tr><th>Definition:</th> <td>To anonymize all or parts of the Asset.</td></tr>
<tr><th>Label:</th> <td>Anonymize</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/anonymize">http://www.w3.org/ns/odrl/2/anonymize</a></td></tr>
<tr><th>Note:</th> <td>For example, to remove identifying particulars for statistical or for other comparable purposes, or to use the asset without stating the author/source.</td></tr>
<tr><th>Note:</th> <td>For example, to remove identifying particulars for statistical or for other comparable purposes, or to use the Asset without stating the author/source.</td></tr>
<tr><th>Included In:</th> <td><a href="#term-use">use</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Action">Action</a></td></tr>
</table>
Expand Down Expand Up @@ -1006,7 +1006,7 @@ <h2>ODRL Common Vocabulary</h2>
<tr><th>Definition:</th> <td>To inform that an action has been performed on or in relation to the Asset.</td></tr>
<tr><th>Label:</th> <td>Inform</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/inform">http://www.w3.org/ns/odrl/2/inform</a></td></tr>
<tr><th>Note:</th> <td>May link to a Party with the role informedParty function.</td></tr>
<tr><th>Note:</th> <td>May link to a Party with the role 'informedParty' function.</td></tr>
<tr><th>Included In:</th> <td><a href="#term-use">use</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Action">Action</a></td></tr>
</table>
Expand Down Expand Up @@ -1121,9 +1121,9 @@ <h2>ODRL Common Vocabulary</h2>
<tr><th>Included In:</th> <td><a href="#term-transfer">transfer</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Action">Action</a></td></tr>
</table>
</section><section id="term-ShareAlike"><h3>Share ALike</h3><table class='def propdef' >
</section><section id="term-ShareAlike"><h3>Share Alike</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Derivative works be licensed under the same terms or compatible terms as the original work.</td></tr>
<tr><th>Label:</th> <td>Share ALike</td></tr>
<tr><th>Label:</th> <td>Share Alike</td></tr>
<tr><th>Identifier:</th> <td><a href="http://creativecommons.org/ns#ShareAlike">http://creativecommons.org/ns#ShareAlike</a></td></tr>
<tr><th>Note:</th> <td>This term is defined by Creative Commons.</td></tr>
<tr><th>Included In:</th> <td><a href="#term-use">use</a></td></tr>
Expand Down Expand Up @@ -1164,7 +1164,7 @@ <h2>ODRL Common Vocabulary</h2>
<tr><th>Definition:</th> <td>To have a text Asset read out loud.</td></tr>
<tr><th>Label:</th> <td>Text-to-speech</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/textToSpeech">http://www.w3.org/ns/odrl/2/textToSpeech</a></td></tr>
<tr><th>Note:</th> <td>If the action is to be performed to a wider audience than just the Assignees, then the Recipient constraint is recommended to be used.</td></tr>
<tr><th>Note:</th> <td>If the action is to be performed to a wider audience than just the Assignees, then the recipient constraint is recommended to be used.</td></tr>
<tr><th>Included In:</th> <td><a href="#term-use">use</a></td></tr>
<tr><th>Class:</th> <td><a href="#term-Action">Action</a></td></tr>
</table>
Expand Down Expand Up @@ -1338,7 +1338,7 @@ <h2>ODRL Common Vocabulary</h2>
<tr><th>Definition:</th> <td>The party receiving the result/outcome.</td></tr>
<tr><th>Label:</th> <td>Recipient</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/recipient">http://www.w3.org/ns/odrl/2/recipient</a></td></tr>
<tr><th>Note:</th> <td>Note: The Right Operand must identify one or more specific parties or category/ies of the party.</td></tr>
<tr><th>Note:</th> <td>Note: The Right Operand must identify one or more specific Parties or category/ies of the Party.</td></tr>
<tr><th>Class:</th> <td><a href="#term-LeftOperand">LeftOperand</a></td></tr>
</table>
</section><section id="term-relativePosition"><h3>Relative Asset Position</h3><table class='def propdef' >
Expand Down Expand Up @@ -1800,7 +1800,7 @@ <h3>Candidate Recommendation Exit Criteria</h3>
<ul>
<li>A Set/Offer/Agreement Policy type with required properties</li>
<li>A Policy that utilises an ODRL Profile</li>
<li>A Policy with an Asset Collection, includig parts</li>
<li>A Policy with an Asset Collection, including parts</li>
<li>A Policy with a Party Collection, including parts</li>
<li>A Policy with a Rule including a constraint property</li>
<li>A Policy with a Permission including a duty property</li>
Expand Down

0 comments on commit a2c3580

Please sign in to comment.