Rust and wasm library to extract rdf statements (in n-triples format) from an html file based on rdfa annotations.
use graph_rdfa_processor::RdfaGraph;
let html = r#"
<div prefix="foaf: http://xmlns.com/foaf/0.1/" about="http://www.example.org/#somebody" rel="foaf:knows">
<p about="http://danbri.org/foaf.rdf#danbri" typeof="foaf:Person" property="foaf:name">Dan Brickley</p>
</div>
"#;
let base = "http://example.com";
let well_known_prefix = Some("http://example.org/.well_known");
RdfaGraph::parse_str(html, base, well_known_prefix).unwrap()
npm i @nbittich/rdfa-wasm
const { html_to_rdfa } = require("@nbittich/rdfa-wasm");
const example = `
<!doctype html>
<html>
<head>
<title>Test 0224</title>
</head>
<body>
<div about="">
<ol rel="rdf:value" inlist="">
<li>git remote add origin git@github.com:nbittich/node-rdfa-wasm-example.git<a href="foo">Foo</a></li>
<li><a href="bar">Bar</a></li>
</ol>
</div>
</body>
</html>
`;
console.log(html_to_rdfa(example, "http://data.lblod.info", ""));
<script type="module">
import init, {html_to_rdfa} from "./rdfa-wasm/pkg/rdfa_wasm.js";
async function run() {
await init();
let html =`
<div prefix="foaf: http://xmlns.com/foaf/0.1/" about="http://www.example.org/#somebody" rel="foaf:knows">
<p about="http://danbri.org/foaf.rdf#danbri" typeof="foaf:Person" property="foaf:name">Dan Brickley</p>
</div>
`;
let base = "http://example.com";
let well_known_prefix = "http://example.org/.well_known";
let res = html_to_rdfa(html, base, well_known_prefix);
}
run();
</script>
-
covers:
-
used RDFa/Play for comparing.