这是我的配置
@EnableTransactionManagement
@EnableScheduling
@EnableAutoConfiguration
@ComponentScan(basePackages = {"id.co.babe.neo4j.service"})
@Configuration
public class MyNeo4jConfiguration extends Neo4jConfiguration {
private static final Logger LOGGER = LoggerFactory.getLogger(MyNeo4jConfiguration.class);
@Value("${neo4j.server.user}")
private String user;
@Value("${neo4j.server.pass}")
private String pass;
@Value("${neo4j.server.host}")
private String host;
@Override
public Neo4jServer neo4jServer() {
return new RemoteServer(host,user,pass);
}
@Override
public SessionFactory getSessionFactory() {
return new SessionFactory("app.neo4j.domain");
}
@Bean
@Primary
public Neo4jOperations getNeo4jTemplate() throws Exception {
return new Neo4jTemplate(getSession());
}
这是我的域用户
@NodeEntity
public class User{
@GraphId
private Long Id;
private String name;
private int age;
private String country;
和我的服务界面
public interface UserService {
public User create(User user);
public User read(User user);
public List<User> readAll();
public User update(User user);
public Boolean delete(User user);
}
和我的实施
@Service
@Transactional
public class UserServiceImpl implements UserService{
@Autowired
Neo4jOperations template;
@Override
public User create(User user){
return template.save(user);
}
这是我的主要课程
for(int i = 0; i < 10; i++){
app.neo4j.domain.User user = new app.neo4j.domain.User();
user.setAge(13);
user.setCountry("Philly");
user.setId(i);
user.setName("Ibanez" + i);
LOGGER.info("Inserting {}",user.getName());
service.create(user);
}
没有找到错误,但是当我转到neo4j
控制台(localhost:7474)并运行此查询时,匹配(n)返回n,这将返回数据库中的所有节点。不幸的是,即使我能够保存没有错误,也没有找到节点。我想知道出了什么问题。
我也尝试使用@enablingNeo4jRepositories
,但结果没有区别。
答案 0 :(得分:4)
您的代码永远不应设置df4 = pd.DataFrame(index=df1.index, columns=df1.columns)
df4 = df4.combine_first(df2).combine_first(df1)
print df4
a b c
1 1.0 0.0 1.0
2 1.0 0.0 1.0
3 0.0 0.0 0.0
字段的值。此字段在内部用于将实体附加到图表中。
如果您删除@GraphId
,则应正确保存您的实体。
请注意,您可以添加自己的自定义ID字段,但仍需要GraphID的其他字段,例如。
user.setId(i);