Mercurial > hg > may
changeset 73:dce097536346
Retrieve global RDF as well
author | Chris Cannam |
---|---|
date | Wed, 27 Feb 2013 14:21:44 +0000 |
parents | 875e78fd245c |
children | de08f1d78992 |
files | vamprdf.yeti |
diffstat | 1 files changed, 28 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/vamprdf.yeti Wed Feb 27 13:55:23 2013 +0000 +++ b/vamprdf.yeti Wed Feb 27 14:21:44 2013 +0000 @@ -49,6 +49,30 @@ store done; +getGlobalPluginIndex () = + list (strSplit "\n" (fetchURL [ Timeout 10 ] (Handle getContents) + "http://www.vamp-plugins.org/rdf/plugins/index.txt")); + +//!!! need to cache these retrievals +parseGlobalVampRdf () = + (parse urls = + case urls of + url::rest: + (doc = fetchURL [ Timeout 10 ] (Handle getContents) url; + parsed = read.parseTurtleString url doc; + { url, parsed } :. \(parse rest)); + _: []; + esac; + parse (getGlobalPluginIndex ())); + +loadGlobalVampRdf store = + for (parseGlobalVampRdf ()) do { url, parsed }: + case read.loadParsedTriples store parsed of + OK (): (); + Error e: eprintln "WARNING: Failed to load Vamp RDF from URL \(url): \(e)"; + esac; + done; + filterIRIsFromNodes nodes = map do r: case r of IRI iri: iri; esac done (filter do r: case r of IRI iri: true; _: false esac done nodes); @@ -141,7 +165,11 @@ get inputDomain () = inputDomainOf store pluginIRI }; +//!!! reconsider these names { +getGlobalPluginIndex, +parseGlobalVampRdf, +loadGlobalVampRdf, getSystemVampRdfStore, vampPluginNodes = pluginNodes, vampLibraryNodes = libraryNodes,