Skip to content

Instantly share code, notes, and snippets.

@jimklo
Created February 23, 2012 23:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jimklo/1895833 to your computer and use it in GitHub Desktop.
Save jimklo/1895833 to your computer and use it in GitHub Desktop.
var ASNPatterns = [
/http:\/\/purl\.org\/ASN\/resources\/[A-Z0-9]+/g
];
var Alignment = {
parseDCT_ConformsTo: function(resource_data) {
var stds = {};
try {
var nsdl = eval(resource_data);
var dct = new Namespace("http://purl.org/dc/terms/");
conformsToElems = nsdl..dct::conformsTo
for (idx in conformsToElems) {
stds[conformsToElems[idx].toString().trim()] = true;
}
} catch (error) {
// bury error
}
return stds;
}
};
function(doc) {
// !code lib/alignment.js
try {
if (doc.doc_type == "resource_data" && doc.resource_data && doc.resource_locator && doc.node_timestamp) {
var ctMap = Alignment.parseDCT_ConformsTo(doc.resource_data);
var found = {};
for (ct in ctMap) {
for (re in ASNPatterns){
var stds = ct.match(ASNPatterns[re]);
for (s in stds) {
if (!found[stds[s]]) {
emit([doc.resource_locator, doc.node_timestamp, stds[s]], null);
found[s] = true;
}
}
}
}
}
} catch (error) {
log("error:"+error);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment