Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 使用WHERE的Cypehr查询。。。并且不能通过python嵌入绑定工作_Python 2.7_Neo4j_Cypher - Fatal编程技术网

Python 2.7 使用WHERE的Cypehr查询。。。并且不能通过python嵌入绑定工作

Python 2.7 使用WHERE的Cypehr查询。。。并且不能通过python嵌入绑定工作,python-2.7,neo4j,cypher,Python 2.7,Neo4j,Cypher,我正在制作一个原型,我把我所有的电影细节都存储在neo4j上。我正在使用python作为我的编程语言 现在,我想知道我在某一特定级别(比如10.0)上对哪些电影进行了评级。为此,我编写了以下Cypher查询: START me=node(1) MATCH me-[r:likes]-> movies WHERE has(r.Ratings) and r.Ratings = '10.0' RETURN movies 这在neo4j webadmin上运行良好。但是,当我使用python

我正在制作一个原型,我把我所有的电影细节都存储在neo4j上。我正在使用python作为我的编程语言

现在,我想知道我在某一特定级别(比如10.0)上对哪些电影进行了评级。为此,我编写了以下Cypher查询:

START me=node(1) 
MATCH me-[r:likes]-> movies 
WHERE has(r.Ratings) and r.Ratings = '10.0' 
RETURN movies
这在neo4j webadmin上运行良好。但是,当我使用python运行相同的程序时:

myMovies = db.query("START me=node({id}) MATCH me-[r:likes]-> movies WHERE has(r.Ratings) and r.Ratings = '10.0' RETURN movies",id=user["nodeID"])
我得到以下错误:

Traceback (most recent call last):
  File "GraphTest.py", line 228, in <module>
    test.findTaste("Paritosh Kumar")
  File "GraphTest.py", line 31, in findTaste
    taste = self.BuildTasteForUser(user)
  File "GraphTest.py", line 52, in BuildTasteForUser
    myMovies = db.query("START me=node({id}) MATCH me-[r:likes]-> movies WHERE has(r.Ratings) and r.Ratings = '10.0' RETURN movies",id=user["nodeID"])
  File "/usr/local/lib/python2.7/dist-packages/neo4j/__init__.py", line 155, in query
    return self._cypher_engine.execute(query, **params)
  File "/usr/local/lib/python2.7/dist-packages/neo4j/cypher.py", line 31, in execute
    return ExecutionResult(self._engine.execute(query,to_java(params)))
  File "/usr/local/lib/python2.7/dist-packages/neo4j/_backend.py", line 156, in decorator
    return fn(*args, **kwargs)
jpype._jexception.CypherExceptionPyRaisable: unknown function
"START me=node({id}) MATCH me-[r:likes]-> movies WHERE has(r.Ratings) and r.Ratings = '10.0' RETURN movies"
回溯(最近一次呼叫最后一次):
文件“GraphTest.py”,第228行,在
测试findTaste(“Paritosh Kumar”)
FindTask中第31行的文件“GraphTest.py”
taste=self.BuildTasteForUser(用户)
BuildTasteForUser中第52行的文件“GraphTest.py”
myMovies=db.query(“START me=node({id})MATCH me-[r:likes]->movies WHERE has(r.Ratings)和r.Ratings='10.0'返回电影”,id=user[“nodeID”])
文件“/usr/local/lib/python2.7/dist-packages/neo4j/_-init__uuu.py”,第155行,在查询中
返回self.\u cypher\u engine.execute(查询,**参数)
文件“/usr/local/lib/python2.7/dist packages/neo4j/cypher.py”,执行中的第31行
返回ExecutionResult(self.\u engine.execute(查询,到\u java(参数)))
文件“/usr/local/lib/python2.7/dist packages/neo4j/_backend.py”,第156行,在decorator中
返回fn(*args,**kwargs)
jpype.\u jexception.cpherexceptionpyraisable:未知函数
“START me=node({id})匹配me-[r:likes]->movies WHERE has(r.Ratings)和r.Ratings='10.0'返回电影”
我对Cypher和neo4j本身并不熟悉,不知道为什么会发生这种情况。有人能帮我吗

Regds, 帕里托什

使用!()操作员:

START me=node(1) 
MATCH me-[r:likes]-> movies 
WHERE r.Ratings! = '10.0' 
RETURN movies

事实上,我刚刚在docu中读到has()应该是有效的,但出于某种原因,它在这种情况下对我不起作用。。。但是它不起作用,这就是为什么我必须使用round-about方法(使用has()):(…无论如何,我得到的错误是:jpype.\u jexception.cpherexceptionpyraisable:expected return子句“START me=node({id})MATCH me-[r:likes]>电影,其中r.Ratings!='10.0'返回电影”^我正在使用neo4j 1.8.1你能用这样的节点(1)试试吗?
START me=node({id})MATCH me-[r:likes]->movies WHERE has(r.Ratings)and r.Ratings='10.0'RETURN movies',id=1)
您是否仍然会遇到同样的错误?这是Python中的失败,还是控制台或neo4j shell中的失败?Peter…这是Python中的失败。这是与webadmin一起工作的,我不确定neo4j shell。