The purpose of this application is to allow users to make simple visualisations of RDF graphs, with a focus on PROV-O, provenance ontology, graphs. It is intended to assist with prototyping PROV visualisations.
It is a small web application written in Python3, using the Flask HTTP framework to handle its web form and the uploading of RDf data and the Python rdflib module for RDF manipulation.
A user can:
- supply RDF data to an endpoint
- either via direct input, file upload, or an HTTP POST
- filter the graph
- the user can select one of number of strategies to include or exclude display elements
- view the result
- or as a static node-edge image for download
- or the filtered raw RDF data
You can use the data upload form presented by this application at its homepage to:
- directly input RDF
- copy 'n paste your data into a text box
- you will need to indicate the RDF format used
- upload an RDF file
- send an HTTP POST of RDF data
- the POST should be sent to the /show endpoint of the application
- you will need to correctly set the MIME type for your RDF data
This application will supply a number of selectable filtering strategies, any of which you can choose, which will then be applied to uploaded data. The strategies implemented so far are:
- aims to represent simple Entity, Activity & Agent classes of object with basic relationships only
- entities only
- removes everything from uploaded RDF data other than Entities and builds relationships between Entities where it can reason about them from other relationships
For full documentation for the strategies, see the /strategies web page delivered by the application or view the strategies.py file in this repository.
This repository works with Python 3.6 and the packages listed in requirements.txt.
There are files containing example data for testing each strategy in _test/. Each pair of testing data files is named test_<strategy_name>.ttl and test_<strategy_name>_result.ttl with the former file containing notes in comments about what the strategy should do to the data.
This code is supplied under a Creative Commons 4.0 license. See LICENSE for the specifics.
If you would like to refer to this repository, please do so using the URI http://promsns.org/repo/prov-show. A standard software repository citation might look like:
Car, N.J. (2018) PROV Show. Software repository of Python 3.6 Flask/rdflib code Repository using Git version control. Available online at http://promsns.org/repo/prov-show, accessed yyyy-mm-dd.