.. _main_setup: ***** Setup ***** .. include:: rst_directives.rst .. _`Neo4J WebServer`: https://neo4j.com/download/other-releases/ MaSyMoS can be used as a standalone or as a plugin for the `Neo4J WebServer`_. If you want to run MaSyMoS from it's source locally on your computer, please follow the steps described in :ref:`contrib_start` to setup an development environment. Build Jar files ############### Build Jar files with Docker =========================== The easiest way of creating the MaSyMoS-jar-files is to use `our MaSyMos-Docker-Project `__. #. clone the repository #. run the ``jar-builder/maven-build-masymos-jars.sh`` bash file #. find all jar files in `jar-builder/masymos-builds` Find further information on the docker repository and how to tweak it on the documentation page :ref:`docs_docker`. Build Jar files locally ======================= To create a local standalone you need ``masymos-core`` and ``masymos-cli``. To create it locally, clone the repositories, get the dependencies via Maven and build the jar. You need to take care of the java version, you are using. Find more information on the :ref:`contrib_start`. Find the instructions on how to use the command line interface in the :ref:`use_cli`. Setup Server ############ Setup Server with Docker ======================== The easiest way of using the MaSyMoS Morre Neo4J Plugin is to use `our MaSyMos-Docker-Project `__. #. clone the repository #. copy your local database into a docker volume with :c_bash:`$ ./server-integration/copy_own_data_into_docker_volume.sh /path/to/neo4j/databases/my_database` #. run the server with ``server-integration/run-neo4j-server.sh`` Find detailed usage information on the documentation page :ref:`docs_docker`. Find the instructions on how to use masymos morre in the :ref:`use_morre`. Setup Server locally ==================== If you want to use MaSyMoS as a search server for models you will have to set up the server version. To do so, start by downloading `Neo4J WebServer`_. Please check the Neo4J-vesion in pom.xml (:c_xml:`org.neo4j`) before downloading the server. You might want to make sure to compile MaSyMoS with the same version as the downloaded server. Follow the Neo4J setup instructions. To create a Server-MaSyMoS you need ``masymos-core`` and ``masymos-morre``. Then follow these steps: #. Use Maven to compile ``masymos-core`` (``mvn install``) without dependencies and do the same with ``masymos-morre`` (``mvn package``). You must use the same Java version used for Neo4J. #. Copy the JAR for ``masymos-more`` into ``$Neo4jRoot/plugins``. #. Open ``$Neo4JRoot/conf/neo4j.conf`` and set: .. csv-table:: Arguments :header: "Key", "Value", "Description" :widths: 10, 10, 80 ``dbms.active_database``, … , "points the path of your database" ``dbms.allow_upgrade`` (v3.3+) ``dbms.allow_format_migration`` ( click here to show the list .. code-block:: text activation-1.1.jar animal-sniffer-annotations-1.14.jar axis-1.4.jar axis-jaxrpc-1.4.jar axis-saaj-1.4.jar axis-wsdl4j-1.5.1.jar BFLog-1.3.7.jar BFUtils-0.5.7.jar biojava-ontology-4.0.0.jar BiVeS-CellML-1.8.0.jar BiVeS-Core-1.9.1.jar caffeine-2.6.1.jar collections-generic-4.01.jar commons-cli-1.3.jar commons-codec-1.11.jar commons-csv-1.0.jar commons-discovery-0.2.jar commons-lang3-3.9.jar commons-logging-1.2.jar commons-rdf-api-0.5.0.jar dom4j-1.6.1.jar error_prone_annotations-2.0.18.jar fluent-hc-4.5.5.jar gson-2.8.6.jar guava-22.0.jar hamcrest-core-1.3.jar hppcrt-0.7.5.jar httpclient-4.5.10.jar httpclient-cache-4.5.2.jar httpclient-osgi-4.5.5.jar httpcore-4.4.12.jar httpcore-nio-4.4.9.jar httpcore-osgi-4.4.9.jar httpmime-4.5.5.jar j2objc-annotations-1.1.jar jackson-annotations-2.9.10.jar jackson-core-2.9.10.jar jackson-databind-2.9.10.jar javax.inject-1.jar javax.ws.rs-api-2.0.jar jaxen-1.1.1.jar jcl-over-slf4j-1.7.22.jar jCOMODI-1.0.2.jar jdom2-2.0.5.jar jdom-1.0.jar jdom-1.1.3.jar jdom-contrib-1.1.3.jar jena-arq-3.0.0.jar jena-base-3.0.0.jar jena-core-3.0.0.jar jena-iri-3.0.0.jar jena-shaded-guava-3.0.0.jar jena-tdb-3.0.0.jar jfact-5.0.3.jar jigsaw-2.2.6.jar jlibsedml-2.2.3.jar jmathml-2.2.1.jar jms-1.1.jar jmxri-1.2.1.jar jmxtools-1.2.1.jar joda-time-2.9.7.jar jsbml-1.5.jar jsbml-arrays-1.5.jar jsbml-comp-1.5.jar jsbml-core-1.5.jar jsbml-distrib-1.5.jar jsbml-dyn-1.5.jar jsbml-fbc-1.5.jar jsbml-groups-1.5.jar jsbml-layout-1.5.jar jsbml-multi-1.5.jar jsbml-qual-1.5.jar jsbml-render-1.5.jar jsbml-req-1.5.jar jsbml-spatial-1.5.jar jsbml-tidy-1.5.jar jsonld-java-0.12.0.jar json-simple-1.1.1.jar jsoup-1.12.1.jar jsr305-3.0.2.jar jtidy-r938.jar jul-to-slf4j-1.7.25.jar junit-4.12.jar libthrift-0.9.2.jar log4j-1.2.15.jar log4j-1.2-api-2.3.jar log4j-api-2.8.2.jar log4j-core-2.8.2.jar log4j-slf4j-impl-2.1.jar mail-1.4.jar masymos-core-1.0.2.jar metainf-services-1.8.jar miriam-lib-1.1.6.jar netty-all-4.1.32.Final.jar owlapi-api-5.1.12.jar owlapi-apibinding-5.1.12.jar owlapi-compatibility-5.1.12.jar owlapi-distribution-5.1.12.jar owlapi-impl-5.1.12.jar owlapi-oboformat-5.1.12.jar owlapi-parsers-5.1.12.jar owlapi-rio-5.1.12.jar owlapi-tools-5.1.12.jar paxtools-core-5.1.0.jar rdf4j-model-2.3.2.jar rdf4j-rio-api-2.3.2.jar rdf4j-rio-binary-2.3.2.jar rdf4j-rio-datatypes-2.3.2.jar rdf4j-rio-jsonld-2.3.2.jar rdf4j-rio-languages-2.3.2.jar rdf4j-rio-n3-2.3.2.jar rdf4j-rio-nquads-2.3.2.jar rdf4j-rio-ntriples-2.3.2.jar rdf4j-rio-rdfjson-2.3.2.jar rdf4j-rio-rdfxml-2.3.2.jar rdf4j-rio-trig-2.3.2.jar rdf4j-rio-trix-2.3.2.jar rdf4j-rio-turtle-2.3.2.jar rdf4j-util-2.3.2.jar RoaringBitmap-0.6.32.jar slf4j-api-1.7.13.jar slf4j-log4j12-1.7.12.jar stax2-api-3.1.4.jar staxmate-2.3.0.jar trove4j-3.0.3.jar woodstox-core-5.0.1.jar xalan-2.7.0.jar xercesImpl-2.8.0.jar xml-apis-1.3.03.jar xmlpull-1.1.3.1.jar xmlutils-0.6.13.jar xom-1.3.2.jar xpp3_min-1.1.4c.jar xstream-1.4.9.jar xz-1.6.jar zstd-proxy-3.5.13.jar .. raw:: html #. Finally, we need to add ``$Neo4JRoot/lib/ext`` to the servers classpath. - Linux - Open ``$Neo4JRoot/bin/neo4j`` and add ``:${NEO4J_LIB}/ext/*`` to CLASSPATH variable .. code-block:: bash build_classpath() { CLASSPATH="${NEO4J_PLUGINS}:${NEO4J_CONF}:${NEO4J_LIB}/*:${NEO4J_LIB}/ext/*:${NEO4J_PLUGINS}/*" # … - Windows - Open ``$Neo4JRoot/bin/Neo4j-Management/Get-Java.ps1`` and add ``;$($Neo4jServer.Home)/lib/ext/*`` to the Java command line: .. code-block:: ps1 # Build the Java command line $ClassPath="$($Neo4jServer.Home)/lib/*;$($Neo4jServer.Home)/plugins/*;$($Neo4jServer.Home)/lib/ext/*" - Well done, you can now try to start MaSyMoS with :c_bash:`./bin/neo4j console`! - Read about how to work with the server on :ref:`use_morre`.