jQAssistantの助けを借りて、いくつかの命名規則を実装したいと思います。インターフェイスを実装するすべてのクラスには、PropertyConverter
で終わる名前を付ける必要がありますConverter
。この規則は、匿名の内部クラスには適用されません。今、私は2つのクエリを持っています。これは、命名規則に違反するすべてのクラスを返します。
MATCH (t:Type)-[:IMPLEMENTS]->(i:Type)
WHERE i.fqn='PropertyConverter' And
NOT t.name =~ '.*Converter'
RETURN t.fqn
しかし、このクエリは、 のような名前を持つ内部クラスも返しますABC$1
。これらのクラスは、次のクエリで見つけることができます。
MATCH (t:Type)-[:IMPLEMENTS]->(i:Type)
WHERE i.fqn='org.apache.tamaya.PropertyConverter'
AND NOT t.name =~ '.*Converter'
WITH t
MATCH (h:Type)-[:DECLARES]->(t)
RETURN distinct t.fqn, h.fqn
しかし、2 番目の結果セットに含まれていない最初のクエリの結果のみを取得するように、両方のクエリを組み合わせることができませんでした。
両方のクエリを組み合わせるにはどうすればよいですか?