23 oktober 2019

Taken:

  1. Neo4j
  2. alud
    • cookbook
    • functies mogen geen panic doen als het resultaat in een test gebruikt wordt of optioneel is
    • geen eindeloze loops in fixMisplacedHeadsInCoordination()

Neo4j op urd2

Verbinding http://urd2.let.rug.nl:7474/ werkt alleen vanaf haytabo.

Verbinding https://urd2.let.rug.nl:7473/ werkt alleen vanaf haytabo en geeft een foutmelding in de browser: NET::ERR_CERT_AUTHORITY_INVALID
Ik heb wat aangepast in /etc/neo4j/neo4j.conf en materiaal gekopieerd naar /var/lib/neo4j/certificates/default, maar dat is blijkbaar nog niet in orde.

Verbinding bolt://urd2.let.rug.nl:7687/ werkt alleen vanaf haytabo:

cypher-shell -a bolt://urd2.let.rug.nl:7687

Mijn aanpassingen in iptables:

-A FORWARD -p tcp -m multiport --dports 7473,7474,7687 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7473 -m comment --comment "neo4j - Https Access" -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7474 -m comment --comment "neo4j - Access" -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7687 -m comment --comment "neo4j bolt - Access" -j ACCEPT

Aanpassing in /lib/systemd/system/neo4j.service:

"JAVA_HOME=/net/aps/common/opt/jre1.8" toegevoegd aan Environment

Dit lost het volgende probleem op:

You are using an unsupported version of the Java runtime. Please use Oracle® Java™ Runtime Environment 8, OpenJDK ™ 8 or IBM J9.

An illegal reflective access operation has occurred
Illegal reflective access by org.eclipse.collections.impl.utility.ArrayListIterate (file:/usr/share/neo4j/lib/eclipse-collections-9.2.0.jar) to field java.util.ArrayList.elementData
Please consider reporting this to the maintainers of org.eclipse.collections.impl.utility.ArrayListIterate
Use –illegal-access=warn to enable warnings of further illegal reflective access operations
All illegal access operations will be denied in a future release

Eindhovencorpus in Neo4j

Zie: /net/aistaff/kleiweg/neo4jvoorbeelden

Invoeren van corpus is nu nogal primitief (alleen Eindhoven-corpus):

./dact2neo4j | cypher-shell

Als er iets mis gaat moet je alle ingevoerde data verwijderen en helemaal opnieuw beginnen.

Grootte database:

MySQL + dact + dactx Neo4j
0,2 + 3,4 + 3,7 = 7,3 Gb 2,5 Gb

Lang niet alle attributen zijn geïndexeerd. Zie:

CALL db.indexes ;

Alle corpora komen in één database. In een volgende versie van Neo4j zou het mogelijk moeten zijn meerdere databases tegelijk te gebruiken, dus voor elk corpus één. Dan hoef je zoals nu ook niet meer op elke node aan te geven van welk corpus het is.

Er kunnen meerdere gebruikers zijn (elk met een eigen password), maar elke gebruiker heeft lees- en schrijftoegang tot alle data. Mogelijk is dat anders in de Enterprise-editie, en als er straks meerdere databases tegelijk gebruikt kunnen worden. Het is me niet duidelijk wat de gebruiksvoorwaardes voor de Enterprise-editie zijn.

cypher neo4j universal dependencies