Tests on best ways to integrate Agrovoc concepts into Drupal for browsing Agrovoc

Final objective of the tests:

providing an intelligent search / browse interface for Agrovoc in Drupal based on the Agrovoc RDF (SKOS) version.

A basic idea of the search / browse functionalities can be given by the "Search", "Alphabetical browse" and "Hierarchy" functions in AIMS:

http://aims.fao.org/website/Search-AGROVOC/sub

http://aims.fao.org/website/Alphabetical-browse/sub

http://aims.fao.org/website/Hierarchy/sub

But the RDF-based version should exploit the relations fully, allowing to narrow/broaden searches and navigate further/back the relationships.

This project focuses more on Agrovoc concepts as the actual object of the information system than on Agrovoc concepts as a means for tagging contents (manually or automatically), but in the end it should also allow to use the integrated Agrovoc concepts for "tagging", e.g. using "node reference" fields if Agrovoc concepts are integrated as nodes.

See a similar and related project for a Drupal module that uses the Agrovoc SKOS version to index contents: http://aims.fao.org/community/agridrupal/forums/proposal-drupal-workbench-module: one of the suggested approaches is that of integrating Agrovoc concepts as nodes and using node reference fields to "tag" contents.

Phases of the tests:

1) Making Agrovoc concepts available in Drupal

Possible approaches:

Option 1) Integrating Agrovoc concepts into Drupal:

Using Solr indexing and the Drupal Solr module for integrating Agrovoc concepts into Drupal.

Different options:

a) Import Agrovoc SKOS into Drupal nodes to be then indexed with the Drupal Solr module;

Issue: How to import? Using DERI's SPARQL Proxy module?

The important thing is that the starting point for the Solr indexes is the Agrovoc SKOS version.

A first test using the Agrovoc Mysql database for importing nodes into Drupal, just for testing, can be considered.

Other issues: How are concept URIs stored by Drupal in this scenario? Title? Special field? How to implement node references when importing nodes?

TESTS TO BE DONE BY ALESSANDRO, FABRIZIO TO PROVIDE THE SOLR INSTANCE ON A SERVER

b) Create Lucene/Solr indexes from the Agrovoc SKOS file and expose them through Solr web services to the Drupal Solr module.

To be tested. The Solr indexed created starting from Agrovoc SKOS file should be created as Drupal would create them starting from the imported nodes.

Issues: a) will it work?? b) Drupal would use the indexes, but it would not actually have the concepts integrated as nodes. Consequences? How to use them to index contents?

TESTS TO BE DONE BY FABRIZIO, ALESSANDRO TO PROVIDE AN EXAMPLE OF SOLR INDEXES CREATED BY DRUPAL

Option 2) Putting Agrovoc behind the Drupal SPARQL engine:

Import the Agrovoc RDF file using evoc? Make it available for SPARQL queries?

Issues: Drupal would not actually have the concepts integrated as nodes. But it would be a very standardized RDF - SPARQL solution, re-usable by other partners. Additional procedures should be designed to allow content indexing.

TESTS TO BE DONE BY ALESSANDRO, starting from Armon's experience with the geopolitical ontology (ask him more information on how they did this: http://www.kwapro.com/agri-km-drupal/ and if they managed to import Agrovoc in the end)

2) Visualizing and navigating Agrovoc concepts in Drupal

Options:

a) If Agrovoc concepts are Drupal nodes, use Views to search and browse them?

b) If Drupal nodes or Agrovoc concepts imported with evoc can be exposed behind the Drupal SPARQL engine, use SPARQL queries and then Exhibit or another visualization tool to display the results?

TESTS TO BE DONE BY ALESSANDRO, perhaps at a second stage (for point b, still refer to Armon's experiences)