Problem
Five LeftOperands in the ODRL Common Vocabulary define multi-dimensional
semantics, but the Constraint syntax (§2.5.1) is a scalar triple:
(leftOperand, operator, rightOperand)
This creates an unresolvable ambiguity: a single rightOperand slot
cannot bind a value to a specific axis.
Affected LeftOperands
| LeftOperand |
Definition (from Common Vocabulary) |
Axes implied |
absoluteSize |
"Measure(s) of one or two axes for 2D-objects or one to three axes for 3D" |
width, height, depth |
absolutePosition |
"A point defined with absolute coordinates for the position of the target Asset" |
x, y, z, t |
absoluteSpatialPosition |
"four corners of a rectangle on a 2D-canvas or eight corners of a cuboid" |
x, y, z |
relativeSize |
"relative percentage size of the target Asset" |
width%, height% |
relativePosition |
"relative percentage position of the target Asset" |
x%, y% |
Example
A policy states:
An ODRL processor cannot determine whether this constrains:
- width only
- height only
- both axes independently (width ≤ 1250 AND height ≤ 1250)
- some aggregate (e.g., total pixel count, diagonal)
Two conformant processors may interpret this differently,
breaking interoperability.
Consequence
It is currently impossible to express a constraint like
"width ≤ 1250 AND height ≤ 800" using absoluteSize, because the
scalar syntax provides one value slot but the LeftOperand
references two independent axes.
This affects at least three domains:
- Image/asset dimensions: delivery services like IIIF resolve
width and height independently
- Canvas/viewport position: region-based constraints require
per-axis coordinates (x, y, w, h)
- Geographic location: the ODRL Best Practices acknowledge that
"the way of representing a geographic entity has not been
standardized" (BP §4.1.5)
Scope
This issue describes the problem only. We are preparing a
profile-based solution and plan to present it at a peer-reviewed
venue in 2026. Community discussion is welcome.
Related: #107, #115
Problem
Five LeftOperands in the ODRL Common Vocabulary define multi-dimensional
semantics, but the Constraint syntax (§2.5.1) is a scalar triple:
This creates an unresolvable ambiguity: a single
rightOperandslotcannot bind a value to a specific axis.
Affected LeftOperands
absoluteSizeabsolutePositionabsoluteSpatialPositionrelativeSizerelativePositionExample
A policy states:
An ODRL processor cannot determine whether this constrains:
Two conformant processors may interpret this differently,
breaking interoperability.
Consequence
It is currently impossible to express a constraint like
"width ≤ 1250 AND height ≤ 800" using
absoluteSize, because thescalar syntax provides one value slot but the LeftOperand
references two independent axes.
This affects at least three domains:
width and height independently
per-axis coordinates (x, y, w, h)
"the way of representing a geographic entity has not been
standardized" (BP §4.1.5)
Scope
This issue describes the problem only. We are preparing a
profile-based solution and plan to present it at a peer-reviewed
venue in 2026. Community discussion is welcome.
Related: #107, #115