-
Notifications
You must be signed in to change notification settings - Fork 9
Maven Miner Procedures
amine BEN edited this page May 7, 2019
·
4 revisions
Maven miner procedures is a plugin to be shipped within aNeo4j server to simplify writing queries on top of the Maven Central dependency graph.
To see the full list of available procedures execute the following Cypher query:
CALL maven.miner.help();
In what follows we describe the existing functions and procedures, organized by topic:
type | name | description |
---|---|---|
procedure | maven.miner.group.precedenceship | Creating per-version precedence relationship for all group nodes |
procedure | maven.miner.group.temporalIndex | Creating per-GAV temporal index |
type | name | description |
---|---|---|
procedure | maven.miner.artifacts.dependencyUpgrade | maven.miner.artifacts.dependencyUpgrade() - Retrieves all the dependency changes due to upgrades |
procedure | maven.miner.artifacts.group.dependencyUpgrade | maven.miner.artifacts.group.dependencyUpgrade('groupName') - Retrieves all the dependency changes due to upgrades for a given group |
procedure | maven.miner.artifacts.top | top X most used artifacts |
procedure | maven.miner.artifacts.group.top | top X most used artifacts of a group |
procedure | maven.miner.artifacts.latest | maven.miner.artifacts.latest(['groupName']) - Retrieves all latest artifacts of a given group name. By default it returns all the latest artifacts in the graph. |
procedure | maven.miner.help | "Provides descriptions of available procedures. To narrow the results supply a search string. To also search in the description text append : to the end of the search string." |
type | name | description |
---|---|---|
procedure | maven.miner.dependent.onRange | "maven.miner.dependent.onRange('g:a',true,false, 'startVersion'[, 'endVersion', true\false]) - Retrieving all artifacts depending on an artifact in a particular version range" |
procedure | maven.miner.dependent.onSingle | "maven.miner.dependent.onSingle('g:a',true,false; 'startVersion'[, 'endVersion', true\false]) - Retrieving all artifacts depending on a specific artifact identified by its coordinates 'g: a : v' " |
type | name | description |
---|---|---|
procedure | maven.miner.time.between | "maven.miner.time.between('start='YYYY-MM-DD'[,end = '9999-12-31']?) - Retrieving all artifacts during a period of time. This period is characterized using the the date values in the form YYYY-MM-DD" |
procedure | maven.miner.time.during | "maven.miner.version.between('g:a', 'version-low', 'version-high'[, inclusive=true]?) - Retrieving all artifacts with version belong to the provided range" |
procedure | maven.miner.time.group.between | "maven.miner.time.group.between('groupName','start (YYYY-MM-DD)'[,end = '9999-12-31']?) - Retrieving all artifacts of the given groupName during a period of time. This period is characterized using the the date values in the form YYYY-MM-DD" |
procedure | maven.miner.time.group.during | "maven.miner.time.group.during('g', year[, month=0]?) - Retrieving all artifacts during a period of time. This period is characterized using the the Long values, year and month" |
type | name | description |
---|---|---|
procedure | maven.miner.upgrade.all | maven.miner.upgrade.all - All the durations between upgrades for all libraries with more than one upgrade |
procedure | maven.miner.upgrade.group | maven.miner.upgrade.group- Retrieving all the duration between releases |
procedure | maven.miner.upgrade.group.average | maven.miner.upgrade.group.average('group:artifact') - The average release time between two successive versions of a given library ('group:artifact') in DAYS |
procedure | maven.miner.upgrade.group.max | maven.miner.upgrade.group.average('group:artifact') - The maximum release time between two successive versions of a given library ('group:artifact') in DAYS |
procedure | maven.miner.upgrade.group.median | maven.miner.upgrade.group.median('group:artifact') - The median release time between two successive versions of a given library ('group:artifact') in DAYS |
procedure | maven.miner.upgrade.group.min | maven.miner.upgrade.group.min('group:artifact') - The minimum release time between two successive versions of a given library ('group:artifact') in DAYS |
type | name | description |
---|---|---|
procedure | maven.miner.version.between | "maven.miner.version.between('g:a', version-low, version-high[, inclusive=true]?) - Retrieving all artifacts with version belong to the provided range" |
function | maven.miner.version.isGreater | "maven.miner.version.isGreater(Node n, String 'v') - Returns true if the the version of a node 'n' is Greater than the provided version value" |
function | maven.miner.version.isGreaterOrEqual | "maven.miner.version.isGreater(Node n, 'v') - returns true if the the version of a node 'n' is Greater or equal the provided version value" |
function | maven.miner.version.isLower | "maven.miner.version.isGreater(Node n, 'v') - returns true if the the version of a node 'n' is lower than the provided version value" |
function | maven.miner.version.isLowerOrEqual | "maven.miner.version.isGreater(Node n, 'v') - returns true if the the version of a node 'n' is lower of equal than the provided version value" |
type | name | description |
---|---|---|
function | maven.miner.duration.between | "maven.miner.duration.between(String startTime, String endTime, String unit)- Returns the duration, in a given unit, between two string dates. Supported units are H (for HOURS), D (for DAYS), and M (for MONTHS)" |
function | maven.miner.similarity.cosine | "maven.miner.similarity.cosine(['d1','d2',...], ['d1','d2',...])) - Computes the cosine similarity matrix of two given lists.Mainly intended to compute syntactic similarities between two dependencies' list. Preferably, the artifacts coordinates of the dependencies should be passed in arguments" |
function | maven.miner.similarity.cosine.custom | "maven.miner.similarity.cosine.custom(['d1','d2',...], ['d1','d2',...]) - Computes a custom cosine similarity matrix of two given lists. The custom method removes versions, and compare only artifactId if the group is the same. Otherwise, it compares the group and artifact combined of each coordinates. Mainly intended to compute syntactic similarities between two dependencies' list. Preferably, the artifacts coordinates of the dependencies should be passed in arguments" |
function | maven.miner.similarity.cosine.custom.single | "maven.miner.similarity.cosine.custom.single(['d1','d2',...], ['d1','d2',...]) - Computes a custom cosine similarity value between two strings. The custom method removes versions, and compare only artifactId if the group is the same. Otherwise, it compares the group and artifact combined of each coordinates. Mainly intended to compute syntactic similarities between two dependencies' list. Preferably, the artifacts coordinates of the dependencies should be passed in arguments" |
function | maven.miner.similarity.cosine.single | "maven.miner.similarity.cosine.single('d1', 'd2') - Computes the cosine similarity value between two strings. Preferably, the artifacts coordinates of the dependencies should be passed in argument" |
function | maven.miner.similarity.jaroWinkler | "maven.miner.similarity.jaroWinkler(['d1','d2',...], ['d1','d2',...]) - Computes the jaroWinkler similarity matrix of two given lists. Mainly intended to compute syntactic similarities between two dependencies' list. Preferably, the artifacts coordinates of the dependencies should be passed in arguments" |
function | maven.miner.similarity.jaroWinkler.custom | "maven.miner.similarity.jaroWinkler.custom(['d1','d2',...], ['d1','d2',...]) - Computes the jaroWinkler similarity matrix of two given artifact coordinates. The custom method removes versions, and compare only artifactId if the group is the same. Otherwise, it compares the group and artifact combined of each coordinates. Mainly intended to compute syntactic similarities between two dependencies' list. Preferably, the artifacts coordinates of the dependencies should be passed in argument" |
function | maven.miner.similarity.jaroWinkler.custom.single | "maven.miner.similarity.jaroWinkler.custom(['d1','d2',...], ['d1','d2',...]) - Computes the cosine similarity matrix of two given lists of artifact coordinates.The custom method removes versions, and compare only artifactId if the group is the same. Otherwise, it compares the group and artifact combined of each coordinates. Preferably, the artifacts coordinates of the dependencies should be passed in arguments" |
function | maven.miner.similarity.jaroWinkler.single | "maven.miner.similarity.jaroWinkler.custom(['d1','d2',...], ['d1','d2',...]) - Computes the jaroWinkler similarity matrix of two given lists of artifact coordinates." |