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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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. |