upgrade the version of neo4j (#1691)

This commit is contained in:
Jyoti Wadhwani 2020-06-04 22:14:57 -07:00 committed by GitHub
parent 867dbd0d36
commit 90e449d25e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 41 additions and 40 deletions

View File

@ -56,7 +56,7 @@ project.ext.externalDependency = [
'mockito': 'org.mockito:mockito-core:3.0.0',
'mysqlConnector': 'mysql:mysql-connector-java:5.1.47',
"neo4jHarness": "org.neo4j.test:neo4j-harness:3.4.11",
"neo4jJavaDriver": "org.neo4j.driver:neo4j-java-driver:1.7.2",
"neo4jJavaDriver": "org.neo4j.driver:neo4j-java-driver:4.0.0",
'parseqTest': 'com.linkedin.parseq:parseq:3.0.7:test',
'playDocs': 'com.typesafe.play:play-docs_2.11:2.6.18',
'playGuice': 'com.typesafe.play:play-guice_2.11:2.6.18',

View File

@ -1,8 +1,8 @@
package com.linkedin.common.factory;
import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.AuthTokens;
import org.neo4j.driver.Driver;
import org.neo4j.driver.GraphDatabase;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

View File

@ -1,7 +1,7 @@
package com.linkedin.dataset.factory;
import com.linkedin.metadata.dao.Neo4jQueryDAO;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.Driver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;

View File

@ -11,14 +11,14 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.javatuples.Triplet;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.Record;
import org.neo4j.driver.v1.Session;
import org.neo4j.driver.v1.StatementResult;
import org.neo4j.driver.v1.Value;
import org.neo4j.driver.Driver;
import org.neo4j.driver.Record;
import org.neo4j.driver.Session;
import org.neo4j.driver.Value;
import static com.linkedin.metadata.dao.Neo4jUtil.*;
@ -49,13 +49,13 @@ public class Neo4jQueryDAO extends BaseQueryDAO {
@Nonnull Statement queryStatement) {
EntityValidator.validateEntitySchema(entityClass);
return runQuery(queryStatement).list(record -> nodeRecordToEntity(entityClass, record));
return runQuery(queryStatement, record -> nodeRecordToEntity(entityClass, record));
}
@Nonnull
@Override
public List<RecordTemplate> findMixedTypesEntities(@Nonnull Statement queryStatement) {
return runQuery(queryStatement).list(this::nodeRecordToEntity);
return runQuery(queryStatement, this::nodeRecordToEntity);
}
@Nonnull
@ -96,7 +96,7 @@ public class Neo4jQueryDAO extends BaseQueryDAO {
final Statement statement = buildStatement(statementString, offset, count);
return runQuery(statement).list(this::nodeRecordToEntity);
return runQuery(statement, this::nodeRecordToEntity);
}
@Nonnull
@ -145,7 +145,7 @@ public class Neo4jQueryDAO extends BaseQueryDAO {
final String statementString = String.format(matchTemplate.toString(), srcType, srcCriteria);
final Statement statement = buildStatement(statementString, offset, count);
return runQuery(statement).list(this::nodeRecordToEntity);
return runQuery(statement, this::nodeRecordToEntity);
}
@Nonnull
@ -163,8 +163,7 @@ public class Neo4jQueryDAO extends BaseQueryDAO {
RelationshipValidator.validateRelationshipSchema(relationshipType);
return runQuery(findEdges(sourceEntityClass, sourceEntityFilter, destinationEntityClass, destinationEnityFilter,
relationshipType, relationshipFilter, offset, count)).list(
record -> edgeRecordToRelationship(relationshipType, record));
relationshipType, relationshipFilter, offset, count), record -> edgeRecordToRelationship(relationshipType, record));
}
@Nonnull
@ -173,24 +172,26 @@ public class Neo4jQueryDAO extends BaseQueryDAO {
@Nonnull Class<RELATIONSHIP> relationshipClass, @Nonnull Statement queryStatement) {
RelationshipValidator.validateRelationshipSchema(relationshipClass);
return runQuery(queryStatement).list(record -> edgeRecordToRelationship(relationshipClass, record));
return runQuery(queryStatement, record -> edgeRecordToRelationship(relationshipClass, record));
}
@Nonnull
@Override
public List<RecordTemplate> findMixedTypesRelationships(@Nonnull Statement queryStatement) {
return runQuery(queryStatement).list(this::edgeRecordToRelationship);
return runQuery(queryStatement, this::edgeRecordToRelationship);
}
/**
* Runs a query statement with parameters and return StatementResult
*
* @param statement a statement with parameters to be executed
* @param mapperFunction lambda to transform query result
* @return List<T> list of elements in the query result
*/
@Nonnull
private StatementResult runQuery(@Nonnull Statement statement) {
private <T> List<T> runQuery(@Nonnull Statement statement, @Nonnull Function<Record, T> mapperFunction) {
try (final Session session = _driver.session()) {
return session.run(statement.getCommandText(), statement.getParams());
return session.run(statement.getCommandText(), statement.getParams()).list(mapperFunction);
}
}

View File

@ -24,8 +24,8 @@ import java.util.StringJoiner;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.apache.commons.lang3.ClassUtils;
import org.neo4j.driver.v1.types.Node;
import org.neo4j.driver.v1.types.Relationship;
import org.neo4j.driver.types.Node;
import org.neo4j.driver.types.Relationship;
public class Neo4jUtil {

View File

@ -13,9 +13,9 @@ import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.Session;
import org.neo4j.driver.v1.StatementResult;
import org.neo4j.driver.Driver;
import org.neo4j.driver.Record;
import org.neo4j.driver.Session;
import static com.linkedin.metadata.dao.Neo4jUtil.*;
@ -79,9 +79,9 @@ public class Neo4jGraphWriterDAO extends BaseGraphWriterDAO {
* @param statement a statement with parameters to be executed
*/
@Nonnull
private StatementResult runQuery(@Nonnull Statement statement) throws Exception {
private List<Record> runQuery(@Nonnull Statement statement) throws Exception {
try (final Session session = _driver.session()) {
return session.run(statement.getCommandText(), statement.getParams());
return session.run(statement.getCommandText(), statement.getParams()).list();
}
}
@ -106,8 +106,8 @@ public class Neo4jGraphWriterDAO extends BaseGraphWriterDAO {
final Map<String, Object> params = new HashMap<>();
params.put("urn", urn.toString());
final StatementResult result = runQuery(buildStatement(statement, params));
return result.list().stream().map(record -> record.values().get(0).asMap()).collect(Collectors.toList());
final List<Record> result = runQuery(buildStatement(statement, params));
return result.stream().map(record -> record.values().get(0).asMap()).collect(Collectors.toList());
}
// used in testing
@ -129,8 +129,8 @@ public class Neo4jGraphWriterDAO extends BaseGraphWriterDAO {
params.put("sourceUrn", sourceUrn.toString());
params.put("destinationUrn", destinationUrn.toString());
final StatementResult result = runQuery(buildStatement(statement, params));
return result.list().stream().map(record -> record.values().get(0).asMap()).collect(Collectors.toList());
final List<Record> result = runQuery(buildStatement(statement, params));
return result.stream().map(record -> record.values().get(0).asMap()).collect(Collectors.toList());
}
// used in testing
@ -146,8 +146,8 @@ public class Neo4jGraphWriterDAO extends BaseGraphWriterDAO {
final Map<String, Object> params = new HashMap<>();
params.put("sourceUrn", sourceUrn.toString());
final StatementResult result = runQuery(buildStatement(statement, params));
return result.list().stream().map(record -> record.values().get(0).asMap()).collect(Collectors.toList());
final List<Record> result = runQuery(buildStatement(statement, params));
return result.stream().map(record -> record.values().get(0).asMap()).collect(Collectors.toList());
}
@Nonnull

View File

@ -22,8 +22,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.javatuples.Triplet;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.Driver;
import org.neo4j.driver.GraphDatabase;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

View File

@ -12,7 +12,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nonnull;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.GraphDatabase;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

View File

@ -1,6 +1,6 @@
package com.linkedin.metadata.kafka.config;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.Driver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

View File

@ -1,9 +1,9 @@
package com.linkedin.metadata.neo4j;
import javax.annotation.Nonnull;
import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.AuthTokens;
import org.neo4j.driver.Driver;
import org.neo4j.driver.GraphDatabase;
public class Neo4jDriverFactory {