Add ODRL 2.1 (in-progress)
authorMo McRoberts <mo.mcroberts@bbc.co.uk>
Tue, 04 Nov 2014 14:09:25 +0000
changeset 54 74bd5f9114fb
parent 53 2fbc72acd711
child 55 81cc37d6421d
Add ODRL 2.1 (in-progress)
.hgignore
2/Makefile
2/ODRL21.ttl
2/ODRL21.var
2/ODRL21.xsd
--- a/.hgignore	Mon May 19 12:39:24 2014 +0100
+++ b/.hgignore	Tue Nov 04 14:09:25 2014 +0000
@@ -1,2 +1,4 @@
 .htaccess
 CVS
+.cvsignore
+.DS_Store
--- a/2/Makefile	Mon May 19 12:39:24 2014 +0100
+++ b/2/Makefile	Tue Nov 04 14:09:25 2014 +0000
@@ -4,7 +4,7 @@
 
 NSURI = http://www.w3.org/ns/odrl/2/
 
-ALL = ODRL20.rdf ODRL20.nt ODRL20.html
+ALL = ODRL20.rdf ODRL20.nt ODRL20.html ODRL21.rdf ODRL21.nt ODRL21.html
 
 all: $(ALL)
 
@@ -19,3 +19,6 @@
 
 ODRL20.html: ODRL20.ttl ../phpspecgen.php ../classes.php template.phtml
 	php -f ../phpspecgen.php $< '$(NSURI)' > [email protected]
+
+ODRL21.html: ODRL21.ttl ../phpspecgen.php ../classes.php template.phtml
+	php -f ../phpspecgen.php $< '$(NSURI)' > [email protected]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2/ODRL21.ttl	Tue Nov 04 14:09:25 2014 +0000
@@ -0,0 +1,1258 @@
[email protected] <http://www.w3.org/ns/odrl/2/> .
[email protected] : <http://www.w3.org/ns/odrl/2/> .
[email protected] odrl: <http://www.w3.org/ns/odrl/2/> .
[email protected] rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
[email protected] rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
[email protected] skos: <http://www.w3.org/2004/02/skos/core#> .
[email protected] owl: <http://www.w3.org/2002/07/owl#> .
[email protected] xsd: <http://www.w3.org/2001/XMLSchema#> .
[email protected] dct: <http://purl.org/dc/terms/> .
[email protected] dcmit: <http://purl.org/dc/dcmitype/> .
[email protected] foaf: <http://xmlns.com/foaf/0.1/> .
[email protected] vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
[email protected] voaf: <http://purl.org/vocommons/voaf#> .
[email protected] vann: <http://purl.org/vocab/vann/> .
[email protected] ont: <http://purl.org/net/ns/ontology-annot#> .
+
+odrl:
+	a owl:Ontology , voaf:Vocabulary ;
+	rdfs:label "Open Digital Rights Language (ODRL) Ontology"@en ;
+	owl:versionInfo "2.0" ;
+	vann:preferredNamespaceUri <http://w3.org/ns/odrl/2/> ;
+	vann:preferredNamespacePrefix "odrl" ;
+	vann:example :Asset ;
+	dct:creator "Mo McRoberts (BBC)", "Víctor Rodríguez Doncel (OEG-UPM)" ;
+	dct:issued "2014-05-12"^^xsd:date ;
+	dct:contributor "ODRL Community Group" ;
+	dct:description "The Open Digital Rights Language (ODRL) provides flexible and interoperable mechanisms to support transparent and innovative use of digital content in publishing, distribution, and consumption of of digital media across all sectors and communities. The ODRL Policy model is broad enough to support traditional rights expressions for commercial transaction, open access expressions for publicly distributed content, and privacy expressions for social media."@en .
+
+<http://www.w3.org/ns/odrl/2/odrl.ttl>
+	a dcmit:Text ;
+	rdfs:label "ODRL 2.0 (Turtle)"@en ;
+	foaf:primaryTopic odrl: ;
+	dct:isVersionOf odrl: ;
+	dct:format <http://purl.org/NET/mediatypes/text/turtle> .
+
+<http://www.w3.org/ns/odrl/2/odrl.rdf>
+	a dcmit:Text ;
+	rdfs:label "ODRL 2.0 (RDF/XML)"@en ;
+	foaf:primaryTopic odrl: ;
+	dct:isVersionOf odrl: ;
+	dct:format <http://purl.org/NET/mediatypes/application/rdf+xml> .
+
+<http://www.w3.org/ns/odrl/2/odrl.xsd>
+	a dcmit:Text ;
+	rdfs:label "ODRL 2.0 (XML Schema Definition)"@en ;
+	foaf:primaryTopic odrl: ;
+	dct:isVersionOf odrl: ;
+	dct:format <http://purl.org/NET/mediatypes/application/xml> .
+
+<http://www.w3.org/ns/odrl/2/odrl.html>
+	a dcmit:Text ;
+	rdfs:label "ODRL 2.0 (HTML)"@en ;
+	foaf:primaryTopic odrl: ;
+	dct:isVersionOf odrl: ;
+	dct:format <http://purl.org/NET/mediatypes/text/html> .
+
+:actions
+	a skos:ConceptScheme ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:label "ODRL Actions vocabulary"@en ;
+	skos:hasTopConcept :acceptTracking, :adHocShare, :aggregate, :annotate,
+		:anonymize, :append, :archive, :attachPolicy, :attachSource,
+		:attribute, :commercialize, :concurrentUse, :copy, :delete,
+		:derive, :display, :distribute, :ensureExclusivity, :execute,
+		:export, :extract, :give, :include, :index, :inform,
+		:install, :lease, :lend, :license, :modify, :move, :nextPolicy,
+		:obtainConsent, :pay, :play, :present, :preview, :print, :read,
+		:reproduce, :reviewPolicy, :secondaryUse, :sell, :share,
+		:shareAlike, :textToSpeech, :transform, :translate, :uninstall,
+		:watermark, :write .
+
+## Assets
+
+:Asset
+	a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	owl:equivalentClass owl:Thing ;
+	vs:term_status "testing" ;
+	rdfs:label "Asset"@en ;
+	rdfs:comment "Asset is anything which can be subject to a policy. Asserting that something the target of a policy implies that it is an Asset."@en .
+
+## Parties
+
+:Party
+	a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Party"@en ;
+	rdfs:comment "An entity which can participate in policy transactions. Use an instance of the Party class where it's necessary to associate a Scope with the relationship; in other cases, simply reference the party directly."@en .
+
+## Policies
+
+:Policy
+	a rdfs:Class , owl:Class ;
+	rdfs:subClassOf :Asset ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Policy"@en ;
+	rdfs:comment "A top level entity for describing policies."@en .
+
+:ConflictTerm
+	a rdfs:Class, owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:comment "Instances of ConflictTerm describe policies for resolving conflicts."@en ;
+	rdfs:label "Conflict term"@en ;
+	vs:term_status "testing" .
+
+:perm
+	a :ConflictTerm, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Permissions"@en ;
+	rdfs:comment "Permissions take precedence over prohibitions."@en .
+
+:prohibit
+	a :ConflictTerm, owl:NamedIndividual;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Prohibit"@en ;
+	rdfs:comment "Prohibitions take precedence over permissions."@en .
+
+:UndefinedTerm
+	a rdfs:Class, owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:comment "Instances of UndefinedTerm describe policies for processing unsupported actions."@en ;
+	rdfs:label "Undefined values"@en ;
+	vs:term_status "testing" .
+
+:ignore
+	a :UndefinedTerm, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Ignore"@en ;
+	rdfs:comment "Undefined actions should be ignored."@en .
+
+:invalid
+	a :ConflictTerm, :UndefinedTerm, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Invalid"@en ;
+	rdfs:comment "The policy is invalidated."@en .
+
+:support
+	a :UndefinedTerm, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Support"@en ;
+	rdfs:comment "Undefined actions do not invalidate the policy, but notification for review must occur."@en .
+
+:conflict
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "conflict"@en ;
+	rdfs:comment "Relates a conflict-resolution mechansim to a Policy. If no mechanism is specified, the default is invalid."@en ;
+	rdfs:domain :Policy ;
+	rdfs:range :ConflictTerm .
+
+:undefined
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "undefined"@en ;
+	rdfs:comment "Relates the mechanism used for handling undefined actions to a Policy. If no mechanism is specified, the default is invalid."@en ;
+	rdfs:domain :Policy ;
+	rdfs:range :UndefinedTerm .
+
+:permission
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "permission"@en ;
+	rdfs:comment "Relates the description of an individual Permission to a Policy. A permission can be specified either in terms of an Action alone, or an instance of Permission relating an Action and one or more other attributes."@en ;
+	rdfs:domain :Policy ;
+	rdfs:range [
+		a owl:Class ;
+		owl:unionOf ( :Permission :Action ) ;
+	] .
+
+:prohibition
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "prohibition"@en ;
+	rdfs:comment "Relates the description of an individual Prohibition to a Policy. A prohibition can be specified either in terms of an Action alone, or an instance of Prohibition relating an Action and one or more other attributes."@en ;
+	rdfs:domain :Policy ;
+	rdfs:range [
+		a owl:Class ;
+		owl:unionOf ( :Prohibition  :Action ) ;
+	] .
+
+:inheritAllowed
+	a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "inheritance allowed"@en ;
+	rdfs:comment "A boolean value indicating whether this policy can be inherited from."@en ;
+	rdfs:domain :Policy ;
+	rdfs:range xsd:boolean .
+
+:inheritFrom
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "inherits from"@en ;
+	rdfs:comment "Relates a policy to another policy from which terms are inherited."@en ;
+	rdfs:domain :Policy ;
+	rdfs:range :Policy .
+
+## Permissions, prohibitions and duties
+
+:Rule
+	a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Rule"@en ;
+	rdfs:comment "An abstract common ancestor to Permissions, Prohibitions and Duties."@en .
+
+:Permission
+	a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subClassOf :Rule ;
+	owl:disjointWith :Prohibition, :Duty ;
+	vs:term_status "testing" ;
+	rdfs:label "Permission"@en ;
+	rdfs:comment "A Permission is a rule which indicates the actions the assignee is permitted to perform on the associated asset. In other words, what the assigner (supplier) has granted to the assignee (consumer)."@en .
+
+:Prohibition
+	a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subClassOf :Rule ;
+	owl:disjointWith :Duty, :Permission ;
+	vs:term_status "testing" ;
+	rdfs:label "Prohibition"@en ;
+	rdfs:comment "A Prohibition is a rule which indicates the Actions that the assignee is prohibited to perform on the related Asset."@en .
+
+:Duty
+	a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subClassOf :Rule ;
+	owl:disjointWith :Prohibition, :Permission ;
+	vs:term_status "testing" ;
+	rdfs:label "Duty"@en ;
+	rdfs:comment "A Duty is a rule which indicates requirements which must be fulfilled in order to receive the permission."@en .
+
+:Action
+	a rdfs:Class, owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subClassOf skos:Concept ;
+	vs:term_status "testing" ;
+	rdfs:comment "Instances of Action are things one might be permitted to do or prohibited from doing to a work."@en ;
+	rdfs:label "Action"@en .
+
+:Constraint
+	a rdfs:Class, owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subClassOf owl:Thing ;
+	vs:term_status "testing" ;
+	rdfs:label "Constraint"@en ;
+	rdfs:comment "Parent class of all Constraints."@en .
+
+:relation
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "relation"@en ;
+	rdfs:comment "Relation is an abstract property which creates an explicit link between an Action and an Asset. Sub-properties of relation are used to define the nature of that link."@en ;
+	rdfs:domain :Rule ;
+	rdfs:range :Asset .
+
+:output
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :relation ;
+	vs:term_status "testing" ;
+	rdfs:label "output"@en ;
+	rdfs:comment "The output property specifies the Asset which is created from the output of the Action."@en ;
+	rdfs:domain :Rule ;
+	rdfs:range :Asset . 
+
+:target
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :relation ;
+	vs:term_status "testing" ;
+	rdfs:label "target"@en ;
+	rdfs:comment "The target property specifies the Asset upon which the Action is performed."@en ;
+	rdfs:domain :Rule ;
+	rdfs:range :Asset .
+
+:function
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "function"@en ;
+	rdfs:comment "Function is an abstract property whose sub-properties define the roles which may be fulfilled by a party in relation to a Rule."@en ;
+	rdfs:domain :Rule ;
+	rdfs:range :Party .
+
+:action
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "action"@en ;
+	rdfs:comment "The operation relating to the asset for which permission is being granted. A permission must include exactly one action."@en ;
+	rdfs:domain :Rule ;
+	rdfs:range :Action .
+
+:constraint
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "constraint"@en ;
+	rdfs:comment "One or more constraints which affect the validity of the Permission; e.g. if the Action play is only permitted for a certain period of time."@en ;
+	rdfs:domain :Rule ;
+	rdfs:range :Constraint .
+	
+:duty
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "duty"@en ;
+	rdfs:comment "A Duty indicates requirements which must be fulfilled in order to receive the permission."@en ;
+	rdfs:domain :Permission ;
+	rdfs:range [
+		a owl:Class ;
+		owl:unionOf ( :Duty :Action ) ;
+	] .
+
+:unit
+	a rdf:Property ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:domain :Constraint ;
+	rdfs:range rdfs:Resource ;
+	rdfs:label "unit"@en ;
+	rdfs:comment "The unit of measurement used for the constraint value."@en .
+
+:operator
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "operator"@en ;
+	rdfs:comment "The Boolean operator applied to a constraint and its operand."@en ;
+	rdfs:domain :Constraint ;
+	rdfs:range :Operator .
+
+:rightOperand
+	a rdf:Property ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "right-operand"@en ;
+	rdfs:comment "The operand applied to an instance of a constraint. Do not use the right-operand property directly within a Constraint. Instead, a Constraint instance must contain exactly one triple which makes use of one of the sub-properties of right-operand."@en ;
+	rdfs:domain :Constraint .
+
+:status
+	a rdf:Property ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "status"@en ;
+	rdfs:comment "The current value of the constraint. The range of the status property is identical to that of the operand property selected used in the constraint."@en ;
+	rdfs:domain :Constraint .
+
+## Operators
+
+:Operator
+	a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subClassOf owl:Thing ;
+	vs:term_status "testing" ;
+	rdfs:label "Operator"@en ;
+	rdfs:comment "Instances of the Operator class represent boolean operators"@en .
+
+:eq
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Equal to"@en ;
+	rdfs:comment "Indicating that a given value equals the operand of the Constraint."@en .
+
+:gt
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Greater than"@en .
+
+:gteq
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Greater than or equal to"@en .
+
+:hasPart
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Has part"@en .
+
+:isA
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Is a"@en .
+
+:isAllOf
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Is all of"@en .
+
+:isAnyOf
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Is any of"@en .
+
+:isNoneOf
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Is none of"@en .
+
+:isPartOf
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Is part of"@en .
+
+:lt
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Less than"@en .
+
+:lteq
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Less than or equal to"@en .
+
+:neq
+	a :Operator, owl:NamedIndividual ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Not equal to"@en .
+
+## Actions
+
+:acceptTracking
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Accept tracking"@en ;
+	rdfs:comment "The act of accepting that the use of the asset may be recorded. The collected information may be tracked by the assigner, or may link to a Party with role function 'trackingParty'."@en .
+
+
+:aggregate
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Aggregate"@en ;
+	rdfs:comment "The act of using the asset (or parts of it) as part of a composite collection."@en .
+
+:annotate
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Annotate"@en ;
+	rdfs:comment "The act of adding notations/commentaries to the asset."@en .
+
+:anonymize
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Anonymize"@en ;
+	rdfs:comment "The act of anonymising the asset."@en .
+
+:append
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Append"@en ;
+	rdfs:comment "The act of adding to the end of an asset."@en .
+
+:archive
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Archive"@en ;
+	rdfs:comment "The act of persistently storing the asset."@en .
+
+:attribute
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Attribute"@en ;
+	rdfs:comment "The act of attributing the asset to a party."@en .
+
+:concurrentUse
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Concurrent use"@en ;
+	rdfs:comment "The act of multiple concurrent use of the asset."@en .
+
+:copy
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	owl:sameAs :reproduce ;
+	rdfs:label "Copy"@en ;
+	rdfs:comment "The act of making an exact reproduction of the asset."@en .
+
+:delete
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Delete"@en ;
+	rdfs:comment "The act of permanently removing the asset."@en .
+
+:derive
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Derive"@en ;
+	rdfs:comment "The act of creating a new derivative asset from the asset"@en ;
+	owl:sameAs :modify .
+
+:display
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Display"@en ;
+	rdfs:comment "The act of making a transient visible rendering of the asset"@en ;
+	owl:sameAs :execute .
+
+:distribute
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Distribute"@en ;
+	rdfs:comment "The act of publicly distributing, displaying and/or performing the asset."@en .
+
+:ensureExclusivity
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Ensure exclusivity"@en ;
+	rdfs:comment "The act of requiring the Assigner to ensure the Permission on the asset is unique to the Assignee."@en .
+
+:execute
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Execute"@en ;
+	rdfs:comment "The act of making a transient visible rendering of the asset."@en ;
+	owl:sameAs :display .
+
+:export
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Export"@en ;
+	rdfs:comment "The act of transforming the asset into a new form."@en ;
+	owl:sameAs :transform .
+
+:extract
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Extract"@en ;
+	rdfs:comment "The act of extracting (replicating) unchanged parts of the asset."@en .
+
+:give
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Give"@en ;
+	rdfs:comment "The act of giving away the asset in perpetuity without exchange of value."@en .
+
+:include
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Include"@en ;
+	rdfs:comment "The act of including other related assets to fulfill the function."@en .
+
+:index
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Index"@en ;
+	rdfs:comment "The act of indexing the asset into a collection of assets."@en .
+
+:inform
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Inform"@en ;
+	rdfs:comment "The act of informing a party that an action has been performed on the asset."@en .
+
+:install
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Install"@en ;
+	rdfs:comment "The act of loading the asset onto storage device ready for operation."@en .
+
+:lease
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Lease"@en ;
+	rdfs:comment "The act of making available the asset to a third-party for a fixed period of time with exchange of value."@en .
+
+:license
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "License"@en ;
+	rdfs:comment "The act of granting the right to use the asset to a third-party."@en .
+
+:lend
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Lend"@en ;
+	rdfs:comment "The act of making available the asset to a third-party for a fixed period of time without exchange of value."@en .
+
+:modify
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Modify"@en ;
+	rdfs:comment "The act of creating a new derivative asset from the asset."@en ;
+	owl:sameAs :derive .
+
+:move
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Move"@en ;
+	rdfs:comment "The act of moving the asset."@en .
+
+:nextPolicy
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Next policy"@en ;
+	rdfs:comment "The act of specifying an asset (which must be a Policy) as the Policy terms for third-party use of the asset."@en .
+
+:obtainConsent
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Obtain consent"@en ;
+	rdfs:comment "The act of requiring explicit consent from a party to perform the action on the asset."@en .
+
+:pay
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Pay"@en ;
+	rdfs:comment "The act of paying a financial amount to a party for use of the asset."@en .
+
+:play
+	a :Action, skos:Concept ;	
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Play"@en ;
+	rdfs:comment "The act of rendering the asset into audio and/or video form."@en ;
+	owl:sameAs :present .
+
+:present
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Present"@en ;
+	rdfs:comment "The act of rendering the asset into audio and/or video form."@en ;
+	owl:sameAs :play .
+
+:preview
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Preview"@en ;
+	rdfs:comment "The act of providing a short preview of the asset."@en .
+
+:print
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Print"@en ;
+	rdfs:comment "The act of rendering the asset onto paper or hard copy form."@en .
+
+:read
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Read"@en ;
+	rdfs:comment "The act of obtaining data from the asset."@en .
+
+:reproduce
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Reproduce"@en ;
+	rdfs:comment "The act of making an exact reproduction of the asset."@en ;
+	owl:sameAs :copy .
+
+:reviewPolicy
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Review policy"@en ;
+	rdfs:comment "The act of performing a manual review of the terms associated with the asset."@en .
+
+:secondaryUse
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Secondary use"@en ;
+	rdfs:comment "The act of using the asset for a purpose other than the purpose it was intended for."@en .
+
+:sell
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Sell"@en ;
+	rdfs:comment "The act of trading the asset in exchange of value."@en .
+
+:textToSpeech
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Text-to-speech"@en ;
+	rdfs:comment "The act of a system reading the text of the asset out loud."@en .
+
+:transform
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Transform"@en ;
+	rdfs:comment "The act of transforming the asset into a new form."@en ;
+	owl:sameAs :export .
+
+:translate
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Translate"@en ;
+	rdfs:comment "The act of translating the asset into a new natural language."@en .
+
+:uninstall
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Uninstall"@en ;
+	rdfs:comment "The act of unloading the asset from storage device."@en .
+
+:watermark
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Watermark"@en ;
+	rdfs:comment "The act of applying a watermark to the asset."@en .
+
+:write
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Write"@en ;
+	rdfs:comment "The act of writing to the asset."@en .
+
+## Constraints
+
+:absolutePosition
+	a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "absolute position"@en ;
+	rdfs:comment "A point defined with absolute coordinates."@en .
+
+:absoluteSize
+	a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "absolute size"@en ;
+	rdfs:comment "The absolute dimension that the Asset may be resized."@en ;
+	rdfs:range xsd:decimal .
+
+:count
+	a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "count"@en ;
+	rdfs:comment "The numeric count indicating the number of times the corresponding entity may be exercised"@en ;
+	rdfs:range xsd:nonNegativeInteger .
+
+:dateTime
+	a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "date/time"@en ;
+	rdfs:comment "The date (and optional time and timezone) representing a point in time or period."@en ;
+	rdfs:range [
+		a owl:Class ;
+		owl:unionOf ( xsd:date xsd:dateTime ) ;
+	] .
+
+:deliveryChannel
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "delivery channel"@en ;
+	rdfs:comment "The delivery channel used for storing or communicating the asset."@en .
+
+:device
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+    owl:equivalentProperty :system ;
+	rdfs:label "device"@en ;
+	rdfs:comment "An identifiable computing system."@en .
+
+:elapsedTime
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "elapsed time"@en ;
+	rdfs:comment "A period of time in which the policy action can be exercised."@en ;
+	rdfs:range rdfs:Literal .
+
+:event
+	a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "event"@en ;
+	rdfs:comment "Specification of a defined event applicable to the asset usage."@en .
+
+:fileFormat
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "file format"@en ;
+	rdfs:comment "The file format applicable to the Asset."@en .
+
+:industry
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "industry"@en ;
+	rdfs:comment "The defined industry sector applicable to the asset usage"@en .
+
+:language
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "language"@en ;
+	rdfs:comment "The natural language applicable to the asset usage"@en .
+
+:media
+    a rdf:Property ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "media"@en ;
+	rdfs:comment "The media type in which the asset may be used."@en .
+
+:meteredTime
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "metered time"@en ;
+	rdfs:comment "The maximum period of metered usage time."@en ;
+	rdfs:range rdfs:Literal .
+
+:payAmount
+	a rdf:Property, owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "payment amount"@en ;
+	rdfs:range xsd:decimal .
+
+:percentage
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "percentage"@en ;
+	rdfs:comment "The amount (as a percentage) of the action applicable to the asset."@en ;
+	rdfs:range xsd:decimal .
+
+:product
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "product"@en ;
+	rdfs:comment "The specified Product or Service name."@en ;
+	rdfs:range xsd:string .
+
+:purpose
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "purpose"@en ;
+	rdfs:comment "Specification of a defined purpose applicable to the asset usage."@en .
+
+:recipient
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "recipient"@en ;
+	rdfs:comment "The party that receives the result of the Action on the Asset."@en .
+
+:relativePosition
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "relative position"@en ;
+	rdfs:comment "A point defined with reference to another position."@en .
+
+:relativeSize
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "relative size"@en ;
+	rdfs:comment "The relative dimension that the Asset may be resized."@en .
+
+:resolution
+    a rdf:Property ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "resolution"@en ;
+	rdfs:comment "The resolution at which the asset may be used."@en .
+
+:spatial
+    a rdf:Property ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "spatial"@en ;
+	rdfs:comment "A code representing a geospatial area."@en .
+
+:system
+    a rdf:Property ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+    owl:equivalentProperty :device ;
+	rdfs:label "system"@en ;
+	rdfs:comment "An identifiable computing system."@en .
+
+:timeInterval
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "time interval"@en ;
+	rdfs:comment "Recurring period of time in which the usage may be exercised."@en ;
+	rdfs:range rdfs:Literal .
+
+:version
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "version"@en ;
+	rdfs:comment "The scope of versions for the asset."@en .
+
+:virtualLocation
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+	rdfs:subPropertyOf :rightOperand ;
+	vs:term_status "testing" ;
+	rdfs:label "virtual location"@en ;
+	rdfs:comment "Specification of a digital locale."@en .
+
+## Functions
+
+:assignee
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+    rdfs:subPropertyOf :function ;
+	vs:term_status "testing" ;
+	rdfs:label "assignee"@en ;
+	rdfs:comment "The Party is the recipient of the policy statement."@en ;
+	rdfs:range :Party .
+
+:assigner
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+    rdfs:subPropertyOf :function ;
+	vs:term_status "testing" ;
+	rdfs:label "assigner"@en ;
+	rdfs:comment "The Party is the issuer of the policy statement."@en ;
+	rdfs:range :Party .
+
+:attributedParty
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+    rdfs:subPropertyOf :function ;
+	vs:term_status "testing" ;
+	rdfs:label "attributed party"@en ;
+	rdfs:comment "The Party to be attributed."@en .
+
+:consentingParty
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+    rdfs:subPropertyOf :function ;
+	vs:term_status "testing" ;
+	rdfs:label "consenting party"@en ;
+	rdfs:comment "The Party to obtain consent from."@en .
+
+:informedParty
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+    rdfs:subPropertyOf :function ;
+	vs:term_status "testing" ;
+	rdfs:label "informed party"@en ;
+	rdfs:comment "The Party to be informed of all uses."@en .
+
+:payeeParty
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+    rdfs:subPropertyOf :function ;
+	vs:term_status "testing" ;
+	rdfs:label "payee party"@en ;
+	rdfs:comment "The Party is the recipient of the payment."@en .
+
+:trackingParty
+    a rdf:Property , owl:ObjectProperty ;
+	rdfs:isDefinedBy odrl: ;
+    rdfs:subPropertyOf :function ;
+	vs:term_status "testing" ;
+	rdfs:label "tracking party"@en ;
+	rdfs:comment "The Party is the usage tracker."@en .
+
+## Policies
+
+:Agreement
+    a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+    rdfs:subClassOf :Policy ;
+	owl:disjointWith :Offer, :Privacy, :Request, :Set, :Ticket ;
+	rdfs:label "Agreement"@en ;
+	rdfs:comment "Policy expressions that are formal contracts (or licenses) stipulating all the terms of usage and all the parties involved."@en .
+
+:Offer
+    a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+    rdfs:subClassOf :Policy ;
+	owl:disjointWith :Agreement, :Privacy, :Request, :Set, :Ticket ;
+	rdfs:label "Offer"@en ;
+	rdfs:comment "An instance of Offer is a Policy expression that proposes terms of usage from an Asset owner."@en .
+
+:Privacy
+    a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+    rdfs:subClassOf :Policy ;
+	owl:disjointWith :Agreement, :Offer, :Request, :Set, :Ticket ;
+	rdfs:label "Privacy"@en ;
+	rdfs:comment "An instance of Privacy is a Policy expression that stipulates the terms of usage over personal information."@en .
+
+:Request
+    a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+    rdfs:subClassOf :Policy ;
+	owl:disjointWith :Agreement, :Offer, :Privacy, :Set, :Ticket ;
+	rdfs:label "Request"@en ;
+	rdfs:comment "An instance of Request is a Policy expression that proposes terms of usage to an Asset owner."@en .
+
+:Set
+    a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+    rdfs:subClassOf :Policy ;
+	owl:disjointWith :Agreement, :Offer, :Privacy, :Request, :Ticket ;
+	rdfs:label "Set"@en ;
+	rdfs:comment "An instance of Set is a Policy expression that consists of entities from the complete model."@en .
+
+:Ticket
+    a rdfs:Class , owl:Class ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+    rdfs:subClassOf :Policy ;
+	owl:disjointWith :Agreement, :Offer, :Privacy, :Request, :Set ;
+	rdfs:label "Ticket"@en ;
+	rdfs:comment "An instance of Ticket is a Policy expression that stipulates the terms of usage and is redeemable by any Party who currently holds the Ticket in their possession."@en .
+
+## Scopes
+
+:All
+	a rdfs:Class, owl:Class ;
+	rdfs:subClassOf :Party ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "All"@en ;
+	rdfs:comment "Specifies that the scope of the relationship is all of the collective individuals within a context."@en .
+
+:All2ndConnections
+	a rdfs:Class, owl:Class ;
+	rdfs:subClassOf :Party ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "All second-level connections"@en ;
+	rdfs:comment "Specifies that the scope of the relationship is all of the second-level connections to the Party."@en .
+
+:AllConnections
+	a rdfs:Class, owl:Class ;
+	rdfs:subClassOf :Party ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "All connections"@en ;
+	rdfs:comment "Specifies that the scope of the relationship is all of the first-level connections of the Party."@en .
+
+:AllGroups
+	a rdfs:Class, owl:Class ;
+	rdfs:subClassOf :Party ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "All groups"@en ;
+	rdfs:comment "Specifies that the scope of the relationship is all of the group connections of the Party."@en .
+
+:Group
+	a rdfs:Class, owl:Class ;
+	rdfs:subClassOf :Party ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Group"@en ;
+	rdfs:comment "Specifies that the scope of the relationship is the defined group with multiple individual members."@en .
+
+:Individual
+	a rdfs:Class, owl:Class ;
+	rdfs:subClassOf :Party ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "testing" ;
+	rdfs:label "Individual"@en ;
+	rdfs:comment "Specifies that the scope of the relationship is the single Party individual."@en .
+
+## Deprecated terms
+
+:adHocShare
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://www.openmobilealliance.com/oma-dd/adhoc-share> ;
+	rdfs:label "Ad-hoc sharing"@en ;
+	rdfs:comment "The act of sharing the asset to parties in close proximity to the owner. This action may be used to express [OMA] Sharing semantics."@en .
+
+:extractChar
+	a :Action, skos:Concept ;
+	skos:broader :extract ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://www.editeur.org/onix-pl/extract-char> ;
+	rdfs:label "Extract character"@en ;
+	rdfs:comment "The act of extracting (replicating) unchanged character(s) from the asset."@en .
+
+:extractPage
+	a :Action, skos:Concept ;
+	skos:broader :extract ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://www.editeur.org/onix-pl/extract-word> ;
+	rdfs:label "Extract page"@en ;
+	rdfs:comment "The act of extracting (replicating) unchanged page(s) from the asset."@en .
+
+:extractWord
+	a :Action, skos:Concept ;
+	skos:broader :extract ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://www.editeur.org/onix-pl/extract-page> ;
+	rdfs:label "Extract word"@en ;
+	rdfs:comment "The act of extracting (replicating) unchanged word(s) from the asset."@en .
+
+:attachPolicy
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://creativecommons.org/ns#Notice> ;
+	rdfs:label "Attach policy"@en ;
+	rdfs:comment "The act of keeping the policy notice with the asset."@en .
+
+:attachSource
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://creativecommons.org/ns#SourceCode> ;
+	rdfs:label "Attach source"@en ;
+	rdfs:comment "The act of attaching the source of the asset and its derivatives."@en .
+
+:shareAlike
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://creativecommons.org/ns#ShareAlike> ;
+	rdfs:label "Share-alike"@en ;
+	rdfs:comment "The act of distributing any derivative asset under the same terms as the original asset."@en .
+
+:commercialize
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://creativecommons.org/ns#CommercialUse> ;
+	rdfs:label "Commercialize"@en ;
+	rdfs:comment "The act of using the asset in a business environment."@en .
+
+:share
+	a :Action, skos:Concept ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://creativecommons.org/ns#Distribution> ;
+	rdfs:label "Share"@en ;
+	rdfs:comment "The act of the non-commercial reproduction and distribution of the asset to third-parties."@en .
+
+:proximity
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:subPropertyOf :rightOperand ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://www.openmobilealliance.com/oma-dd/proximity> ;
+	rdfs:label "proximity"@en ;
+	rdfs:comment "An value indicating the closeness or nearness."@en .
+
+:timedCount
+    a rdf:Property , owl:DatatypeProperty ;
+	rdfs:subPropertyOf :rightOperand ;
+	rdfs:isDefinedBy odrl: ;
+	vs:term_status "deprecated" ;
+	ont:deprecatedBy <http://www.openmobilealliance.com/oma-dd/timed-count> ;
+	rdfs:label "timed count"@en ;
+	rdfs:comment "The number of seconds after which timed metering use of the asset begins."@en ;
+	rdfs:range rdfs:Literal .	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2/ODRL21.var	Tue Nov 04 14:09:25 2014 +0000
@@ -0,0 +1,16 @@
+URI: ODRL21
+
+URI: ODRL21.html
+Content-Type: text/html;qs=1.0
+
+URI: ODRL21.xsd
+Content-Type: application/xml;qs=0.9
+
+URI: ODRL21.ttl
+Content-Type: text/turtle;qs=0.9
+
+URI: ODRL21.nt
+Content-Type: text/plain;qs=0.8
+
+URI: ODRL21.rdf
+Content-Type: application/rdf+xml;qs=0.5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2/ODRL21.xsd	Tue Nov 04 14:09:25 2014 +0000
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:o="http://www.w3.org/ns/odrl/2/" version="2.1" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://www.w3.org/ns/odrl/2/" elementFormDefault="qualified" attributeFormDefault="unqualified">
+
+    <xs:element name="Policy" type="o:Policy"/>
+    <xs:complexType name="Policy">
+                <xs:sequence minOccurs="0" maxOccurs="unbounded">
+                    <xs:element ref="o:permission" minOccurs="0" maxOccurs="unbounded"/>
+                    <xs:element ref="o:prohibition" minOccurs="0" maxOccurs="unbounded"/>
+                    <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+                </xs:sequence>
+                <xs:attribute name="uid" type="o:URIQnameQcode" use="required"/>
+                <xs:attribute name="type" type="o:URIQnameQcode" use="required"/>
+                <xs:attribute name="conflict" type="o:ConflictTerm"/>
+                <xs:attribute name="undefined" type="o:UndefinedTerm"/>
+                <xs:attribute name="inheritAllowed" type="xs:boolean"/>
+                <xs:attribute name="inheritFrom" type="o:URIQnameQcode"/>
+                <xs:attribute name="inheritRelation" type="o:URIQnameQcode"/>
+                <xs:attribute name="profile" type="o:URIQnameQcode"/>
+                <xs:anyAttribute namespace="##other" processContents="lax"/>     
+    </xs:complexType>
+    
+    <xs:element name="permission" type="o:Permission"/>
+    <xs:complexType name="Permission">
+           <xs:sequence>
+                    <xs:element ref="o:asset" maxOccurs="unbounded"/>
+                    <xs:element ref="o:action" />
+                    <xs:element ref="o:constraint"  minOccurs="0" maxOccurs="unbounded"/>
+                    <xs:element ref="o:party"  minOccurs="0" maxOccurs="unbounded"/>
+                    <xs:element ref="o:duty"  minOccurs="0" maxOccurs="unbounded"/>
+                    <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+           </xs:sequence>
+           <xs:attributeGroup ref="o:idAttributes"/>        
+    </xs:complexType>
+    
+    <xs:element name="prohibition" type="o:Prohibition"/> 
+    <xs:complexType name="Prohibition">
+        <xs:sequence>
+            <xs:element ref="o:asset"  maxOccurs="unbounded"/>
+            <xs:element ref="o:action" />
+            <xs:element ref="o:constraint" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element ref="o:party"  minOccurs="0" maxOccurs="unbounded"/>
+            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="o:idAttributes"/>
+    </xs:complexType>
+    
+    <xs:element name="duty" type="o:Duty"/>
+    <xs:complexType name="Duty">
+        <xs:sequence>
+            <xs:element ref="o:action" minOccurs="0"/> <!--Required Element-->
+            <xs:element ref="o:asset"  minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element ref="o:constraint"  minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element ref="o:party"  minOccurs="0" maxOccurs="unbounded"/>
+            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+        <xs:attribute name="uid" type="o:URIQnameQcode"/>
+        <xs:attributeGroup ref="o:idAttributes"/>
+    </xs:complexType>
+    
+    <xs:element name="asset" type="o:Asset"/> 
+    <xs:complexType name="Asset">
+        <xs:attribute name="uid" type="o:URIQnameQcode" /> <!--Required Attribute-->
+        <xs:attribute name="relation" type="o:URIQnameQcode" /> <!--Required Attribute-->
+        <xs:attributeGroup ref="o:idAttributes"/>
+    </xs:complexType>
+    
+    <xs:element name="party" type="o:Party"/>
+    <xs:complexType name="Party">
+        <xs:attribute name="uid" type="o:URIQnameQcode"/> <!--Required Attribute-->
+        <xs:attribute name="function" type="o:URIQnameQcode" /> <!--Required Attribute-->
+        <xs:attribute name="scope" type="o:URIQnameQcode"/>
+        <xs:attributeGroup ref="o:idAttributes"/>
+    </xs:complexType>
+ 
+    <xs:element name="action" type="o:Action"/>
+    <xs:complexType name="Action">
+        <xs:attribute name="name" type="o:URIQnameQcode" /> <!--Required Attribute-->
+        <xs:attributeGroup ref="o:idAttributes"/>
+    </xs:complexType>
+    
+    <xs:element name="constraint" type="o:Constraint"/>
+    <xs:complexType name="Constraint">
+        <xs:attribute name="name" type="o:URIQnameQcode" /> <!--Required Attribute-->
+        <xs:attribute name="operator" type="o:URIQnameQcode" /> <!--Required Attribute-->
+        <xs:attribute name="rightOperand" type="o:listOfValues" /> <!--Required Attribute-->
+        <xs:attribute name="dataType" type="o:URIQnameQcode" />
+        <xs:attribute name="unit" type="o:URIQnameQcode" />
+        <xs:attribute name="status" type="xs:string" />
+        <xs:attributeGroup ref="o:idAttributes"/>
+    </xs:complexType>
+    
+    <xs:simpleType name="listOfValues">
+        <xs:list itemType="xs:string"/>
+    </xs:simpleType>
+     
+    <xs:simpleType name="ConflictTerm">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="http://www.w3.org/ns/odrl/2/perm"/>
+            <xs:enumeration value="http://www.w3.org/ns/odrl/2/prohibit"/>
+            <xs:enumeration value="http://www.w3.org/ns/odrl/2/invalid"/>
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="UndefinedTerm">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="http://www.w3.org/ns/odrl/2/support"/>
+            <xs:enumeration value="http://www.w3.org/ns/odrl/2/ignore"/>
+            <xs:enumeration value="http://www.w3.org/ns/odrl/2/invalid"/>
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="URIQnameQcode">
+        <xs:union memberTypes="xs:anyURI xs:QName o:QCode"/>
+    </xs:simpleType>
+    
+    <xs:simpleType name="QCode">
+        <xs:restriction base="xs:string">
+            <xs:pattern value="[^\s:]+:[^\s]+"/>
+        </xs:restriction>
+        
+    </xs:simpleType>
+    <xs:attributeGroup name="idAttributes">
+        <xs:attribute name="id" type="xs:ID"/>
+        <xs:attribute name="idref" type="xs:IDREF"/>
+        <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:attributeGroup>
+</xs:schema>