mirror of
https://github.com/datahub-project/datahub.git
synced 2025-11-01 19:25:56 +00:00
upgrade the version of neo4j (#1691)
This commit is contained in:
parent
867dbd0d36
commit
90e449d25e
@ -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',
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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 {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user