Mercurial > hg > rr-repo
diff sites/all/modules/rdf_example/rdf_example.module @ 4:ce11bbd8f642
added modules
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Thu, 19 Sep 2013 10:38:44 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sites/all/modules/rdf_example/rdf_example.module Thu Sep 19 10:38:44 2013 +0100 @@ -0,0 +1,77 @@ +<?php +// $Id$ + +/** + * @file + * This is an example outlining how a module can be used to define RDF mappings. + * We define mappings for a node type defined in this module. + */ + +/** + * Implements hook_rdf_mapping(). + * + * This hook should only be used to define the RDF mapping for an entity or + * bundle that has been defined by this module. On installation, this mapping + * will be saved to the database. To alter anything in this mapping after module + * installation (or to alter bundles defined in another module), the RDF CRUD + * functions should be used. + */ +function rdf_example_rdf_mapping() { + return array( + 'recipe' => array( + 'type' => 'node', + 'bundle' => 'recipe', + 'mapping' => array( + 'rdftype' => array('v:Recipe'), + // We don't use the default bundle mapping for title. Instead, we add + // the v:name property. We still want to use dc:title as well, though, + // so we include it in the array. + 'title' => array( + 'predicates' => array('dc:title', 'v:name'), + ), + 'recipe_summary' => array( + 'predicates' => array('v:summary'), + ), + // The photo URI isn't a string but instead points to a resource, so we + // indicate that the attribute type is rel. If type isn't specified, it + // defaults to property, which is used for string values. + 'recipe_photo' => array( + 'predicates' => array('v:photo'), + 'type' => 'rel', + ), + 'recipe_nutrition' => array( + 'predicates' => array('v:nutrition'), + 'type' => 'rel', + ), + ), + ), + 'nutrition' => array( + 'type' => 'field_collection_item', + 'bundle' => 'recipe_nutrition', + 'mapping' => array( + 'rdftype' => array('v:Nutrition'), + 'recipe_serving_size' => array( + 'predicates' => array('v:servingSize'), + ), + 'recipe_calories' => array( + 'predicates' => array('v:calories'), + ), + ), + ), + ); +} + +/* + * Implements hook_rdf_namespaces(). + * + * This hook should be used to define any prefixes used by this module that are + * not already defined in core by rdf_rdf_namespaces. + * + * http://api.drupal.org/api/drupal/modules--rdf--rdf.api.php/function/hook_rdf_namespaces/7 + */ +function rdf_example_rdf_namespaces() { + return array( + // Google's namespace for their custom vocabularies. + 'v' => 'http://rdf.data-vocabulary.org/#', + ); +} \ No newline at end of file