considering a set of policies, the state of the world, and the description of the action that a user
requests to perform on certain digital resources. It may be useful to distinguish between
requested and attempted action. When an agent attempts to perform an action,
- e.g. an agent double-clicks on a picture, if the action is not permitted the attempt is recorded
+ e.g., an agent double-clicks on a picture, if the action is not permitted the attempt is recorded
and if it is the case sanctioned.
In the case of a request, only the answer is generated: either the action is permitted or the action is denied.
@@ -193,17 +193,15 @@
ODRL Evaluator
a Policy;
a formal description of the State of the World;
-
a formal description of an Evaluation Request that contains at least a description of an action (e.g. the type of the action,
- the actor who is located in a given place, the target, and an instant of time);
-
-
+
a formal description of an Evaluation Request that contains at least a description of an action (e.g., the type of the action, the actor requesting/attempting the action, the target, and an instant of time);
+
an optional parameter specifying the behaviour of the system when a requested/attempted action is neither permitted nor prohibited by the Policy. Its value can be open or closed. The default value is closed.
+
The ODRL Evaluator produces as output:
an Evaluation Report;
- This section describes the State of the World, the Evaluation Request and the Evaluation Report.
+ This section describes the State of the World, the Evaluation Request, the Behaviour, and the Evaluation Report.
State of the World
@@ -224,19 +222,20 @@
State of the World
As such, in this document, we aim to provide a minimal set of information that needs to be represented in the
state of the world and respective definitions, which will be formally represented in an
- RDF vocabulary:
+ RDF vocabulary:
-
SotW: A set of knowledge representing real-world information aiding the evaluation of ODRL Policies
-
currentTime: Denotes the current time of the state of the world
-
location: Denotes the location where the policy is being evaluated
-
assetCollection: Denotes an asset that is part of an asset collection
-
partyCollection: Denotes a party that is part of a party collection
-
report: Denotes existing reports from previously performed ODRL evaluations, i.e., to get history of attempted and performed actions
-
count: Denotes the amount of times a rule has been exercised
-
event: Denotes information about an event that has occurred, e.g., when it has occurred
-
accumulatedTime: Denotes an accumulated amount of time a rule has been exercised
-
recipient: Denotes information about a recipient of a rule that has been exercised
+
SotW: Knowledge representing real-world information aiding the evaluation of ODRL Policies;
+
currentTime: Denotes the current time of the state of the world;
+
currentLocation: Denotes the current location of an ODRL party;
+
assetCollection: Denotes an asset that is part of an ODRL asset collection;
+
partyCollection: Denotes a party that is part of a ODRL party collection;
+
existingReport: Denotes existing reports from previously performed ODRL evaluations, i.e., to get history of attempted and performed actions;
+
count: Denotes the amount of times a rule has been exercised;
+
event: Denotes information about an event that has occurred, e.g., when it has occurred;
+
accumulatedTime: Denotes an accumulated amount of time a rule has been exercised;
+
recipient: Denotes information about a recipient of a rule that has been exercised;
+
paidAmount: Denotes information about a performed financial payment;
- The Evaluation Request, which is represented in RDF, is formally defined by the class odrl-fs:EvaluationRequest and MUST contain the following properties:
+ An Evaluation Request represents a formal description of a requested action.
+ In cases where a request is not being made, e.g., during a policy monitoring scenario,
+ an empty Evaluation Request should be provided as input to the ODRL Evaluator.
+
+
+ The Evaluation Request, which is represented in RDF,
+ is formally defined by the class odrl-fs:EvaluationRequest
+ and MUST contain the following properties:
+
+ Define which properties are mandatory and which are optional,
+ to update existing SHACL shapes for odrl-fs:EvaluationRequest.
+
-
odrl:action: The action to be evaluated (e.g., use, read, modify).
-
odrl:assignee: The party (e.g., person or organization) requesting/requested the action.
-
odrl:target: The asset (e.g., file, document, data) on which the action is to be/was performed.
dcterms:issued: The time of the request.
+
odrl-fs:requestedAction: The action to be evaluated (e.g., odrl:use, odrl:read, odrl:modify).
+
odrl-fs:requestingParty: The party (e.g., person or organization) requesting the action.
+
odrl-fs:requestedTarget: The asset (e.g., file, document, data, service) on which the action is to be performed.
Additional contextual information can also be included in the Evaluation Request,
e.g., a purpose for exercising the requested action.
+ The odrl-fs:context property MAY be used
+ to associate an odrl-fs:EvaluationRequest with ODRL constraints
+ that include this additional contextual information.
+
To ensure consistency, it is recommended that requests conform to the defined SHACL shapes.
+ An evaluator might take as an optional input a parameter that specifies the behaviour of the system
+ in case a requested/attempted action is neither permitted nor prohibited by the Policy input.
+
+
+ In this case, the behaviour input can have three values:
+
+
open: in case of an open system, anything that is not prohibited is permitted;
+
closed: in case of a closed system, anything that is not permitted is prohibited;
+
default: the default value is closed.
+
-
-
+
+
+
Evaluation Report
Pending to be written.
diff --git a/formal-semantics/ontology/ontology.ttl b/formal-semantics/ontology/ontology.ttl
new file mode 100644
index 0000000..0677057
--- /dev/null
+++ b/formal-semantics/ontology/ontology.ttl
@@ -0,0 +1,105 @@
+@prefix odrl: .
+@prefix odrl-fs: .
+@prefix owl: .
+@prefix rdfs: .
+@prefix report: .
+@prefix skos: .
+@prefix xsd: .
+
+# TODO: add ontology metadata
+
+### State of the World concepts ###
+
+odrl-fs:SotW a rdfs:Class, owl:Class, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ rdfs:label "State of the World"@en ;
+ skos:definition "Knowledge representing real-world information aiding the evaluation of ODRL Policies"@en .
+
+odrl-fs:currentTime a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes the current time of the state of the world"@en ;
+ rdfs:domain odrl-fs:SotW ;
+ rdfs:range xsd:date, xsd:dateTime .
+
+odrl-fs:currentLocation a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes the current location of an ODRL party"@en ;
+ rdfs:domain odrl-fs:SotW .
+
+odrl-fs:assetCollection a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes an asset that is part of an ODRL asset collection"@en ;
+ rdfs:domain odrl-fs:SotW ;
+ rdfs:range odrl:Asset .
+
+odrl-fs:partyCollection a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes a party that is part of a ODRL party collection"@en ;
+ rdfs:domain odrl-fs:SotW ;
+ rdfs:range odrl:Party .
+
+odrl-fs:existingReport a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes existing reports from previously performed ODRL evaluations"@en ;
+ skos:note "Previous reports can be used to get history of attempted and performed actions"@en ;
+ rdfs:domain odrl-fs:SotW ;
+ rdfs:range report:PolicyReport .
+
+odrl-fs:count a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes the amount of times a rule has been exercised"@en ;
+ rdfs:domain odrl-fs:SotW .
+
+odrl-fs:event a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes information about an event that has occurred, e.g., when it has occurred"@en ;
+ rdfs:domain odrl-fs:SotW .
+
+odrl-fs:accumulatedTime a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes an accumulated amount of time a rule has been exercised"@en ;
+ skos:note "The accumulated time value should be represented using an xsd:duration"@en ;
+ rdfs:domain odrl-fs:SotW .
+
+odrl-fs:recipient a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes information about a recipient of a rule that has been exercised"@en ;
+ rdfs:domain odrl-fs:SotW .
+
+odrl-fs:paidAmount a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes information about a performed financial payment"@en ;
+ rdfs:domain odrl-fs:SotW ;
+ rdfs:range xsd:decimal .
+
+### Evaluation Request concepts ###
+
+odrl-fs:EvaluationRequest a rdfs:Class, owl:Class, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ rdfs:label "Evaluation Request"@en ;
+ skos:definition "An Evaluation Request represents a formal description of a requested action by an assignee on a target asset, which can be enriched with further contextual information"@en .
+
+odrl-fs:requestedAction a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes the requested action to be evaluated"@en ;
+ rdfs:domain odrl-fs:EvaluationRequest ;
+ rdfs:range odrl:Action .
+
+odrl-fs:requestingParty a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes the party requesting the action"@en ;
+ rdfs:domain odrl-fs:EvaluationRequest ;
+ rdfs:range odrl:Party .
+
+odrl-fs:requestedTarget a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes the asset on which the action is to be performed"@en ;
+ rdfs:domain odrl-fs:EvaluationRequest ;
+ rdfs:range odrl:Asset .
+
+odrl-fs:context a rdfs:Property, skos:Concept ;
+ rdfs:isDefinedBy odrl-fs: ;
+ skos:definition "Denotes additional contextual information that MAY be included in the request to be evaluated"@en ;
+ skos:example "A request to translate an asset to a certain language or to use an asset for a certain purpose"@en ;
+ rdfs:domain odrl-fs:EvaluationRequest ;
+ rdfs:range odrl:Constraint, odrl:LogicalConstraint .
\ No newline at end of file
diff --git a/formal-semantics/ontology/owl.ttl b/formal-semantics/ontology/owl.ttl
deleted file mode 100644
index dbf7b42..0000000
--- a/formal-semantics/ontology/owl.ttl
+++ /dev/null
@@ -1,10 +0,0 @@
-@prefix owl: .
-@prefix skos: .
-@prefix odrl: .
-@prefix odrl-fs: .
-@prefix rdfs: .
-
-odrl-fs:EvaluationRequest a rdfs:Class, owl:Class, skos:Concept ;
- rdfs:isDefinedBy odrl-fs: ;
- rdfs:label "Evaluation Request"@en ;
- skos:definition "An Evaluation Request represents a formal description of a requested action by an assignee on a target asset, which can be enriched with further contextual information"@en .
\ No newline at end of file
diff --git a/formal-semantics/sotw.ttl b/formal-semantics/sotw.ttl
deleted file mode 100644
index 08bf707..0000000
--- a/formal-semantics/sotw.ttl
+++ /dev/null
@@ -1,62 +0,0 @@
-@prefix odrl: .
-@prefix rdfs: .
-@prefix report: .
-@prefix skos: .
-@prefix sotw: .
-@prefix xsd: .
-
-sotw:SotW a rdfs:Class, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- rdfs:label "State of the World"@en ;
- skos:definition "A set of knowledge representing real-world information aiding the evaluation of ODRL Policies"@en .
-
-sotw:currentTime a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes the current time of the state of the world"@en ;
- rdfs:domain sotw:SotW ;
- rdfs:range xsd:date, xsd:dateTime .
-
-sotw:location a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes the location where the policy is being evaluated"@en ;
- rdfs:domain sotw:SotW .
-
-sotw:assetCollection a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes an asset that is part of an asset collection"@en ;
- rdfs:domain sotw:SotW ;
- rdfs:range odrl:Asset .
-
-sotw:partyCollection a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes a party that is part of a party collection"@en ;
- rdfs:domain sotw:SotW ;
- rdfs:range odrl:Party .
-
-sotw:report a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes existing reports from previously performed ODRL evaluations"@en ;
- skos:note "Previous reports can be used to get history of attempted and performed actions"@en ;
- rdfs:domain sotw:SotW ;
- rdfs:range report:PolicyReport .
-
-sotw:count a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes the amount of times a rule has been exercised"@en ;
- rdfs:domain sotw:SotW .
-
-sotw:event a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes information about an event that has occurred, e.g., when it has occurred"@en ;
- rdfs:domain sotw:SotW .
-
-sotw:accumulatedTime a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes an accumulated amount of time a rule has been exercised"@en ;
- rdfs:domain sotw:SotW ;
- rdfs:range xsd:duration .
-
-sotw:recipient a rdfs:Property, skos:Concept ;
- rdfs:isDefinedBy sotw: ;
- skos:definition "Denotes information about a recipient of a rule that has been exercised"@en ;
- rdfs:domain sotw:SotW .