annotate 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
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2 // $Id$
danielebarchiesi@4 3
danielebarchiesi@4 4 /**
danielebarchiesi@4 5 * @file
danielebarchiesi@4 6 * This is an example outlining how a module can be used to define RDF mappings.
danielebarchiesi@4 7 * We define mappings for a node type defined in this module.
danielebarchiesi@4 8 */
danielebarchiesi@4 9
danielebarchiesi@4 10 /**
danielebarchiesi@4 11 * Implements hook_rdf_mapping().
danielebarchiesi@4 12 *
danielebarchiesi@4 13 * This hook should only be used to define the RDF mapping for an entity or
danielebarchiesi@4 14 * bundle that has been defined by this module. On installation, this mapping
danielebarchiesi@4 15 * will be saved to the database. To alter anything in this mapping after module
danielebarchiesi@4 16 * installation (or to alter bundles defined in another module), the RDF CRUD
danielebarchiesi@4 17 * functions should be used.
danielebarchiesi@4 18 */
danielebarchiesi@4 19 function rdf_example_rdf_mapping() {
danielebarchiesi@4 20 return array(
danielebarchiesi@4 21 'recipe' => array(
danielebarchiesi@4 22 'type' => 'node',
danielebarchiesi@4 23 'bundle' => 'recipe',
danielebarchiesi@4 24 'mapping' => array(
danielebarchiesi@4 25 'rdftype' => array('v:Recipe'),
danielebarchiesi@4 26 // We don't use the default bundle mapping for title. Instead, we add
danielebarchiesi@4 27 // the v:name property. We still want to use dc:title as well, though,
danielebarchiesi@4 28 // so we include it in the array.
danielebarchiesi@4 29 'title' => array(
danielebarchiesi@4 30 'predicates' => array('dc:title', 'v:name'),
danielebarchiesi@4 31 ),
danielebarchiesi@4 32 'recipe_summary' => array(
danielebarchiesi@4 33 'predicates' => array('v:summary'),
danielebarchiesi@4 34 ),
danielebarchiesi@4 35 // The photo URI isn't a string but instead points to a resource, so we
danielebarchiesi@4 36 // indicate that the attribute type is rel. If type isn't specified, it
danielebarchiesi@4 37 // defaults to property, which is used for string values.
danielebarchiesi@4 38 'recipe_photo' => array(
danielebarchiesi@4 39 'predicates' => array('v:photo'),
danielebarchiesi@4 40 'type' => 'rel',
danielebarchiesi@4 41 ),
danielebarchiesi@4 42 'recipe_nutrition' => array(
danielebarchiesi@4 43 'predicates' => array('v:nutrition'),
danielebarchiesi@4 44 'type' => 'rel',
danielebarchiesi@4 45 ),
danielebarchiesi@4 46 ),
danielebarchiesi@4 47 ),
danielebarchiesi@4 48 'nutrition' => array(
danielebarchiesi@4 49 'type' => 'field_collection_item',
danielebarchiesi@4 50 'bundle' => 'recipe_nutrition',
danielebarchiesi@4 51 'mapping' => array(
danielebarchiesi@4 52 'rdftype' => array('v:Nutrition'),
danielebarchiesi@4 53 'recipe_serving_size' => array(
danielebarchiesi@4 54 'predicates' => array('v:servingSize'),
danielebarchiesi@4 55 ),
danielebarchiesi@4 56 'recipe_calories' => array(
danielebarchiesi@4 57 'predicates' => array('v:calories'),
danielebarchiesi@4 58 ),
danielebarchiesi@4 59 ),
danielebarchiesi@4 60 ),
danielebarchiesi@4 61 );
danielebarchiesi@4 62 }
danielebarchiesi@4 63
danielebarchiesi@4 64 /*
danielebarchiesi@4 65 * Implements hook_rdf_namespaces().
danielebarchiesi@4 66 *
danielebarchiesi@4 67 * This hook should be used to define any prefixes used by this module that are
danielebarchiesi@4 68 * not already defined in core by rdf_rdf_namespaces.
danielebarchiesi@4 69 *
danielebarchiesi@4 70 * http://api.drupal.org/api/drupal/modules--rdf--rdf.api.php/function/hook_rdf_namespaces/7
danielebarchiesi@4 71 */
danielebarchiesi@4 72 function rdf_example_rdf_namespaces() {
danielebarchiesi@4 73 return array(
danielebarchiesi@4 74 // Google's namespace for their custom vocabularies.
danielebarchiesi@4 75 'v' => 'http://rdf.data-vocabulary.org/#',
danielebarchiesi@4 76 );
danielebarchiesi@4 77 }