@@ -10,16 +10,20 @@ OPTIONAL MATCH (projectdir:Directory)<-[:HAS_ROOT]-(project:TS:Project)-[:CONTAI
1010 ,count { (module )- [: EXPORTS ]- > (: TypeAlias )} AS numberTypeAliases
1111 ,count { (module )- [: EXPORTS ]- > (: Interface )} AS numberInterfaces
1212 WITH *
13- ,numberInterfaces + numberTypeAliases + numberAbstractClasses AS numberAbstractTypes
13+ ,numberInterfaces + numberTypeAliases + numberAbstractClasses AS numberAbstractTypes
14+ ,numberInterfaces + numberTypeAliases + (numberAbstractClasses * 0.7 ) AS weightedAbstractTypes
1415 WITH *
15- ,toFloat (numberAbstractTypes ) / (numberTypes + 1E - 38 ) AS abstractness
16- SET module .abstractness = abstractness
17- ,module .numberOfAbstractTypes = numberAbstractTypes
18- ,module .numberOfTypes = numberTypes
16+ ,toFloat (weightedAbstractTypes ) / (numberTypes + 1E - 38 ) AS abstractness
17+ SET module .abstractness = abstractness
18+ ,module .numberOfAbstractTypes = numberAbstractTypes
19+ ,module .numberOfAbstractClasses = numberAbstractClasses
20+ ,module .numberOfTypes = numberTypes
1921RETURN projectName
2022 ,module .globalFqn AS fullQualifiedModuleName
2123 ,module .name AS moduleName
2224 ,abstractness
2325 ,numberAbstractTypes
2426 ,numberTypes
27+ ,numberAbstractClasses
28+ ,weightedAbstractTypes
2529ORDER BY abstractness ASC , numberTypes DESC
0 commit comments