jairo-parser
Simplified RDF/XML parser
Jairo Parser is built on the powerful rdf parser library rdf-ext. You can use it inside Node.js application. Jairo Parser gives you a simpler way to parse RDF/XML by passing output into a simplified JSON object (Jairo Object ).
Installation
npm install jairo-parser
Usage
Parsing RDF/XML data from a string
var jairo = ; var prefixesOfInterest = 'prefix' : 'rdf' 'uri' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns##' 'prefix' : 'dcterms' 'uri' : 'http://purl.org/dc/terms/' 'prefix' : 'foaf' 'uri' : 'http://xmlns.com/foaf/0.1/' ; var rdf = '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns##" ' + ' xmlns:dcterms="http://purl.org/dc/terms/" ' + ' xmlns:foaf="http://xmlns.com/foaf/0.1/"> ' + ' <rdf:Description rdf:about="http://example.org/123"> ' + ' <dcterms:creator> ' + ' <foaf:Person rdf:about="http://example.org/person45"> ' + ' <rdf:value>John Smith</rdf:value> ' + ' <foaf:phone rdf:resource="tel:+358-555-1234567"/> ' + ' </foaf:Person> ' + ' </dcterms:creator> ' + ' </rdf:Description> ' + '</rdf:RDF>'; jairo;
Parsing RDF/XML data from a file
File: test.rdf
John Smith
Load RDF/XML data from a file
var jairo = ;var fs = ; var prefixesOfInterest = 'prefix' : 'rdf' 'uri' : 'http://www.w3.org/1999/02/22-rdf-syntax-ns##' 'prefix' : 'dcterms' 'uri' : 'http://purl.org/dc/terms/' 'prefix' : 'foaf' 'uri' : 'http://xmlns.com/foaf/0.1/' ; fs;
Output of console.log( parsedData );
Output of jairo.printHumanReadbleResult( parsedData );
Iterating over Jairo objects
Based on the example code, you can iterate triples by following code.
jairo;
Access each triple
for var i = 0; i < parsedDatatripleslength; i++ var triple = parsedDatatriplesi; console; console; console; console; console; console; console; console; ;
Output
subject_uri=<http://example.org/123> subject_qn=123 predicate_uri=<http://purl.org/dc/terms/creator> predicate_qn=dcterms:creator object_uri=<http://example.org/person45> object_qn=person45 subject_uri=<http://example.org/person45> subject_qn=person45 predicate_uri=<http://www.w3.org/1999/02/22-rdf-syntax-ns##type> predicate_qn=rdf:type object_uri=<http://xmlns.com/foaf/0.1/Person> object_qn=Person subject_uri=<http://example.org/person45> subject_qn=person45 predicate_uri=<http://www.w3.org/1999/02/22-rdf-syntax-ns##value> predicate_qn=rdf:value object_uri=John Smith object_qn=John Smith subject_uri=<http://example.org/person45> subject_qn=person45 predicate_uri=<http://xmlns.com/foaf/0.1/phone> predicate_qn=foaf:phone object_uri=tel:+358-555-1234567 object_qn=tel:+358-555-1234567
List all parsed prefixes
for var prop in parsedDataprefixesParsed console;
Output
prefix=dcterms:creator uri=http://purl.org/dc/terms/ prefix=rdf:type uri=http://www.w3.org/1999/02/22-rdf-syntax-ns## prefix=rdf:value uri=http://www.w3.org/1999/02/22-rdf-syntax-ns## prefix=foaf:phone uri=http://xmlns.com/foaf/0.1/
Count number of prefixes
for var prop in parsedDataprefixesParsedStat console;
Output
prefix=dcterms:creator count=1 prefix=rdf:type count=1 prefix=rdf:value count=1 prefix=foaf:phone count=1