Server side setup of the LWMap Server like it was used on http://lwmap.uni-koeln.de/
Its was created as Part of my dissertation: http://kups.ub.uni-koeln.de/id/eprint/7533
Create your own Wikipedia Map:
choose starting-articles and link-language, browse the visualization, filter the interesting Nodes, download and share your visualization.
The context visualisations server was created as part of my dissertation.
It originally and hopefully still runs on http://lwmap.uni-koeln.de/ with data form DBpedia 3.9.
The following installation description describes how to setup and Install the system on a Linux (Ubuntu 16.04 LTS should work).
./createData Contains the create Data script, which Build up the base Data for the Application.
./doc contains Documentation
./Java_exec contains the java Routines used to create the nets.
./run contains Nodejs Server scripts
./Settings contains Setting files and Example for Settings see Readme File
./www_content contains the Data For the Web-server
./fuseki Install Fuseki here (install.sh)
./cvManagement Holds Start/restart/Checklog scripts see readme for Configuration
./UserTracking contains a description of the user tracking system an the prototype Database
Java 7, openJDK to Execute Fuseki and the Core Executeable.
nodejs, v0.10 for the Server Programm and the user Tracking
A Webserver(apache, nginx) for the static Data.
The There is a Docker Testbed including all dependencies.
sudo docker build . -t my:cvServer
sudo docker run --name cvServer -v TriplesInTDB:/srv/cvserver_data/triples/ -p 8090:8090 -p 3030:3030 -p 8080:80 my:cvServer
Replace the TriplesInTDB with the Folder where you executed createData script
There are Three Ports Used:
- 8080 for the Webfrontend this you can call with your browser
- 8090 This is the port of the Internal nodeJS Server
- 3030 Fuseki (RDF Triplestore)
Make shure these ports are unused when starting the Container! For Changes Setting/dockerSettings/local.json must be altered!!
The User Tracking Database can be Access by Opening the MySQl/MariaDB port (usually 3306).
Add: -p:3306
Then you can access the Database with the Database Management tool of you choice.
There are Folder containing the Data which maybe should not stay only inside the container. you can mount some Folders to make the Data Permanent:
/usr/local/apache2/htdocs/pubfiles
In folder createData is a script that will prepare all the Data form the DBpedia dump 2016.
WARNING Executing the Script will take a lot of diskspace, the Process will consume a lot of RAM (6GB preset) and it will take a lot of time(more than 4 Hours depending on your system).
Download dbpedia Page Links, classes and redirects (for lookups) form dbpedia.
In the project the Internationalized links and the classes Files where Taken from DBpedia.
http://wiki.dbpedia.org/Downloads
Afterwards compress them into TDB-Databases.
These files must be linked in the setting/local.ttl
attribute: tdb:location.
The location.ttl can be modified from the example file Settings/fuseki-test.ttl
In the example the TDB stores are in /var/opt/cvserver_data/ , replace it with the Folders of the created TDB stores.
The Triple-store can be on another server (Load balancing).
configure setting/local.json see setting/readme.txt for instructions.
execute install.sh This will download and unpack Apache fuseki to ./fuseki and SigmaJS, Bootstrap in the www_content Folder, it will also change settings in the settings of www_content so run before moving the www_content.
If you can Proceed take a look at the content of the Scripts and the Dockerfile to get a deeper insight into what happens at installation time!
Install npm Packages:
sparql, mysql
Copy the Web-Frontend
example:
cp -r /opt/CVServer/www_content/ /var/www/ContextVis/
The project needs a subfolder pubfiles in the Web Documents where the created gexf files are stored setting/local.json (see setting/readme.txt for instructions)
- Get an Mysql/MariaDB Database (install it on the machine for example)
- create Database
- read Database structure from UserTracking/UserTracking.sql into Database
- Add Database configuraion to setting/local.json see setting/readme.txt for instructions
Run with CV Management:
Configure the CV-management see cvManagement/Readme.txt
cvManagement/node_start.sh Start the Node JS Server
cvManagement/node_restart.sh Restarts The nodejs Server if its allready Running
cvManagement/node_checklog.sh tails the log of the Nodejs Server
cvManagement/fuseki_start.sh Start fuseki
cvManagement/fuseki_restart.sh Restarts fukseki
cvManagement/fuseki_checklog.sh tails the log of fuseki