MATCH (prs:Issue)-[:REPORTED_BY]-(custs)
MATCH (prs)-[:CLOSED_ON]-(cls:IssueClosedDate)
MATCH (prs)-[:REPORTED_BY]->(custNode:Customer)
MATCH (prs)-[:APP_FUN_CAT]-(afc:AppFunCat)
MATCH (prs)-[:REPORTED_IN]-(release:Release)
WHERE afc.func STARTS WITH 'WEB' AND NOT(cls.closedDate = '' ) AND afc.appName STARTS WITH 'SOCKET'
AND apoc.date.parse(cls.closedDate,'s', 'MM/dd/yyyy') >= apoc.date.parse('01/01/2014','s', 'MM/dd/yyyy')
AND apoc.date.parse(cls.closedDate,'s', 'MM/dd/yyyy') <= apoc.date.parse('06/13/2017','s', 'MM/dd/yyyy')
AND afc.cat IN ["ALL","NEW","SOFTWARE","UNDETERMINED"]
RETURN prs.prId AS prList, custs.customerName AS customer, afc.cat AS category, cls.closedDate AS prClosedDate, release.relName as releaseName `
Приведенный выше запрос дает мне результат, показанный ниже:
"prList" "funName" "year" "afc.appName" "afc.cat" "cls.closedDate"
7371322 "WEB" "2015" "SOCKET" "SOFTWARE" "4/27/2015"
8277662 "WEB" "2015" "SOCKET" "SOFTWARE" "9/24/2015"
7513015 "WEB" "2015" "SOCKET" "SOFTWARE" "9/24/2015"
Этот результат неверен, если я проверяю базу данных.Он должен был дать больше номера списка, чем этот.
Было обнаружено, что если я удаляю один из фильтров afc.appName STARTS WITH 'SOCKET'
или apoc.date.parse(cls.closedDate,'s', 'MM/dd/yyyy') <= apoc.date.parse('06/13/2017','s', 'MM/dd/yyyy')
или fc.cat IN ["ALL","NEW","SOFTWARE","UNDETERMINED"]
, то результат, который я получаю,правильный.Поэтому я могу сказать, что база данных построена правильно.Хотя в приведенном выше запросе показано три результата, количество столбцов больше.
Есть ли какие-либо ограничения в базе данных neo4j, что мы не можем этого сделать?Кто-нибудь может подсказать, как можно решить эту проблему?