function hook_rdf_mapping

Allow modules to define RDF mappings for field bundles.

Modules defining their own field bundles can specify which RDF semantics should be used to annotate these bundles. These mappings are then used for automatic RDFa output in the HTML code.

Return value

A list of mapping structures, where each mapping is an associative array:

  • type: The name of an entity type (e.g., 'node', 'comment', and so on.)
  • bundle: The name of the bundle (e.g., 'page', 'article', or RDF_DEFAULT_BUNDLE for default mappings.)
  • mapping: The mapping structure which applies to the entity type and bundle. A mapping structure is an array with keys corresponding to existing field instances in the bundle. Each field is then described in terms of the RDF mapping:

    • predicates: An array of RDF predicates which describe the relation between the bundle (RDF subject) and the value of the field (RDF object). This value is either some text, another bundle, or a URI in general.
    • datatype: Is used along with 'callback' to format data so that it is readable by machines. A typical example is a date which can be written in many different formats but should be translated into a uniform format for machine consumption.
    • callback: A function name to invoke for 'datatype'.
    • type: A string used to determine the type of RDFa markup which will be used in the final HTML output, depending on whether the RDF object is a literal text or another RDF resource.
    • rdftype: A special property used to define the type of the instance. Its value should be an array of RDF classes.

Related topics

7 functions implement hook_rdf_mapping()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

comment_rdf_mapping in drupal/core/modules/comment/comment.module
Implements hook_rdf_mapping().
forum_rdf_mapping in drupal/core/modules/forum/forum.module
Implements hook_rdf_mapping().
node_rdf_mapping in drupal/core/modules/node/node.module
Implements hook_rdf_mapping().
poll_rdf_mapping in drupal/core/modules/poll/poll.module
Implements hook_rdf_mapping().
rdf_test_rdf_mapping in drupal/core/modules/rdf/tests/rdf_test.module
Implements hook_rdf_mapping().

... See full list

2 invocations of hook_rdf_mapping()
rdf_install in drupal/core/modules/rdf/rdf.install
Implements hook_install().
_rdf_get_default_mapping in drupal/core/modules/rdf/rdf.module
Gets the default RDF mapping for a given entity type.

File

drupal/core/modules/rdf/rdf.api.php, line 46
Hooks provided by the RDF module.

Code

function hook_rdf_mapping() {
  return array(
    array(
      'type' => 'comment',
      'bundle' => RDF_DEFAULT_BUNDLE,
      'mapping' => array(
        'rdftype' => array(
          'sioc:Post',
          'sioct:Comment',
        ),
        'title' => array(
          'predicates' => array(
            'dc:title',
          ),
        ),
        'created' => array(
          'predicates' => array(
            'dc:date',
            'dc:created',
          ),
          'datatype' => 'xsd:dateTime',
          'callback' => 'date_iso8601',
        ),
        'changed' => array(
          'predicates' => array(
            'dc:modified',
          ),
          'datatype' => 'xsd:dateTime',
          'callback' => 'date_iso8601',
        ),
        'comment_body' => array(
          'predicates' => array(
            'content:encoded',
          ),
        ),
        'pid' => array(
          'predicates' => array(
            'sioc:reply_of',
          ),
          'type' => 'rel',
        ),
        'uid' => array(
          'predicates' => array(
            'sioc:has_creator',
          ),
          'type' => 'rel',
        ),
        'name' => array(
          'predicates' => array(
            'foaf:name',
          ),
        ),
      ),
    ),
  );
}