All freetext/fulltext stuff has been removed in favour of 3.5+ productized fulltext indexes.
apoc.index.relatedNodes (index feature ootb) apoc.index.orderedRange (index feature ootb)
apoc.static.get (proc deleted, function exists) apoc.static.getAll (proc deleted, function exists)
apoc.monitor.locks() (proc deleted, cannot get information via api)
-
all apoc* configuration option needs to be moved to
apoc.conf-
apoc.initializer.cypher -
*apoc.initializer.cypher.<anything>`
-
mongo calls use
compatibleValue:trueby default. Reason: 4.0 doesn’t support java.util.Date as nested value in a map returned from a procedures. Side effect: date values are returned as millis since epoc.
-
|
Note
|
the following list is incomplete |
-
Neo4j config does no longer allow adhoc dynamic settings - which apoc uses a lot. Therefore APOC 4.0 uses it’s own
apoc.conf, seeApocConfig.java. -
moving global core API actions from
GraphDatabaseServicetoTransaction- e.g.tx.createNode(…) -
removal of graph properties. UUIDHandler, CypherProcedures and Triggers used them in APOC. Instead APOC 4.0 uses
systemdb, e.g. we maintain a separate node for each trigger:CREATE (n:ApocTrigger{database: <dbname>}, …) -
refactoring lots of
staticdatastructure in APOC intoLifeCycles, so they can exist on a per-database level -
all calls to AlgoFactory require now a
ExecutionContext(aka db + tx) -
TransactionTemplatehas been removed from Neo4j -
org.neo4j.cypher.export.SubGraphExporteret.al have been removed in Neo4j → we add the latest version of the sources to apoc -
using
ImpermanentDatabaseRuleinstead ofTestGraphDatabaseFactory… -
ImpermanentDatabaseRule.withSetting()takes now typed values instead of strings -
curly braces syntax for Cypher parameters no longer supported :
$paraminstead of{param} -
cypher’s
lengthfunctions doesn’t work on strings any longer. usesizeinstead -
TransactionEventHandlerrenamed toTransactionListener -
TransactionListener.beforeCommitgets an additional parameterTransaction -
on API level a
IndexDefinitioncould have multiple labels. Apoc’sSchemashould reflect that - to be discussed. -
nodes/rels acquired in one tx need to be rebound when used in another tx
tx.getNodeByid(node.getId())