Metadata Retriever Plugins
Contact | Contact:: |
---|---|
Project | ,|project_name|Project Driver::project_name}} |
Status | Status::In Development |
First Phase
Operators may wish to include metadata about Resources from other sources, including web services (ie, Semantic Analysis), databases, or something else. This describes how to implement a plugin to import this information.
A plugin implements IMetadataImporter, which provides a single method, loadMetadata. loadMetadata takes a Resource, and is responsible for adding any fields to it. loadMetadata is not responsible for persisting the Resource.
The initial prototype will log URLs as it goes.
The first working plug-in could exercise the del.icio.us API to retrieve tags that delicious users have placed on a URI. Example: api.del.icio.us
/v1/posts/suggest?url=http://ocw.nd.edu/computer-applications/applied-multimedia-technology
To accomplish this...
- enable resources to allow dynamic metadata to be attached (by plug-ins) through a new method on "resource"
- method that adds an assertion to resource
- checks to see if the assertion exists, uses if exists, creates if not exist
- populates assertion with data
- method that adds an assertion to resource
-
- method that gets all the assertions from resource
- associate each custom metadata field with a URI-namespace to avoid cardinality
- Create plug-in; call from aggregate step; use resource's save method;
Deferred until later
Allow configuration of plug-ins
- enable/disable individual plug-ins
- add additional or custom plug-ins
- alter order in which plug-ins run (to determine which are authoritative)