Skip to content
This repository has been archived by the owner on Jan 20, 2023. It is now read-only.

Create backend code to generate graph data from RDF #8

Open
grtjn opened this issue Oct 11, 2019 · 1 comment
Open

Create backend code to generate graph data from RDF #8

grtjn opened this issue Oct 11, 2019 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@grtjn
Copy link
Contributor

grtjn commented Oct 11, 2019

We need to facilitate generating graph data from RDF. There are example sparql queries in GraphApi.js. It is best packaged in a lib that can be exposed in multiple ways, like rest extension and data service.

The most basic convention used by that code is that any subject/object IRI becomes a node, and any predicate an edge. rdfs:label values are used as label for nodes and edges, with a fallback to a stripped iri name. rdf:type values are used as group for nodes (and edges?), using full IRI if available.

This could be extended with similar conventions for well-known ontologies. For instance SKOS: skos:prefLabel could serve as an alternative for rdfs:label, and skos:Concept IRI as alternative for group. Some vendors, like PoolParty, attach classes to selected topic, a relation that can be used to find ancestor Topics to use for grouping instead of every topic itself. PoolParty uses a proprietary predicated called appliedType for this.

@grtjn grtjn added the enhancement New feature or request label Oct 11, 2019
@grtjn grtjn added this to the vanilla-vis milestone Oct 11, 2019
@grtjn grtjn changed the title Create a backend code to generate graph data from RDF Create backend code to generate graph data from RDF Oct 11, 2019
@grtjn
Copy link
Contributor Author

grtjn commented Oct 11, 2019

There is no recommended approach for publishing backend code. Packaging in a jar that works with ml-gradle might make sense. Packaging and publishing as MLPM package could work as well. Or maybe both.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant