Skip to content

Scalar constraint syntax cannot express per-axis semantics of multi-dimensional LeftOperands #144

@Daham-Mustaf

Description

@Daham-Mustaf

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.

Related: #107, #115

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions