2017-03-11 8 views
0

のNeo4jサイファーは、私は、次のサイファーのクエリを持って仕分けし、パターンの理解

MATCH (parentD)-[:CONTAINS]->(childD:Decision)-[ru:CREATED_BY]->(u:User) 
WHERE id(parentD) = 89592 
OPTIONAL MATCH (childD)<-[:SET_FOR]->(sortValue89686:Value)-[:SET_ON]->(sortCharacteristic89686:Characteristic) 
WHERE id(sortCharacteristic89686) = 89686 
WITH ru, u, childD , sortValue89686 
ORDER BY sortValue89686.value ASC, childD.name DESC 
SKIP 0 LIMIT 100 
RETURN ru, u, childD AS decision, 
[ (parentD)<-[:DEFINED_BY]-(entity)<-[:COMMENTED_ON]-(comg:CommentGroup)-[:COMMENTED_FOR]->(childD) | {entityId: id(entity), types: labels(entity), totalComments: toInt(comg.totalComments)} ] AS commentGroups, 
[ (parentD)<-[:DEFINED_BY]-(c1:Criterion)<-[:VOTED_ON]-(vg1:VoteGroup)-[:VOTED_FOR]->(childD) | {criterionId: id(c1), weight: vg1.avgVotesWeight, totalVotes: toInt(vg1.totalVotes)} ] AS weightedCriteria, 
[ (parentD)<-[:DEFINED_BY]-(ch1:Characteristic)<-[:SET_ON]-(v1:Value)-[:SET_FOR]->(childD) | {characteristicId: id(ch1), value: v1.value, valueType: ch1.valueType, visualMode: ch1.visualMode} ] AS valuedCharacteristics 

今のところ、このクエリでは、以下の部分:

OPTIONAL MATCH (childD)<-[:SET_FOR]->(sortValue89686:Value)-[:SET_ON]->(sortCharacteristic89686:Characteristic) 
WHERE id(sortCharacteristic89686) = 89686 

は、return文のすべてのパターンの理解のためにヌルを生成します。 commentGroups,weightedCriteriaおよびvaluedCharacteristicsはNULLではなく、sortValue89686.valueがnullでないレコードに対してのみ値を含みます。代わりに、スクリーンショットでヌルの

enter image description here

はIの値を期待上方sortValue89686.valueがヌルである偶数行のための(commentGroupsweightedCriteria及びvaluedCharacteristicsため)。

私は間違っていますか、それを修正する方法は何ですか?

+0

あなたは 'sortValue212'について言及しましたが、クエリのどこにも表示されません。これが何であるかを明確にすることはできますか? – InverseFalcon

+0

@InverseFalcon申し訳ありませんが、この特定のケースでは、これは 'sortValue89686.value'です。私は質問を更新しました。 – alexanoid

答えて

1

これは、Neo4j 3.1.1以下(おそらくthis one、またはそれに関連する可能性が高い)に影響を与えるバグの結果と思われます。

Neo4j 3.1.1で結果を再現できますが、Neo4j 3.1.2では結果が再現できません(ヌルなし、結果は良好です)。

3.1.2にアップグレードしてください(デフォルトの最新リリースとして設定されていないので、hereから取得してください)。

+0

ありがとう!私の前のコメントは無視してください。すべてがWindows Standalone Neo4j 3.1.2と適切な組み込みバージョンで完璧に動作します。私は自分のLinuxステージenvでそれをチェックするつもりです。 – alexanoid

関連する問題