? rdf_context_keys.patch ? rdf_created.patch ? vendor/arc Index: rdf.views.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/rdf/rdf.views.inc,v retrieving revision 1.1 diff -u -r1.1 rdf.views.inc --- rdf.views.inc 15 Oct 2008 11:25:44 -0000 1.1 +++ rdf.views.inc 3 Dec 2008 15:16:23 -0000 @@ -38,3 +38,99 @@ ), ); } + +/** + * Implementation of hook_views_data() + */ +function rdf_views_data() { + $data = array( + 'rdf_resources' => array( + // Table info. + 'table' => array( + 'group' => t('RDF'), + 'base' => array( + 'field' => 'rid', + 'title' => t('RDF'), + 'help' => t('RDF meta-data.'), + 'weight' => 0, + ), + ), + // Fields. + 'uri' => array( + 'title' => t('URI'), + 'help' => t('The URI of the RDF resource'), + 'field' => array('handler' => 'views_handler_field'), + 'filter' => array('handler' => 'views_handler_filter_boolean_operator'), + ), + ), + ); + + foreach (rdf_db_get_repository_names() as $name => $table) { + $info = rdf_db_load_repository($name); + $data[$table] = array( + // Table info. + 'table' => array( + 'group' => t('@table', array('@table' => $info->title)), + 'join' => array( + 'rdf_resources' => array( + 'left_field' => 'rid', + 'field' => 'sid', + ), + ), + ), + // Fields. + /* TODO: 'oid', 'tid', 'lang' */ + 'sid' => array( + 'title' => t('Subject'), + 'help' => t("Subject of the RDF statement."), + 'field' => array('handler' => 'views_handler_field'), + ), + 'uid' => array( + 'title' => t('User'), + 'help' => t("User who created statement."), + 'field' => array('handler' => 'views_handler_field'), + ), + 'created' => array( + 'title' => t('Created'), + 'help' => t("Timestamp of the statement."), + 'field' => array('handler' => 'views_handler_field_date'), + 'filter' => array('handler' => 'views_handler_filter_date'), + ), + 'pid' => array( + 'title' => t('Predicate'), + 'help' => t("The RDF statement's predicate."), + 'field' => array('handler' => 'views_handler_field'), + 'filter' => array('handler' => 'views_handler_filter_rdf_predicate'), + ), + 'gid' => array( + 'title' => t('Context'), + 'help' => t('Named graph that the RDF statement belongs to.'), + 'field' => array('handler' => 'views_handler_field'), + 'filter' => array('handler' => 'views_handler_filter_rdf_context'), + ), + 'data' => array( + 'title' => t('Object'), + 'help' => t('RDF Object literal'), + 'field' => array('handler' => 'views_handler_field_rdf_literal'), + ), + ); + } + return $data; +} + +function rdf_views_handlers() { + return array( + 'info' => array('path' => drupal_get_path('module', 'rdf') .'/contrib/rdf_views'), + 'handlers' => array( + 'views_handler_filter_rdf_predicate' => array( + 'parent' => 'views_handler_filter_in_operator', + ), + 'views_handler_filter_rdf_context' => array( + 'parent' => 'views_handler_filter_in_operator', + ), + 'views_handler_field_rdf_literal' => array( + 'parent' => 'views_handler_field', + ), + ), + ); +} Index: contrib/rdf_views/views_handler_field_rdf_literal.inc =================================================================== RCS file: contrib/rdf_views/views_handler_field_rdf_literal.inc diff -N contrib/rdf_views/views_handler_field_rdf_literal.inc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ contrib/rdf_views/views_handler_field_rdf_literal.inc 3 Dec 2008 15:16:23 -0000 @@ -0,0 +1,9 @@ +{$this->field_alias}; + return filter_xss($value); + } +} Index: contrib/rdf_views/views_handler_filter_rdf_context.inc =================================================================== RCS file: contrib/rdf_views/views_handler_filter_rdf_context.inc diff -N contrib/rdf_views/views_handler_filter_rdf_context.inc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ contrib/rdf_views/views_handler_filter_rdf_context.inc 3 Dec 2008 15:16:23 -0000 @@ -0,0 +1,29 @@ + $table) { + $result = db_query('SELECT DISTINCT g.uri, g.rid gid FROM {'. db_escape_table($table) .'} d INNER JOIN {rdf_resources} g ON d.gid = g.rid'); + while ($row = db_fetch_object($result)) { + $contexts[$row->gid] = $row->uri; + } + } + + $options = array(); + foreach ($contexts as $k => $v) { + if ($label = rdf_query($v, 'rdfs:label', NULL)->to_array()) { + $label = array_pop($label); + $options[$k] = $label[2]; + } + else { + $options[$k] = $v; + } + } + $this->value_options = $options; + } +} Index: contrib/rdf_views/views_handler_filter_rdf_predicate.inc =================================================================== RCS file: contrib/rdf_views/views_handler_filter_rdf_predicate.inc diff -N contrib/rdf_views/views_handler_filter_rdf_predicate.inc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ contrib/rdf_views/views_handler_filter_rdf_predicate.inc 3 Dec 2008 15:16:23 -0000 @@ -0,0 +1,15 @@ + $table) { + $result = db_query('SELECT DISTINCT p.uri, p.rid as pid FROM {'. db_escape_table($table) .'} d INNER JOIN {rdf_resources} p ON d.pid = p.rid'); + while ($row = db_fetch_object($result)) { + $options[$row->pid] = rdf_uri_to_qname($row->uri); + } + } + $this->value_options = $options; + } +}