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 } |