Skip to content

Commit

Permalink
Added HasPolicy #184
Browse files Browse the repository at this point in the history
  • Loading branch information
riannella committed May 29, 2017
1 parent 920c7fb commit cc18380
Show file tree
Hide file tree
Showing 8 changed files with 71 additions and 16 deletions.
Binary file modified model/00Model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 10 additions & 6 deletions model/00Model.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion model/config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var respecConfig = {
specStatus: "ED",
shortName: "odrl-model",
publishDate: "2017-05-25",
publishDate: "2017-05-29",
editors: [
{ name: "Renato Iannella",
url: "https://au.linkedin.com/in/riannella",
Expand Down
37 changes: 31 additions & 6 deletions model/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,10 @@ <h3>Policy Class</h3>
<p>The Policy class has the following properties:</p>
<ul>
<li>A Policy MUST include the <code>uid</code> identification of the Policy.</li>
<li>A Policy MUST include the <code>permission</code> and/or <code>prohibition</code> Rule.</li>
<li>A Policy MAY include the <code>conflict</code> property indicating how to handle Policy conflicts.(See <a href="#conflict">Policy Conflict Strategy</a> for more details.)</li>
<li>A Policy MAY include the <code>inheritAllowed</code> property indicating a Policy can be inherited by other Policies. (See <a href="#inhertiance">Policy Inheritance</a> for more details.)</li>
<li>A Policy MAY include the <code>profile</code> identifier of the ODRL Profile that this Policy conforms to. (See <a href="#profile">ODRL Profiles</a> for more details.)</li>
<li>A Policy MUST include the <code>permission</code> and/or <code>prohibition</code> Rule. (See the <a href="#permission">Permission</a> and <a href="#prohibition">Prohibition</a> sections for more details.)</li>
<li>A Policy MAY include the <code>conflict</code> property indicating how to handle Policy conflicts.(See the <a href="#conflict">Policy Conflict Strategy</a> section for more details.)</li>
<li>A Policy MAY include the <code>inheritAllowed</code> property indicating a Policy can be inherited by other Policies. (See the <a href="#inhertiance">Policy Inheritance</a> section for more details.)</li>
<li>A Policy MAY include the <code>profile</code> identifier of the ODRL Profile that this Policy conforms to. (See the <a href="#profile">ODRL Profiles</a> section for more details.)</li>
</ul>

<p>An ODRL Policy MAY be subclasssed to more precisely describe the <em>context</em> of use of the Policy that MAY include additional constraints that ODRL processors MUST understand. The Policy subclasses may be documented in the ODRL Common Vocabulary [[!odrl-vocab]] or in ODRL Profiles.
Expand Down Expand Up @@ -235,7 +235,7 @@ <h3>Agreement</h3>
{
"@context": "http://www.w3.org/ns/odrl.jsonld",
"@type": "Agreement",
"uid": "http://example.com/policy:1011",
"uid": "http://example.com/policy:1012",
"permission": [{
"target": "http://example.com/asset:9898.movie",
"assigner": "http://example.com/party:org:abc",
Expand All @@ -246,7 +246,30 @@ <h3>Agreement</h3>
</pre>

</section>


<section id="policy-has">
<h3>Has A Policy</h3>
<p>The Policy class MAY also be referenced by the <code>hasPolicy</code> property. This supports ODRL Policies being the object of external metadata expressions (that describe an Asset). When <code>hasPolicy</code> has been asserted between a metadata expression and an ODRL Policy, the Asset being described/identified is then assumed to be the target Asset of the Policy.</p>

<blockquote>
<p>Example Use Case: The below snippet shows some Dublin Core metadata describing a movie Asset. The <code>odrl:hasPolicy</code> property has been included to link to the ODRL Policy <code>http://example.com/policy:1010</code> (this is the Set Policy described above). In this case, the Asset <code>http://example.com/asset:9999.movie</code> is now also the target Asset for the Policy <code>http://example.com/policy:1010</code>.</p>
</blockquote>

<pre class="example hljs json">
{
...
"dc:publisher": "ABC Pictures",
"dc:creator": "Allen, Woody",
"dc:issued": "2017",
"dc:subject": "Musical Comedy",
"dc:identifier": "http://example.com/asset:9999.movie",
"odrl:hasPolicy": "http://example.com/policy:1010",
...
}
</pre>

</section>


</section>

Expand Down Expand Up @@ -1438,6 +1461,8 @@ <h3>Changes from Previous Versions</h3>
<li>More clearly defined the scope of ODRL Profiles (addition only) and added how to create them. <code><a href="https://github.com/w3c/poe/issues/173">(Issue#173)</a></code></li>

<li>Added use and transfer as the top-level actions <code><a href="https://github.com/w3c/poe/issues/140">(Issue#140)</a></code></li>

<li>Added hasPolicy property <code><a href="https://github.com/w3c/poe/issues/184">(Issue#184)</a></code></li>


</ul>
Expand Down
11 changes: 10 additions & 1 deletion vocab/ODRL22.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ odrl:
skos:prefLabel "Policy"@en ;
skos:member :Policy ;
skos:member :Rule ;
skos:member :profile .
skos:member :profile ;
skos:member :hasPolicy .


<http://www.w3.org/ns/odrl/2/#inheritanceConcepts>
Expand Down Expand Up @@ -405,6 +406,14 @@ odrl:
skos:definition "A Rule expressing what Action is allowed and/or disallowed over an Asset."@en ;
skos:note "A Policy may contain multiple Rules."@en .

:hasPolicy
a rdf:Property , owl:ObjectProperty ;
rdfs:isDefinedBy odrl: ;
rdfs:label "Has A Policy"@en ;
skos:definition "Identifies an ODRL Policy from an Asset metadata expression."@en ;
skos:note "The Asset being described/identified is assumed to be the target Asset of the Policy."@en ;
rdfs:range :Policy .

:ConflictTerm
a rdfs:Class, owl:Class ;
rdfs:isDefinedBy odrl: ;
Expand Down
2 changes: 1 addition & 1 deletion vocab/config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var respecConfig = {
specStatus: "ED",
shortName: "odrl-vocab",
publishDate: "2017-05-26",
publishDate: "2017-05-29",
edDraftURI: "https://w3c.github.io/poe/vocab/",
editors: [
{ name: "Renato Iannella",
Expand Down
14 changes: 13 additions & 1 deletion vocab/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ <h2>ODRL Core Vocabulary</h2>
<tr><th>Note:</th> <td>A Policy may contain multiple Rules.</td></tr>
<tr><th>Sub-classes:</th> <td><a href="#term-Agreement">Agreement</a>, <a href="#term-Assertion">Assertion</a>, <a href="#term-Offer">Offer</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>
<tr><th>Properties:</th> <td><a href="#term-conflict">conflict</a>, <a href="#term-inheritAllowed">inheritAllowed</a>, <a href="#term-inheritFrom">inheritFrom</a>, <a href="#term-permission">permission</a>, <a href="#term-profile">profile</a>, <a href="#term-prohibition">prohibition</a></td></tr>
<tr><th>In range of:</th> <td><a href="#term-inheritFrom">inheritFrom</a></td></tr>
<tr><th>In range of:</th> <td><a href="#term-hasPolicy">hasPolicy</a>, <a href="#term-inheritFrom">inheritFrom</a></td></tr>
</table>
</section><section id="term-Rule"><h3>Rule</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>A Permission, Prohibition or Duty that expresses an Action that may, must not, or must be performed (respectively).</td></tr>
Expand All @@ -128,6 +128,13 @@ <h2>ODRL Core Vocabulary</h2>
<tr><th>Note:</th> <td>ODRL Profiles may be defined by community groups and express additional semantics.</td></tr>
<tr><th>Domain:</th> <td><a href="#term-Policy">Policy</a></td></tr>
</table>
</section><section id="term-hasPolicy"><h3>Has A Policy</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>Identifies an ODRL Policy from an Asset metadata expression.</td></tr>
<tr><th>Label:</th> <td>Has A Policy</td></tr>
<tr><th>Identifier:</th> <td><a href="http://www.w3.org/ns/odrl/2/hasPolicy">http://www.w3.org/ns/odrl/2/hasPolicy</a></td></tr>
<tr><th>Note:</th> <td>The Asset being described/identified is assumed to be the target Asset of the Policy.</td></tr>
<tr><th>Range:</th> <td><a href="#term-Policy">Policy</a></td></tr>
</table>
</section></section><section id="policySubClasses"><h2>Policy Subclasses</h2><section id="term-Agreement"><h3>Agreement</h3><table class='def propdef' >
<tr><th>Definition:</th> <td>A Policy that grants the assignee a Rule over an Asset from an assigner.</td></tr>
<tr><th>Label:</th> <td>Agreement</td></tr>
Expand Down Expand Up @@ -1638,6 +1645,11 @@ <h2>Changes from Previous Versions</h2>
<li>Removed Scopes and replaced with Constraints on Asset and Party. <code><a href="https://github.com/w3c/poe/issues/183">(Issue#183)</a></code></li>

<li>Split vocabulary into Core Vocabulary (normative) and Common Vocabulary (non-normative). <code><a href="https://github.com/w3c/poe/issues/182">(Issue#182)</a></code></li>


<li>Added hasPolicy property <code><a href="https://github.com/w3c/poe/issues/184">(Issue#184)</a></code></li>


</ul></section>


Expand Down
5 changes: 5 additions & 0 deletions vocab/parts/changes.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,9 @@
<li>Removed Scopes and replaced with Constraints on Asset and Party. <code><a href="https://github.com/w3c/poe/issues/183">(Issue#183)</a></code></li>

<li>Split vocabulary into Core Vocabulary (normative) and Common Vocabulary (non-normative). <code><a href="https://github.com/w3c/poe/issues/182">(Issue#182)</a></code></li>


<li>Added hasPolicy property <code><a href="https://github.com/w3c/poe/issues/184">(Issue#184)</a></code></li>


</ul>

0 comments on commit cc18380

Please sign in to comment.