This module defines plugins for the Feeds module that let you turn remote linked data resources into Drupal entities, such as nodes and taxonomy terms. It can be used for either a one-time import or periodic imports.
Most of the Drupal functionality comes from the Feeds module itself. All linked data fetching and parsing is handled by the Graphite and ARC2 libraries.
- You configure a Feeds importer
- You define a list of resource URIs to import
- Graphite fetches RDF data for each resource via content negotiation
- Feeds creates one Drupal entity for each resource
- Feeds maps RDF properties to Drupal fields for each entity
- Drupal 7.x
- Feeds module
- Libraries module
- Graphite library
- ARC2 library
- Download and enable the Feeds module and its dependencies.
- Enable the feeds_ui module.
- Download and enable the Libraries API module.
- Download and enable the ldimport module.
- Download the ARC2 library. Unpack it so the path to ARC2.php is:
sites/<sitename>/libraries/ARC2/arc/ARC2.php
- Download the Graphite library. Unpack it so the path to Graphite.php is:
sites/<sitename>/libraries/Graphite/Graphite.php
or via Drush:
drush dl feeds libraries
drush en -y feeds feeds_ui libraries
git clone https://github.com/milesw/ldimport
drush en ldimport
drush ldimport-download
- Create a new Feeds importer at /admin/structure/feeds. For testing, choose "Use standalone form" for the attached content type, and check "Import on submission".
- Choose Linked Data Fetcher as the Fetcher plugin.
- Choose Linked Data Parser as the Parser plugin.
- Choose any Processor plugin.
- Add mappings from linked data to Drupal fields under Processor / Mapping. Be sure to include at least one unique mapping (e.g. URI → Feeds URL, or URI → Feeds GUID). There are two special mapping sources: "URI" and "Label". Beyond those, use the full predicate URI as the mapping source. Separate predicate URIs with spaces and empty brackets (" [] ") to map properties from related individuals.
- Visit /import and click on your importer.
- Enter a list of URIs for resources you want to import.
- Run the import.
The module can be extended by creating a new Feeds fetcher plugin. The fetcher is responsible for coming up with a list of URIs to be imported. That list could come from a flat file, a SPARQL endpoint, a private web service, etc. The only requirement is that your class extending FeedsFetcherResult includes a getList() method.
This module is the result of work done at Cornell University's Albert R. Mann Library to bring content from Cornell's VIVO database into Drupal.