Metric Results

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package TC CC AC Ca Ce A I D V
org.wikidata.query.rdf.spark.metrics 4 4 0 0 10 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.spark.metrics.queries 4 4 0 0 6 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.spark.metrics.queries.subgraphpairs 2 2 0 1 6 0.0% 86.0% 14.0% 1
org.wikidata.query.rdf.spark.metrics.queries.subgraphs 32 32 0 1 10 0.0% 91.0% 9.0% 1
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed 12 12 0 1 9 0.0% 90.0% 10.0% 1
org.wikidata.query.rdf.spark.metrics.subgraphs.general 3 3 0 1 10 0.0% 91.0% 9.0% 1
org.wikidata.query.rdf.spark.transform.queries.sparql 11 11 0 0 10 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.spark.transform.queries.sparql.visitors 4 4 0 0 4 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries 7 7 0 0 10 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.spark.transform.structureddata.dumps 33 33 0 0 24 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.spark.transform.structureddata.subgraphs 6 6 0 0 12 0.0% 100.0% 0.0% 1
org.wikidata.query.rdf.spark.utils 13 13 0 8 8 0.0% 50.0% 50.0% 1
org.wikidata.query.rdf.updater.reconcile 2 2 0 0 7 0.0% 100.0% 0.0% 1

Packages

[ summary ] [ packages ] [ cycles ] [ explanations ]

org.wikidata.query.rdf.spark.metrics

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.metrics.SubgraphMetricsLauncher
org.wikidata.query.rdf.spark.metrics.SubgraphMetricsLauncher$
org.wikidata.query.rdf.spark.metrics.SubgraphMetricsParams
org.wikidata.query.rdf.spark.metrics.SubgraphMetricsParams$
None java.lang
org.wikidata.query.rdf.spark.metrics.queries.subgraphpairs
org.wikidata.query.rdf.spark.metrics.queries.subgraphs
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed
org.wikidata.query.rdf.spark.metrics.subgraphs.general
scala
scala.collection
scala.runtime
scala.sys
scopt

org.wikidata.query.rdf.spark.metrics.queries

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.metrics.queries.QueryResult
org.wikidata.query.rdf.spark.metrics.queries.QueryResult$
org.wikidata.query.rdf.spark.metrics.queries.QueryResultRecorder$$anonfun$org$wikidata$query$rdf$spark$metrics$queries$QueryResultRecorder$$$nestedInanonfun$sortBindingSet$1$1
org.wikidata.query.rdf.spark.metrics.queries.QueryResultRecorder$$anonfun$sortBindingSet$5
None java.lang
org.openrdf.query
scala
scala.collection
scala.math
scala.runtime

org.wikidata.query.rdf.spark.metrics.queries.subgraphpairs

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 6 0.0% 86.0% 14.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.metrics.queries.subgraphpairs.SubgraphPairQueryMetricsExtractor
org.wikidata.query.rdf.spark.metrics.queries.subgraphpairs.SubgraphPairQueryMetricsExtractor$
org.wikidata.query.rdf.spark.metrics
java.lang
org.apache.spark.sql
org.wikidata.query.rdf.spark.utils
scala
scala.collection
scala.collection.immutable

org.wikidata.query.rdf.spark.metrics.queries.subgraphs

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 10 0.0% 91.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.metrics.queries.subgraphs.GeneralQueryMetrics
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.GeneralQueryMetrics$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.GeneralQueryMetrics$$typecreator1$1
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.GeneralSubgraphQueryMetrics
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.GeneralSubgraphQueryMetrics$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.GeneralSubgraphQueryMetrics$$typecreator1$1
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.NumOfSubgraphsPerQueryDist
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.NumOfSubgraphsPerQueryDist$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.PerSubgraphQueryMetrics
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.PerSubgraphQueryMetrics$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.QueryMetricsExtractor
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.QueryMetricsExtractor$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.QueryTimeClassBySubgraphDist
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.QueryTimeClassBySubgraphDist$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.SubgraphQueriesBasicMetrics
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.SubgraphQueriesBasicMetrics$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.SubgraphQueryComposition
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.SubgraphQueryComposition$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.SubgraphUaMetrics
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.SubgraphUaMetrics$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopPathsPerSubgraph
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopPathsPerSubgraph$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopServicesPerSubgraph
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopServicesPerSubgraph$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopSubgraphItems
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopSubgraphItems$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopSubgraphProperties
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopSubgraphProperties$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopSubgraphUris
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.TopSubgraphUris$
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.UaSubgraphCounts
org.wikidata.query.rdf.spark.metrics.queries.subgraphs.UaSubgraphCounts$
org.wikidata.query.rdf.spark.metrics
java.lang
org.apache.spark.sql
org.apache.spark.sql.expressions
org.wikidata.query.rdf.spark.utils
scala
scala.collection
scala.collection.immutable
scala.reflect.api
scala.reflect.runtime
scala.runtime

org.wikidata.query.rdf.spark.metrics.subgraphs.detailed

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 9 0.0% 90.0% 10.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.DetailedSubgraphMetricsExtractor
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.DetailedSubgraphMetricsExtractor$
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.PerSubgraphMetrics
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.PerSubgraphMetrics$
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.PredicatesPerSubgraph
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.PredicatesPerSubgraph$
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.SubgraphPairMetrics
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.SubgraphPairMetrics$
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.SubgraphPairTriples
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.SubgraphPairTriples$
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.TriplesPerSubgraphItem
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed.TriplesPerSubgraphItem$
org.wikidata.query.rdf.spark.metrics
java.lang
org.apache.spark.sql
org.apache.spark.sql.expressions
org.wikidata.query.rdf.common.uri
org.wikidata.query.rdf.spark.utils
scala
scala.collection
scala.collection.immutable
scala.runtime

org.wikidata.query.rdf.spark.metrics.subgraphs.general

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 10 0.0% 91.0% 9.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.metrics.subgraphs.general.GeneralSubgraphMetricsExtractor
org.wikidata.query.rdf.spark.metrics.subgraphs.general.GeneralSubgraphMetricsExtractor$
org.wikidata.query.rdf.spark.metrics.subgraphs.general.GeneralSubgraphMetricsExtractor$$typecreator1$1
org.wikidata.query.rdf.spark.metrics
java.lang
org.apache.spark.sql
org.apache.spark.sql.expressions
org.wikidata.query.rdf.spark.utils
scala
scala.collection
scala.collection.immutable
scala.reflect.api
scala.reflect.runtime
scala.runtime

org.wikidata.query.rdf.spark.transform.queries.sparql

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.transform.queries.sparql.Params
org.wikidata.query.rdf.spark.transform.queries.sparql.Params$
org.wikidata.query.rdf.spark.transform.queries.sparql.QueriesProcessor$
org.wikidata.query.rdf.spark.transform.queries.sparql.QueriesProcessor$$typecreator1$1
org.wikidata.query.rdf.spark.transform.queries.sparql.QueriesProcessor$$typecreator2$1
org.wikidata.query.rdf.spark.transform.queries.sparql.QueriesProcessor$$typecreator3$1
org.wikidata.query.rdf.spark.transform.queries.sparql.QueriesProcessor$$typecreator4$1
org.wikidata.query.rdf.spark.transform.queries.sparql.QueriesProcessor$$typecreator5$1
org.wikidata.query.rdf.spark.transform.queries.sparql.QueryExtractor
org.wikidata.query.rdf.spark.transform.queries.sparql.QueryExtractor$
org.wikidata.query.rdf.spark.transform.queries.sparql.QueryInfo
None java.lang
org.apache.spark.sql
org.wikidata.query.rdf.spark.utils
scala
scala.collection
scala.collection.immutable
scala.reflect.api
scala.runtime
scala.sys
scopt

org.wikidata.query.rdf.spark.transform.queries.sparql.visitors

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.transform.queries.sparql.visitors.NodeInfo
org.wikidata.query.rdf.spark.transform.queries.sparql.visitors.NodeInfo$
org.wikidata.query.rdf.spark.transform.queries.sparql.visitors.TripleInfo
org.wikidata.query.rdf.spark.transform.queries.sparql.visitors.TripleInfo$
None java.lang
scala
scala.collection
scala.runtime

org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries.SubgraphQueryMapper
org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries.SubgraphQueryMapper$
org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries.SubgraphQueryMapperUtils
org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries.SubgraphQueryMappingLauncher
org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries.SubgraphQueryMappingLauncher$
org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries.SubgraphQueryMappingParams
org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries.SubgraphQueryMappingParams$
None java.lang
org.apache.spark.sql
org.apache.spark.sql.expressions
org.wikidata.query.rdf.spark.utils
scala
scala.collection
scala.collection.immutable
scala.runtime
scala.sys
scopt

org.wikidata.query.rdf.spark.transform.structureddata.dumps

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 24 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.transform.structureddata.dumps.Entity
org.wikidata.query.rdf.spark.transform.structureddata.dumps.Entity$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.EntityRevisionMapGenerator
org.wikidata.query.rdf.spark.transform.structureddata.dumps.EntityRevisionMapGenerator$Params
org.wikidata.query.rdf.spark.transform.structureddata.dumps.EntityRevisionMapGenerator$Params$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.MappedRules
org.wikidata.query.rdf.spark.transform.structureddata.dumps.MappedRules$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.NTripleGenerator
org.wikidata.query.rdf.spark.transform.structureddata.dumps.NTripleGenerator$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.NTripleGeneratorParams
org.wikidata.query.rdf.spark.transform.structureddata.dumps.NTripleGeneratorParams$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.Params
org.wikidata.query.rdf.spark.transform.structureddata.dumps.Params$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.RdfChunkParser$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.RdfChunkParser$$anon$1
org.wikidata.query.rdf.spark.transform.structureddata.dumps.RdfChunkParser$$anon$2
org.wikidata.query.rdf.spark.transform.structureddata.dumps.RdfChunkParser$$anon$3
org.wikidata.query.rdf.spark.transform.structureddata.dumps.RdfChunkParser$$anon$4
org.wikidata.query.rdf.spark.transform.structureddata.dumps.ScholarlyArticleSplit
org.wikidata.query.rdf.spark.transform.structureddata.dumps.ScholarlyArticleSplit$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.ScholarlyArticleSplitParams
org.wikidata.query.rdf.spark.transform.structureddata.dumps.ScholarlyArticleSplitParams$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.ScholarlyArticleSplitter
org.wikidata.query.rdf.spark.transform.structureddata.dumps.Site
org.wikidata.query.rdf.spark.transform.structureddata.dumps.Site$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.StatementEncoder
org.wikidata.query.rdf.spark.transform.structureddata.dumps.StatementEncoder$
org.wikidata.query.rdf.spark.transform.structureddata.dumps.SubgraphRuleMapper$$typecreator1$1
org.wikidata.query.rdf.spark.transform.structureddata.dumps.SubgraphRuleMapper$$typecreator2$1
org.wikidata.query.rdf.spark.transform.structureddata.dumps.TurtleImporter
org.wikidata.query.rdf.spark.transform.structureddata.dumps.WikibaseRDFDumpConverter
org.wikidata.query.rdf.spark.transform.structureddata.dumps.WikidataTurtleDumpConverter
org.wikidata.query.rdf.spark.transform.structureddata.dumps.WikidataTurtleDumpConverter$
None java.io
java.lang
java.util
java.util.function
java.util.regex
org.apache.spark.sql
org.apache.spark.sql.types
org.openrdf.model
org.openrdf.model.impl
org.openrdf.rio
org.openrdf.rio.ntriples
org.wikidata.query.rdf.common.uri
org.wikidata.query.rdf.spark.utils
org.wikidata.query.rdf.tool.rdf
org.wikidata.query.rdf.tool.subgraph
scala
scala.collection
scala.collection.convert
scala.collection.immutable
scala.collection.mutable
scala.reflect.api
scala.runtime
scala.sys
scopt

org.wikidata.query.rdf.spark.transform.structureddata.subgraphs

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 12 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.transform.structureddata.subgraphs.SubgraphMapper
org.wikidata.query.rdf.spark.transform.structureddata.subgraphs.SubgraphMapper$
org.wikidata.query.rdf.spark.transform.structureddata.subgraphs.SubgraphMappingLauncher
org.wikidata.query.rdf.spark.transform.structureddata.subgraphs.SubgraphMappingLauncher$
org.wikidata.query.rdf.spark.transform.structureddata.subgraphs.SubgraphMappingParams
org.wikidata.query.rdf.spark.transform.structureddata.subgraphs.SubgraphMappingParams$
None java.lang
org.apache.spark.sql
org.apache.spark.sql.expressions
org.apache.spark.sql.types
org.wikidata.query.rdf.common.uri
org.wikidata.query.rdf.spark.utils
scala
scala.collection
scala.collection.immutable
scala.runtime
scala.sys
scopt

org.wikidata.query.rdf.spark.utils

Afferent Couplings Efferent Couplings Abstractness Instability Distance
8 8 0.0% 50.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.spark.utils.PrefixDeclarations
org.wikidata.query.rdf.spark.utils.PrefixDeclarations$
org.wikidata.query.rdf.spark.utils.SparkUtils
org.wikidata.query.rdf.spark.utils.SubgraphUtils
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator1$1
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator2$1
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator3$1
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator4$1
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator5$1
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator6$1
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator7$1
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator8$1
org.wikidata.query.rdf.spark.utils.SubgraphUtils$$typecreator9$1
org.wikidata.query.rdf.spark.metrics.queries.subgraphpairs
org.wikidata.query.rdf.spark.metrics.queries.subgraphs
org.wikidata.query.rdf.spark.metrics.subgraphs.detailed
org.wikidata.query.rdf.spark.metrics.subgraphs.general
org.wikidata.query.rdf.spark.transform.queries.sparql
org.wikidata.query.rdf.spark.transform.queries.subgraphsqueries
org.wikidata.query.rdf.spark.transform.structureddata.dumps
org.wikidata.query.rdf.spark.transform.structureddata.subgraphs
java.lang
java.util.regex
org.apache.spark.sql
org.apache.spark.sql.expressions
org.wikidata.query.rdf.common.uri
scala
scala.collection.immutable
scala.reflect.api

org.wikidata.query.rdf.updater.reconcile

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None org.wikidata.query.rdf.updater.reconcile.UpdaterReconcile
org.wikidata.query.rdf.updater.reconcile.UpdaterReconcile$Params
None java.lang
java.net
scala
scala.collection
scala.concurrent.duration
scala.runtime
scopt

Cycles

[ summary ] [ packages ] [ cycles ] [ explanations ]

There are no cyclic dependencies.

Explanation

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

Term Description
Number of Classes The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent Couplings The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent Couplings The number of other packages that the classes in the package depend upon is an indicator of the package's independence.
Abstractness The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.
Instability The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.
Distance The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.
Cycles Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.