Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nbittich/graph-rdfa-processor

RDFa processor library
https://github.com/nbittich/graph-rdfa-processor

rdfa rdfa-extractor rust semantic-web

Last synced: 15 days ago
JSON representation

RDFa processor library

Awesome Lists containing this project

README

        

# RDFa processor library (WIP)

Rust and wasm library to extract rdf statements (in n-triples format) from an html file
based on rdfa annotations.

## Examples

### Rust usage:

```rust
use graph_rdfa_processor::RdfaGraph;
let html = r#"


Dan Brickley



"#;
let base = "http://example.com";
let well_known_prefix = Some("http://example.org/.well_known");

RdfaGraph::parse_str(html, base, well_known_prefix).unwrap()

```

### Node usage:

`npm i @nbittich/rdfa-wasm`

```js
const { html_to_rdfa } = require("@nbittich/rdfa-wasm");

const example = `


Test 0224




  1. git remote add origin [email protected]:nbittich/node-rdfa-wasm-example.gitFoo

  2. Bar



`;

console.log(html_to_rdfa(example, "http://data.lblod.info", ""));
```

### Web usage (not published on npm yet):

```js

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();

```

- covers:

- [RDFa 1.1 Primer - Third Edition](https://www.w3.org/TR/rdfa-primer/)
- [RDFa Core](https://www.w3.org/TR/rdfa-core/)
- [Earl-Reports](https://rdfa.info/earl-reports/#RDFa-rdfa1.1-tests-for-html5)

- used [RDFa/Play](https://rdfa.info/play/) for comparing.
- [Demo](https://nbittich.github.io/graph-rdfa-processor/)