danielebarchiesi@4: 'Vocabulary graph, including stubs for any external terms.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'gid' => array( danielebarchiesi@4: 'description' => 'Graph ID.', danielebarchiesi@4: 'type' => 'serial', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'main_ns' => array( danielebarchiesi@4: 'description' => 'The {rdfx_namespaces}.nsid for this vocabulary.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: 'default' => 0, danielebarchiesi@4: ), danielebarchiesi@4: 'date_created' => array( danielebarchiesi@4: 'description' => 'The Unix timestamp when the vocabulary was created or imported.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: 'default' => 0, danielebarchiesi@4: ), danielebarchiesi@4: 'date_updated' => array( danielebarchiesi@4: 'description' => 'The Unix timestamp when the vocabulary was updated.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: 'default' => 0, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('gid'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_namespaces'] = array( danielebarchiesi@4: 'description' => 'Namespace mappings defined in the vocabulary graph. Mappings are defined on a per graph basis (i.e. foaf will be defined multiple times, once for each vocabulary graph that uses foaf terms).', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'nsid' => array( danielebarchiesi@4: 'description' => 'Namespace ID.', danielebarchiesi@4: 'type' => 'serial', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'gid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_vocabulary_graphs}.gid of the graph that defined this mapping.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: 'default' => 0, danielebarchiesi@4: ), danielebarchiesi@4: 'prefix' => array( danielebarchiesi@4: 'description' => 'The prefix as defined by the user for the main namespace, and by the source file for the additional namespaces.', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '255', danielebarchiesi@4: 'not null' => FALSE, danielebarchiesi@4: ), danielebarchiesi@4: 'uri' => array( danielebarchiesi@4: 'description' => 'The URI as defined by the user for the main namespace, and by the source file for the additional namespaces.', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '255', danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('nsid'), danielebarchiesi@4: 'unique keys' => array( danielebarchiesi@4: 'gid_uri' => array('gid', 'uri'), danielebarchiesi@4: ), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_terms'] = array( danielebarchiesi@4: 'description' => 'Terms defined or used in the vocabulary graph. Terms are stored on a per graph basis (i.e. foaf:Person will be stored once for each vocabulary graph that asserts something about it).', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'tid' => array( danielebarchiesi@4: 'description' => 'Term ID.', danielebarchiesi@4: 'type' => 'serial', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'nsid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_namespaces}.nsid for this term.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: 'default' => 0, danielebarchiesi@4: ), danielebarchiesi@4: 'local_name' => array( danielebarchiesi@4: 'description' => 'The local name of this term.', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '255', danielebarchiesi@4: 'not null' => FALSE, danielebarchiesi@4: 'default' => '', danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('tid'), danielebarchiesi@4: 'unique keys' => array( danielebarchiesi@4: 'nsid_ln' => array('nsid', 'local_name'), danielebarchiesi@4: ), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_term_types'] = array( danielebarchiesi@4: 'description' => 'The RDFS and OWL types that apply to the term. Only terms within the main_ns of a vocabulary graph should have term types.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the term.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'type' => array( danielebarchiesi@4: 'description' => 'The term type. Types should use defined constants.', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '32', danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('tid', 'type'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_vocabulary_details'] = array( danielebarchiesi@4: 'description' => 'Additional information about a vocabulary.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'gid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_vocabulary_graphs}.gid of the vocabulary graph.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'language' => array( danielebarchiesi@4: 'description' => 'The language code. Language codes should follow the format in _locale_get_predefined_list() in includes/iso.inc.', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '12', danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'label' => array( danielebarchiesi@4: 'description' => 'The name of the vocabulary in language.', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '255', danielebarchiesi@4: 'not null' => FALSE, danielebarchiesi@4: ), danielebarchiesi@4: 'description' => array( danielebarchiesi@4: 'description' => 'The description of the vocabulary in language', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '4095', danielebarchiesi@4: 'not null' => FALSE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('gid', 'language'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_term_details'] = array( danielebarchiesi@4: 'description' => 'Additional information about a term. Only terms within the main_ns of a vocabulary graph should have term details.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the term.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'language' => array( danielebarchiesi@4: 'description' => 'The language code. Language codes should follow the format in _locale_get_predefined_list() in includes/iso.inc.', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '12', danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'label' => array( danielebarchiesi@4: 'description' => 'The label for term tid in language.', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '255', danielebarchiesi@4: 'not null' => FALSE, danielebarchiesi@4: ), danielebarchiesi@4: 'comment' => array( danielebarchiesi@4: 'description' => 'The comment for term tid in language', danielebarchiesi@4: 'type' => 'varchar', danielebarchiesi@4: 'length' => '4095', danielebarchiesi@4: 'not null' => FALSE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('tid', 'language'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_term_domains'] = array( danielebarchiesi@4: 'description' => 'Domains of properties. Properties within the main_ns can declare classes outside of the main_ns as domains, but not vice versa.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the property.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'domain_tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the domain class.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('tid', 'domain_tid'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_term_inverses'] = array( danielebarchiesi@4: 'description' => 'Inverse properties.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the property.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'inverse_tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the inverse property.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('tid', 'inverse_tid'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_term_ranges'] = array( danielebarchiesi@4: 'description' => 'Ranges of properties. Properties within the main_ns can declare classes outside of the main_ns as ranges, but not vice versa.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the property.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'range_tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the range class.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('tid', 'range_tid'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_term_superclasses'] = array( danielebarchiesi@4: 'description' => 'Superclasses of classes. Classes within the main_ns can declare classes outside of the main_ns as superclasses, but not as subclasses.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the subclass.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'superclass_tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the superclass.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('tid', 'superclass_tid'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: $schema['rdfx_term_superproperties'] = array( danielebarchiesi@4: 'description' => 'Superproperties of properties. Properties within the main_ns can declare properties outside of the main_ns as superproperties, but not as subproperties.', danielebarchiesi@4: 'fields' => array( danielebarchiesi@4: 'tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the subproperty.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: 'superproperty_tid' => array( danielebarchiesi@4: 'description' => 'The {rdfx_terms}.tid of the superproperty.', danielebarchiesi@4: 'type' => 'int', danielebarchiesi@4: 'unsigned' => TRUE, danielebarchiesi@4: 'not null' => TRUE, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'primary key' => array('tid', 'superproperty_tid'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: return $schema; danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Enable entity module (new dependency). danielebarchiesi@4: */ danielebarchiesi@4: function rdfx_update_7001() { danielebarchiesi@4: module_enable(array(entity)); danielebarchiesi@4: drupal_set_message('The Entity API module is now required by the RDFx module and has been enabled.'); danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Move the ARC2 library to the new location if the libraries module is used. danielebarchiesi@4: */ danielebarchiesi@4: function rdfx_update_7002() { danielebarchiesi@4: if (module_exists('libraries') && is_dir(libraries_get_path('arc'))) { danielebarchiesi@4: if (mkdir(libraries_get_path('ARC2')) && rename(libraries_get_path('arc'), libraries_get_path('ARC2') . '/arc')) { danielebarchiesi@4: drupal_set_message('The ARC2 library has been moved to its new location.'); danielebarchiesi@4: } danielebarchiesi@4: else { danielebarchiesi@4: drupal_set_message('There was a problem while moving the ARC library to its new location.', 'error'); danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: }