[![dump-genenetwork-database-tests CI badge](https://ci.genenetwork.org/badge/dump-genenetwork-database-tests.svg)](https://ci.genenetwork.org/jobs/dump-genenetwork-database-tests) [![dump-genenetwork-database CI badge](https://ci.genenetwork.org/badge/dump-genenetwork-database.svg)](https://ci.genenetwork.org/jobs/dump-genenetwork-database) The GeneNetwork database is being migrated from a relational database to a plain text and RDF database. This repository contains code to dump the relational database to plain text. # Using Drop into a development environment with ``` shell $ guix shell ``` Describe the database connection parameters in a file *conn.scm* file as shown below. Take care to replace the placeholders within angle brackets with the appropriate values. ``` scheme ((sql-username . "") (sql-password . "") (sql-database . "") (sql-host . "") (sql-port . ) (virtuoso-port . ) (virtuoso-username . "") (virtuoso-password . "") (sparql-scheme . ) (sparql-host . "") (sparql-port . )) ``` Then, to dump the database to \~/data/dump, run ``` shell $ ./pre-inst-env ./dump.scm conn.scm ~/data/dump ``` Make sure there is enough free space! It\'s best to dump the database on penguin2 where disk space and bandwidth are not significant constraints. Then, load the dumped RDF into virtuoso. This will load the dumped RDF into the `http://genenetwork.org` graph, and will delete all pre-existing data in that graph. ``` shell $ ./pre-inst-env ./load-rdf.scm conn.scm ~/data/dump/dump.ttl ``` Now, you may query virtuoso to visualize the SQL and RDF schema. ``` shell $ ./pre-inst-env ./visualize-schema.scm conn.scm ``` This will output graphviz dot files `sql.dot` and `rdf.dot` describing the schema. Render them into SVG images like so. ``` shell $ dot -Tsvg -osql.svg sql.dot $ dot -Tsvg -ordf.svg rdf.dot ``` Or, peruse them interactively with `xdot`. ``` shell $ xdot sql.dot $ xdot rdf.dot ``` # Contributing See bugs and tasks in BUGS.org.