RETURN v.uId as UID, v:ToDo AS todo, v:Processing AS processing Search with regular expression MATCH (v:Version) WHERE v.uId =~ 'com.innoq.*' RETURN v.uId as UID
'com.innoq.*1.0' OPTIONAL MATCH v-[r:DEPENDS_ON_COMPILE|DEPENDS_ON_RUNTIME*1..5]->other -[:HAS_LICENSE]->(l:LicenseInfo) RETURN DISTINCT l.name as License, l.url as URL ORDER BY l.name
OPTIONAL MATCH (orig)-[:DEPENDS_ON]->(common:Version)<-[:DEPENDS_ON]-(other) WITH orig, other, collect(DISTINCT common.uId) AS common OPTIONAL MATCH (orig)-[:DEPENDS_ON]->(origVersion:Version)-[:VERSION_OF]->(commonArtifact:ArtifactElement), (other)-[:DEPENDS_ON]->(otherVersion:Version)-[:VERSION_OF]->(commonArtifact) WITH orig, other, common, collect({origVersion: origVersion.uId, otherVersion: otherVersion.uId}) AS commonArtifacts OPTIONAL MATCH (orig)-[:DEPENDS_ON]->(origOnly:Version)-[:VERSION_OF]->(a:ArtifactElement) WHERE NOT (other)-[:DEPENDS_ON]->(:Version)-[:VERSION_OF]->(a) WITH orig, other, common, commonArtifacts, collect(DISTINCT origOnly.uId) AS origOnly OPTIONAL MATCH (other)-[:DEPENDS_ON]->(otherOnly:Version)-[:VERSION_OF]->(a:ArtifactElement) WHERE NOT (orig)-[:DEPENDS_ON]->(:Version)-[:VERSION_OF]->(a) RETURN common, commonArtifacts, origOnly, collect(DISTINCT otherOnly.uId) AS otherOnly