Difference between revisions of "Metadata Retriever Plugins"
(→First Phase) |
(→First Phase) |
||
Line 8: | Line 8: | ||
To accomplish this... | To accomplish this... | ||
− | *enable resources to allow dynamic metadata to be attached (by plug-ins) | + | *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 gets all the assertions from resource | ||
*associate each custom metadata field with a URI-namespace to avoid cardinality | *associate each custom metadata field with a URI-namespace to avoid cardinality | ||
*Create plug-in; call from aggregate step; use resource's save method; | *Create plug-in; call from aggregate step; use resource's save method; |
Revision as of 18:23, 15 June 2010
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.
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)