我想获取节点中地址的纬度和经度,因此我将apoc库安装到neo4j中。
neo4j version : 3.3.5 (community version)
apoc version : apoc-3.3.0.3-all.jar
我把这个jar放在/opt/neo4j/neo4j-community-3.3.5/plugins 然后更改了conf文件并包含以下属性
dbms.security.procedures.unrestricted=apoc.*
apoc.spatial.geocode.provider=google
apoc.spatial.geocode.google.throttle=1000
apoc.spatial.geocode.google.key=XXXX (actual key is provided)
并重新启动neo4j服务器。当我尝试这些命令时
MATCH (n:provider_address) where n.cty_nm = 'BOSTON' CALL apoc.spatial.geocodeOnce( n.adr_ln_1_txt + "," + n.cnty_nm +","+n.cty_nm ) YIELD location
RETURN location.latitude, location.longitude
CALL apoc.spatial.geocodeOnce('901 Trophy Hills Drive; Las Vegas; Nevada 89134; United States of America') YIELD location, latitude, longitude, description
CALL apoc.spatial.geocode('901 Trophy Hills Drive; Las Vegas; Nevada 89134; United States of America')
会抛出错误
Neo.ClientError.Procedure.ProcedureCallFailed:无法调用过程apoc.spatial.geocode
:引起:java.lang.NullPointerException
然而,以下命令
RETURN apoc.version()
CALL apoc.help('apoc.spatial.geocodeOnce');
match (tom:Person {name :"Tom Hanks"})
call apoc.path.expand(tom,"ACTED_IN>|PRODUCED<|FOLLOWS<","+Movie|Person",0,3) yield path as pp
return pp;
我在配置apoc或地理空间conf时错过了什么?为什么我在语法正确时获得空指针。我正在为函数提供有效值。非常感谢任何帮助