The metadata model must specify how to interpret the metadata item values. Note that the interpretation may depend on the kind of metadata item. There are many possibilities, for example:
Expressions from a standardized query language (XQuery, SQL, SPARQL, ...)
Code from an imperative programming language (Java, Python, ...)
Expressions from a purpose-defined language
Data structures (XML, JSON, CSV, ...)
Atomic values (strings, numbers, …)
Invocations passing arguments to functions defined by the metadata model
Any combination of the above
The metadata value model described in section "Metadata model SNAT" uses the following combination:
Location metadata items: the value is interpreted as XQuery expression, unless syntactically marked up as invocation of a mapping function (reflecting a user-supplied value mapping) or one of a set of functions defined by the metadata model (functions not described in this paper)
Prolog metadata items: the value is interpreted as a data structure
(item kind valueMap
) or an XQuery function (item kind
function
)