-
Notifications
You must be signed in to change notification settings - Fork 13
Scalar constraint syntax cannot express per-axis semantics of multi-dimensional LeftOperands #144
Description
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:
absoluteSize lteq 1250
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.