1111 ,min (codeUnit .centralityArticleRank ) AS minArticleRank
1212 ,max (codeUnit .centralityArticleRank ) AS maxArticleRank
1313 ,percentileDisc (codeUnit .centralityPageRank , 0.90 ) AS pageRankThreshold
14+ ,percentileDisc (codeUnit .centralityPageRankToArticleRankDifference , 0.90 ) AS pageToArticleRankDifferenceThreshold
1415 UNWIND codeUnits AS codeUnit
1516 WITH *
16- WHERE codeUnit .centralityPageRank >= pageRankThreshold
17- WITH *
18- ,(codeUnit .centralityPageRank - minPageRank ) / (maxPageRank - minPageRank ) AS normalizedPageRank
19- ,(codeUnit .centralityArticleRank - minArticleRank ) / (maxArticleRank - minArticleRank ) AS normalizedArticleRank
20- WITH *
21- ,normalizedPageRank - normalizedArticleRank AS normalizedPageRankToArticleRankDifference
22- WITH collect (codeUnit ) AS codeUnits
23- ,minPageRank , maxPageRank , minArticleRank , maxArticleRank
24- ,percentileDisc (normalizedPageRankToArticleRankDifference , 0.90 ) AS pageToArticleRankDifferenceThreshold
25- UNWIND codeUnits AS codeUnit
26- WITH *
27- ,(codeUnit .centralityPageRank - minPageRank ) / (maxPageRank - minPageRank ) AS normalizedPageRank
28- ,(codeUnit .centralityArticleRank - minArticleRank ) / (maxArticleRank - minArticleRank ) AS normalizedArticleRank
29- WITH *
30- ,normalizedPageRank - normalizedArticleRank AS normalizedPageRankToArticleRankDifference
31- WHERE normalizedPageRankToArticleRankDifference >= pageToArticleRankDifferenceThreshold
17+ WHERE codeUnit .centralityPageRankToArticleRankDifference >= pageToArticleRankDifferenceThreshold
3218OPTIONAL MATCH (artifact :Java :Artifact )- [ : CONTAINS ] -> (codeUnit )
3319 WITH * , artifact .name AS artifactName
3420OPTIONAL MATCH (projectRoot :Directory )<- [ : HAS_ROOT ] - (proj :TS :Project )- [ : CONTAINS ] -> (codeUnit )
3521 WITH * , last (split (projectRoot .absoluteFileName , '/' )) AS projectName
3622 WITH * , coalesce (artifactName , projectName ) AS projectName
3723 ORDER BY codeUnit .centralityPageRank DESC , codeUnit .centralityArticleRank ASC
3824 LIMIT 10
39- WITH collect ([codeUnit , projectName , normalizedPageRank , normalizedArticleRank , normalizedPageRankToArticleRankDifference ]) AS results
40- UNWIND range (0 , size (results ) - 1 ) AS codeUnitIndex
41- WITH codeUnitIndex + 1 AS codeUnitIndex
42- ,results [codeUnitIndex ][0 ] AS codeUnit
43- ,results [codeUnitIndex ][1 ] AS projectName
44- ,results [codeUnitIndex ][2 ] AS normalizedPageRank
45- ,results [codeUnitIndex ][3 ] AS normalizedArticleRank
46- ,results [codeUnitIndex ][4 ] AS normalizedPageRankToArticleRankDifference
25+ WITH collect ([codeUnit , projectName ]) AS results
26+ UNWIND range (0 , size (results ) - 1 ) AS codeUnitIndex
27+ WITH codeUnitIndex + 1 AS codeUnitIndex
28+ ,results [codeUnitIndex ][0 ] AS codeUnit
29+ ,results [codeUnitIndex ][1 ] AS projectName
4730 SET codeUnit :Mark4TopAnomalyAuthority
4831 ,codeUnit .anomalyAuthorityRank = codeUnitIndex
4932 RETURN DISTINCT
@@ -52,7 +35,5 @@ OPTIONAL MATCH (projectRoot:Directory)<-[:HAS_ROOT]-(proj:TS:Project)-[:CONTAINS
5235 ,coalesce (codeUnit .fqn , codeUnit .globalFqn , codeUnit .fileName , codeUnit .signature , codeUnit .name ) AS codeUnitName
5336 ,codeUnit .centralityPageRank AS pageRank
5437 ,codeUnit .centralityArticleRank AS articleRank
55- ,codeUnit .anomalyAuthorityRank AS rank
56- ,normalizedPageRank
57- ,normalizedArticleRank
58- ,normalizedPageRankToArticleRankDifference
38+ ,codeUnit .centralityPageRankToArticleRankDifference AS normalizedPageRankToArticleRankDifference
39+ ,codeUnit .anomalyAuthorityRank AS rank
0 commit comments