Skip to content

2.4 predicate object map

Josef Hardi edited this page Aug 20, 2015 · 2 revisions

SYNTAX:

<predicate-object-map rr:predicate="string" rr:column="string" rr:datatype="string">
<predicate-object-map rr:predicate="string" rr:column="string" rr:termType="string">
<predicate-object-map rr:predicate="string" rr:template="string">
<predicate-object-map rr:predicate="string" rr:object="string">

CONTAINED IN:

<mapping>

DESCRIPTION:

A predicate-object-map is a function that creates one or more predicate-object pairs for each logical table row of a logical table. It is used in conjunction with a subject-map to generate RDF triples in a triples map.

A predicate-object-map is represented by two term maps as follow:

  • One predicate map is specified using rr:predicate, whose value MUST be a constant-value term map that specifies a property URI.
  • One object map is specified using either using rr:column or rr:template. The value MUST be a column-valued term map or a template-valued term map, respectively.

These term maps are used to generate the predicates and objects of the RDF triples.

A constant-valued term map is a term map that ignores the logical table row and always generates the same RDF term.

A column-valued term map is a term map that generates literals from a column of some logical table. The value MUST be a valid column name contained in the logical table.

A template-valued term map is a term map that generates a URI from a string template declared in the <uri-template> element. The value MUST be a valid URI template call which specifies the template name and one or more column names as its arguments. The number of the arguments must be according to the URI template declaration (see URI template).

The following example shows a template-valued term map:

<predicate-object-map rr:predicate="worksIn" rr:template="Department(dept_no)">

where Department is a URI template name declared in <uri-template> and dept_no is a valid column name in logical table.

ATTRIBUTES:

  • rr:predicate: A constant-valued term map that specifies the property URI in the application domain.
  • rr:column: A column-valued term map that specifies a valid column name in logical table.
  • rr:template: A template-valued term map that specifies a reference to a valid URI template declared in <uri-template> element.
  • rr:datatype: A user specified datatype URI to explicitly override the underlying logical table column's type (since 1.2)
  • rr:object: A constant-valued term map. MUST be an IRI (since 1.3)
  • rr:termType: A user specified type of RDF term for data generation (since 1.5)

SEE ALSO:

Clone this wiki locally