tree-document-topology-visualizer

A software to draw the topology of a TREE view

https://github.com/constraintautomaton/tree-document-topology-visualizer

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

graph rdf semantic-web tree-specification visualization
Last synced: 6 months ago · JSON representation ·

Repository

A software to draw the topology of a TREE view

Basic Info
  • Host: GitHub
  • Owner: constraintAutomaton
  • License: gpl-3.0
  • Language: Go
  • Default Branch: main
  • Homepage:
  • Size: 235 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
graph rdf semantic-web tree-specification visualization
Created almost 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

Tree-document-topology-visualizer

Software to draw the topology of a TREE view.

Example of a topology Example of a topology

How it work

The processing can be divided into 4 steps; - Query the TREE view to get the tree:relation - Build a graph from the tree:relation - Build a graphviz graph - Generate a graph file (supported file types: dot, svg, png, jpg)

We use the Link Traversal Query Processessing modules of the SPARQL query engine Comunica to execute the following SPARQL query to collect information about the tree:Relation and the current tree:Nodes.

```sparql PREFIX tree: https://w3id.org/tree# PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#

SELECT ?node ?nextNode ?operator ?value WHERE { ?node tree:relation ?relation . ?relation tree:node ?nextNode .

?relation rdf:type ?operator. ?relation tree:value ?value . } LIMIT {limit} `` We then build a graph from the query response where the vertices are composed of the variables from the SPARQL query?nodeand?nextNodeand the edges are characterized by the pair (?node,?nextNode) and are "weighted" with the boolean expression composes with the SPARQL variable?operator?value`.

The graph is forwarded to the go-graphviz library which handles the generation of the graph file.

Dependencies

Build

First use

To build the software for a first time

make build-all

It will build the main source code and the javascript code used to instantiate Comunica.

Main source code

To only build the main source code

make build

The binary will be located in ./build/tree-visualizer

Debugging

To build the code and then run it with the default parameters

make build-run

Usage

To run with the default parameters

make run

The binary is located inside the ./build/tree-visualizer. To display the help prompt use -h. The file type is inferred from the extension of the path passed to -p.

Usage of ./build/tree-visualizer: -l uint The maximum number of relations (default 18446744073709551615) -p string Resulting path of the graph (default "./generated/graph.svg") -t string URL of the TREE document (default "http://localhost:3000/ldes/test") -u Make the graph unlabeled

Test

To run all the tests

make test

TO DO

  • [ ] Make a streaming version of the program where the graph is generated has the relations are discovered.
  • [ ] Make a mode to handle simpler tree:relation without using optional statements in the SPARQL query has it greatly slows down the execution time.
  • [ ] Include an option to track the nodes that are traversed when executing a SPARQL query from an outsider Query engine.
  • [ ] Option to output an html file, with an interactive graph using JavaScript.
  • [ ] Create a web assembly binary.

Bib reference

bib @software{Tam_tree-document-topology-visualizer_2023, author = {Tam, Bryan-Elliott}, doi = {10.5281/zenodo.1234}, month = {4}, title = {{tree-document-topology-visualizer}}, url = {https://github.com/constraintAutomaton/tree-document-topology-visualizer}, version = {1.0.0}, year = {2023} }

Owner

  • Name: Bryan-Elliott Tam
  • Login: constraintAutomaton
  • Kind: user
  • Location: Ghent, Belgium
  • Company: imec - Ghent University - IDLab

PhD Student working on querying for semantic web technologies

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Tam"
  given-names: "Bryan-Elliott"
  orcid: "https://orcid.org/ 0000-0003-3467-9755" 
title: "tree-document-topology-visualizer"
version: 1.0.0
doi: 10.5281/zenodo.1234
date-released: 2023-04-07
url: "https://github.com/constraintAutomaton/tree-document-topology-visualizer"

GitHub Events

Total
Last Year

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 55
  • Total Committers: 1
  • Avg Commits per committer: 55.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Bryan-Elliott Tam b****m@u****e 55
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels