From fd0c41f09ede9d19703c471327dd6442a81942a4 Mon Sep 17 00:00:00 2001 From: Mark Needham Date: Tue, 17 Nov 2020 10:59:51 +0000 Subject: [PATCH] apoc.meta --- .../apoc.util-lite.csv | 1 + .../generated-documentation/apoc.util.csv | 1 + .../generated-documentation/documentation.csv | 1 + .../modules/ROOT/images/apoc.meta.graph.png | Bin 0 -> 6150 bytes .../ROOT/images/apoc.meta.subGraph-filter.png | Bin 0 -> 5428 bytes .../pages/database-introspection/meta.adoc | 22 ++--- .../modules/ROOT/pages/export/cypher.adoc | 2 +- .../apoc.meta/apoc.meta.cypher.isType.adoc | 4 + .../apoc.meta/apoc.meta.cypher.type.adoc | 4 + .../apoc.meta/apoc.meta.cypher.types.adoc | 4 + .../overview/apoc.meta/apoc.meta.data.adoc | 7 ++ .../overview/apoc.meta/apoc.meta.graph.adoc | 4 + .../apoc.meta/apoc.meta.graphSample.adoc | 4 + .../overview/apoc.meta/apoc.meta.schema.adoc | 4 + .../overview/apoc.meta/apoc.meta.stats.adoc | 4 + .../apoc.meta/apoc.meta.subGraph.adoc | 4 + .../apoc.util.validatePredicate.adoc | 2 +- .../ROOT/pages/overview/apoc.util/index.adoc | 5 + .../documentation.adoc | 5 + .../partials/generated-documentation/nav.adoc | 1 + .../usage/apoc.meta.cypher.isType.adoc | 23 +++++ .../partials/usage/apoc.meta.cypher.type.adoc | 87 ++++++++++++++++++ .../usage/apoc.meta.cypher.types.adoc | 15 +++ .../ROOT/partials/usage/apoc.meta.data.adoc | 48 ++++++++++ .../ROOT/partials/usage/apoc.meta.graph.adoc | 36 ++++++++ .../partials/usage/apoc.meta.graphSample.adoc | 36 ++++++++ .../ROOT/partials/usage/apoc.meta.schema.adoc | 47 ++++++++++ .../ROOT/partials/usage/apoc.meta.stats.adoc | 41 +++++++++ .../partials/usage/apoc.meta.subGraph.adoc | 42 +++++++++ .../partials/usage/config/apoc.meta.data.adoc | 21 +++++ 30 files changed, 462 insertions(+), 13 deletions(-) create mode 100644 docs/asciidoc/modules/ROOT/images/apoc.meta.graph.png create mode 100644 docs/asciidoc/modules/ROOT/images/apoc.meta.subGraph-filter.png create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.isType.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.type.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.types.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.data.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.graph.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.graphSample.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.schema.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.stats.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.subGraph.adoc create mode 100644 docs/asciidoc/modules/ROOT/partials/usage/config/apoc.meta.data.adoc diff --git a/docs/asciidoc/modules/ROOT/examples/generated-documentation/apoc.util-lite.csv b/docs/asciidoc/modules/ROOT/examples/generated-documentation/apoc.util-lite.csv index cb9ed74db..174cc9e44 100644 --- a/docs/asciidoc/modules/ROOT/examples/generated-documentation/apoc.util-lite.csv +++ b/docs/asciidoc/modules/ROOT/examples/generated-documentation/apoc.util-lite.csv @@ -6,3 +6,4 @@ ¦apoc.util.sha256(values :: LIST? OF ANY?) :: (STRING?) ¦apoc.util.sha384(values :: LIST? OF ANY?) :: (STRING?) ¦apoc.util.sha512(values :: LIST? OF ANY?) :: (STRING?) +¦apoc.util.validatePredicate(predicate :: BOOLEAN?, message :: STRING?, params :: LIST? OF ANY?) :: (BOOLEAN?) diff --git a/docs/asciidoc/modules/ROOT/examples/generated-documentation/apoc.util.csv b/docs/asciidoc/modules/ROOT/examples/generated-documentation/apoc.util.csv index 3591b726f..5f688ee22 100644 --- a/docs/asciidoc/modules/ROOT/examples/generated-documentation/apoc.util.csv +++ b/docs/asciidoc/modules/ROOT/examples/generated-documentation/apoc.util.csv @@ -6,3 +6,4 @@ ¦function¦apoc.util.sha256¦apoc.util.sha256(values :: LIST? OF ANY?) :: (STRING?)¦apoc.util.sha256([values]) | computes the sha256 of the concatenation of all string values of the list ¦function¦apoc.util.sha384¦apoc.util.sha384(values :: LIST? OF ANY?) :: (STRING?)¦apoc.util.sha384([values]) | computes the sha384 of the concatenation of all string values of the list ¦function¦apoc.util.sha512¦apoc.util.sha512(values :: LIST? OF ANY?) :: (STRING?)¦apoc.util.sha512([values]) | computes the sha512 of the concatenation of all string values of the list +¦function¦apoc.util.validatePredicate¦apoc.util.validatePredicate(predicate :: BOOLEAN?, message :: STRING?, params :: LIST? OF ANY?) :: (BOOLEAN?)¦apoc.util.validatePredicate(predicate, message, params) | if the predicate yields to true raise an exception else returns true, for use inside WHERE subclauses diff --git a/docs/asciidoc/modules/ROOT/examples/generated-documentation/documentation.csv b/docs/asciidoc/modules/ROOT/examples/generated-documentation/documentation.csv index dcf863808..d995e9f9b 100644 --- a/docs/asciidoc/modules/ROOT/examples/generated-documentation/documentation.csv +++ b/docs/asciidoc/modules/ROOT/examples/generated-documentation/documentation.csv @@ -526,5 +526,6 @@ for the provided `label` and `uuidProperty`, in case the UUID handler is already ¦function¦apoc.util.sha256¦apoc.util.sha256(values :: LIST? OF ANY?) :: (STRING?)¦apoc.util.sha256([values]) | computes the sha256 of the concatenation of all string values of the list¦true¦ ¦function¦apoc.util.sha384¦apoc.util.sha384(values :: LIST? OF ANY?) :: (STRING?)¦apoc.util.sha384([values]) | computes the sha384 of the concatenation of all string values of the list¦true¦ ¦function¦apoc.util.sha512¦apoc.util.sha512(values :: LIST? OF ANY?) :: (STRING?)¦apoc.util.sha512([values]) | computes the sha512 of the concatenation of all string values of the list¦true¦ +¦function¦apoc.util.validatePredicate¦apoc.util.validatePredicate(predicate :: BOOLEAN?, message :: STRING?, params :: LIST? OF ANY?) :: (BOOLEAN?)¦apoc.util.validatePredicate(predicate, message, params) | if the predicate yields to true raise an exception else returns true, for use inside WHERE subclauses¦true¦ ¦function¦apoc.version¦apoc.version() :: (STRING?)¦RETURN apoc.version() | return the current APOC installed version¦true¦ ¦function¦apoc.xml.parse¦apoc.xml.parse(data :: STRING?, path = / :: STRING?, config = {} :: MAP?, simple = false :: BOOLEAN?) :: (MAP?)¦RETURN apoc.xml.parse(, , config, false) AS value¦true¦xref::import/xml.adoc diff --git a/docs/asciidoc/modules/ROOT/images/apoc.meta.graph.png b/docs/asciidoc/modules/ROOT/images/apoc.meta.graph.png new file mode 100644 index 0000000000000000000000000000000000000000..13ecf1a64a5703a4f64a0aab9a3d82869f728268 GIT binary patch literal 6150 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 ejr+Vx;Qs+U$!fw3@CVKS0000,POINT,DATE,DATE_TIME,LOCAL_TIME,LOCAL_DATE_TIME,TIME,DURATION`) -| apoc.meta.cypher.isType(value,type) | returns a row if type name matches none if not -| apoc.meta.cypher.types(node or relationship or map) | returns a a map of property-keys to their names +| xref::overview/apoc.meta/apoc.meta.cypher.type.adoc[apoc.meta.cypher.type(value)] | type name of a value (`INTEGER,FLOAT,STRING,BOOLEAN,RELATIONSHIP,NODE,PATH,NULL,MAP,LIST OF ,POINT,DATE,DATE_TIME,LOCAL_TIME,LOCAL_DATE_TIME,TIME,DURATION`) +| xref::overview/apoc.meta/apoc.meta.cypher.isType.adoc[apoc.meta.cypher.isType(value,type)] | returns a row if type name matches none if not +| xref::overview/apoc.meta/apoc.meta.cypher.types.adoc[apoc.meta.cypher.types(node or relationship or map)] | returns a a map of property-keys to their names |=== In the case of `LIST` you may have many results, depending on the content. In the event that all contents are of the same type, will you have the `LIST OF `, otherwise if the type is different, will you get `LIST OF ANY` diff --git a/docs/asciidoc/modules/ROOT/pages/export/cypher.adoc b/docs/asciidoc/modules/ROOT/pages/export/cypher.adoc index 3054f0abc..ef9b017f6 100644 --- a/docs/asciidoc/modules/ROOT/pages/export/cypher.adoc +++ b/docs/asciidoc/modules/ROOT/pages/export/cypher.adoc @@ -99,7 +99,7 @@ include::partial$createExportGraph.adoc[] The Neo4j Browser visualization below shows the imported graph: -image::play-movies.png[title="Movies Graph Visualization"] +:play-movies.png[title="Movies Graph Visualization"]image: [[export-cypher-cypher-shell]] === Export to Cypher Shell format diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.isType.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.isType.adoc index d17f8f015..9109fb13d 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.isType.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.isType.adoc @@ -25,5 +25,9 @@ apoc.meta.cypher.isType(value :: ANY?, type :: STRING?) :: (BOOLEAN?) |type|STRING?|null |=== +[[usage-apoc.meta.cypher.isType]] +== Usage Examples +include::partial$usage/apoc.meta.cypher.isType.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.cypher.isType,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.type.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.type.adoc index 0e4a064a4..4d5534ce3 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.type.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.type.adoc @@ -24,5 +24,9 @@ apoc.meta.cypher.type(value :: ANY?) :: (STRING?) |value|ANY?|null |=== +[[usage-apoc.meta.cypher.type]] +== Usage Examples +include::partial$usage/apoc.meta.cypher.type.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.cypher.type,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.types.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.types.adoc index f01d7d235..3022745e8 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.types.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.cypher.types.adoc @@ -24,5 +24,9 @@ apoc.meta.cypher.types(properties :: ANY?) :: (MAP?) |properties|ANY?|null |=== +[[usage-apoc.meta.cypher.types]] +== Usage Examples +include::partial$usage/apoc.meta.cypher.types.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.cypher.types,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.data.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.data.adoc index 1bba94ad9..7d142151b 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.data.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.data.adoc @@ -24,6 +24,9 @@ apoc.meta.data(config = {} :: MAP?) :: (label :: STRING?, property :: STRING?, c |config|MAP?|{} |=== +== Config parameters +include::partial$usage/config/apoc.meta.data.adoc[] + == Output parameters [.procedures, opts=header] |=== @@ -46,5 +49,9 @@ apoc.meta.data(config = {} :: MAP?) :: (label :: STRING?, property :: STRING?, c |elementType|STRING? |=== +[[usage-apoc.meta.data]] +== Usage Examples +include::partial$usage/apoc.meta.data.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.data,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.graph.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.graph.adoc index 9379bc995..a0b2ce38d 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.graph.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.graph.adoc @@ -32,5 +32,9 @@ apoc.meta.graph(config = {} :: MAP?) :: (nodes :: LIST? OF NODE?, relationships |relationships|LIST? OF RELATIONSHIP? |=== +[[usage-apoc.meta.graph]] +== Usage Examples +include::partial$usage/apoc.meta.graph.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.graph,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.graphSample.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.graphSample.adoc index 050eafcd6..95e9f612d 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.graphSample.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.graphSample.adoc @@ -32,5 +32,9 @@ apoc.meta.graphSample(config = {} :: MAP?) :: (nodes :: LIST? OF NODE?, relation |relationships|LIST? OF RELATIONSHIP? |=== +[[usage-apoc.meta.graphSample]] +== Usage Examples +include::partial$usage/apoc.meta.graphSample.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.graphSample,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.schema.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.schema.adoc index 237ebf2ca..565a5bcdc 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.schema.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.schema.adoc @@ -31,5 +31,9 @@ apoc.meta.schema(config = {} :: MAP?) :: (value :: MAP?) |value|MAP? |=== +[[usage-apoc.meta.schema]] +== Usage Examples +include::partial$usage/apoc.meta.schema.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.schema,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.stats.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.stats.adoc index 93c32a570..bac902e75 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.stats.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.stats.adoc @@ -32,5 +32,9 @@ apoc.meta.stats() :: (labelCount :: INTEGER?, relTypeCount :: INTEGER?, property |stats|MAP? |=== +[[usage-apoc.meta.stats]] +== Usage Examples +include::partial$usage/apoc.meta.stats.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.stats,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.subGraph.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.subGraph.adoc index 952fd74e2..71d6225fe 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.subGraph.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.meta/apoc.meta.subGraph.adoc @@ -32,5 +32,9 @@ apoc.meta.subGraph(config :: MAP?) :: (nodes :: LIST? OF NODE?, relationships :: |relationships|LIST? OF RELATIONSHIP? |=== +[[usage-apoc.meta.subGraph]] +== Usage Examples +include::partial$usage/apoc.meta.subGraph.adoc[] + xref::database-introspection/meta.adoc[More documentation of apoc.meta.subGraph,role=more information] diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.util/apoc.util.validatePredicate.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.util/apoc.util.validatePredicate.adoc index b8c189ded..8f9339f64 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.util/apoc.util.validatePredicate.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.util/apoc.util.validatePredicate.adoc @@ -14,7 +14,7 @@ apoc.util.validatePredicate(predicate, message, params) | if the predicate yield [source] ---- -apoc.util.validatePredicate(predicate :: BOOLEAN?, message :: STRING?, params :: LIST? OF ANY?) :: BOOLEAN +apoc.util.validatePredicate(predicate :: BOOLEAN?, message :: STRING?, params :: LIST? OF ANY?) :: (BOOLEAN?) ---- == Input parameters diff --git a/docs/asciidoc/modules/ROOT/pages/overview/apoc.util/index.adoc b/docs/asciidoc/modules/ROOT/pages/overview/apoc.util/index.adoc index 41e4aa420..0e1e1e849 100644 --- a/docs/asciidoc/modules/ROOT/pages/overview/apoc.util/index.adoc +++ b/docs/asciidoc/modules/ROOT/pages/overview/apoc.util/index.adoc @@ -43,5 +43,10 @@ apoc.util.sha384([values]) \| computes the sha384 of the concatenation of all st apoc.util.sha512([values]) \| computes the sha512 of the concatenation of all string values of the list |label:function[] |label:apoc-core[] +|xref::overview/apoc.util/apoc.util.validatePredicate.adoc[apoc.util.validatePredicate icon:book[]] + +apoc.util.validatePredicate(predicate, message, params) \| if the predicate yields to true raise an exception else returns true, for use inside WHERE subclauses +|label:function[] +|label:apoc-core[] |=== diff --git a/docs/asciidoc/modules/ROOT/partials/generated-documentation/documentation.adoc b/docs/asciidoc/modules/ROOT/partials/generated-documentation/documentation.adoc index 6a702068b..f70037724 100644 --- a/docs/asciidoc/modules/ROOT/partials/generated-documentation/documentation.adoc +++ b/docs/asciidoc/modules/ROOT/partials/generated-documentation/documentation.adoc @@ -3052,6 +3052,11 @@ apoc.util.sha384([values]) \| computes the sha384 of the concatenation of all st apoc.util.sha512([values]) \| computes the sha512 of the concatenation of all string values of the list |label:function[] |label:apoc-core[] +|xref::overview/apoc.util/apoc.util.validatePredicate.adoc[apoc.util.validatePredicate icon:book[]] + +apoc.util.validatePredicate(predicate, message, params) \| if the predicate yields to true raise an exception else returns true, for use inside WHERE subclauses +|label:function[] +|label:apoc-core[] |=== == xref::overview/apoc.uuid/index.adoc[] diff --git a/docs/asciidoc/modules/ROOT/partials/generated-documentation/nav.adoc b/docs/asciidoc/modules/ROOT/partials/generated-documentation/nav.adoc index b5e8a17c7..c2fa91b19 100644 --- a/docs/asciidoc/modules/ROOT/partials/generated-documentation/nav.adoc +++ b/docs/asciidoc/modules/ROOT/partials/generated-documentation/nav.adoc @@ -586,6 +586,7 @@ This file is generated by DocsTest, so don't change it! *** xref::overview/apoc.util/apoc.util.sha256.adoc[] *** xref::overview/apoc.util/apoc.util.sha384.adoc[] *** xref::overview/apoc.util/apoc.util.sha512.adoc[] +*** xref::overview/apoc.util/apoc.util.validatePredicate.adoc[] ** xref::overview/apoc.uuid/index.adoc[] *** xref::overview/apoc.uuid/apoc.uuid.install.adoc[] *** xref::overview/apoc.uuid/apoc.uuid.list.adoc[] diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.isType.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.isType.adoc new file mode 100644 index 000000000..4af92c6cb --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.isType.adoc @@ -0,0 +1,23 @@ +[source,cypher] +---- +RETURN apoc.meta.cypher.isType(1, "NODE") AS output; +---- + +.Results +[opts="header"] +|=== +| output +| FALSE +|=== + +[source,cypher] +---- +RETURN apoc.meta.cypher.isType(datetime(), "DATE_TIME") AS output; +---- + +.Results +[opts="header"] +|=== +| output +| TRUE +|=== diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.type.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.type.adoc new file mode 100644 index 000000000..41ad0fdef --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.type.adoc @@ -0,0 +1,87 @@ +[source,cypher] +---- +RETURN apoc.meta.cypher.type(1) AS output; +---- + +.Results +[opts="header"] +|=== +| output +| "INTEGER" +|=== + +[source,cypher] +---- +RETURN apoc.meta.cypher.type("Michael") AS output; +---- + +.Results +[opts="header"] +|=== +| output +| "STRING" +|=== + +[source,cypher] +---- +RETURN apoc.meta.cypher.type(true) AS output; +---- + +.Results +[opts="header"] +|=== +| output +| "BOOLEAN" +|=== + +[source,cypher] +---- +RETURN apoc.meta.cypher.type(datetime()) AS output; +---- + +.Results +[opts="header"] +|=== +| output +| "DATE_TIME" +|=== + + +[source,cypher] +---- +RETURN apoc.meta.cypher.type(["Neo4j", 2020]) AS output; +---- + +.Results +[opts="header"] +|=== +| output +| "LIST OF ANY" +|=== + +[source,cypher] +---- +RETURN apoc.meta.cypher.type(["Neo4j", "Bloom"]) AS output; +---- + +.Results +[opts="header"] +|=== +| output +| "LIST OF STRING" +|=== + +[source,cypher] +---- +CREATE (node1:Person)-[rel:FRIENDS]->(node2:Person) +RETURN apoc.meta.cypher.type(node1) AS node1Type, + apoc.meta.cypher.type(rel) AS relType, + apoc.meta.cypher.type(node2) AS node2Type; +---- + +.Results +[opts="header"] +|=== +| node1Type | relType | node2Type +| "NODE" | "RELATIONSHIP" | "NODE" +|=== \ No newline at end of file diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.types.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.types.adoc new file mode 100644 index 000000000..52840ccf4 --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.cypher.types.adoc @@ -0,0 +1,15 @@ +[source,cypher] +---- +RETURN apoc.meta.cypher.types({ + item1: 2, + item2: datetime(), + item3: "Michael" +}) AS output; +---- + +.Results +[opts="header"] +|=== +| output +| {item2: "DATE_TIME", item1: "INTEGER", item3: "STRING"} +|=== diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.data.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.data.adoc new file mode 100644 index 000000000..94159b76e --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.data.adoc @@ -0,0 +1,48 @@ +The examples in this section are based on the following sample graph: + +[source,cypher] +---- +CREATE (Keanu:Person {name:'Keanu Reeves', born:1964}) +CREATE (TomH:Person {name:'Tom Hanks', born:1956}) + +CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}) +CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'}) +CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'}) +CREATE (SomethingsGottaGive:Movie {title:"Something's Gotta Give", released:2003}) +CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'}) + +CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'}) +CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'}) +CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'}) +CREATE (CloudAtlas:Movie {title:'Cloud Atlas', released:2012, tagline:'Everything is connected'}) + +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions) +CREATE (Keanu)-[:ACTED_IN {roles:['Julian Mercer']}]->(SomethingsGottaGive) +CREATE (Keanu)-[:ACTED_IN {roles:['Kevin Lomax']}]->(TheDevilsAdvocate) + +CREATE (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail) +CREATE (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle) +CREATE (TomH)-[:ACTED_IN {roles:['Mr. White']}]->(ThatThingYouDo) +CREATE (TomH)-[:ACTED_IN {roles:['Zachry', 'Dr. Henry Goose', 'Isaac Sachs', 'Dermot Hoggins']}]->(CloudAtlas); +---- + +[source,cypher] +---- +CALL apoc.meta.data(); +---- + +.Results +[opts="header"] +|=== +| label | property | count | unique | index | existence | type | array | sample | leftCount | rightCount | left | right | other | otherLabels | elementType +| "ACTED_IN" | "Person" | 9 | FALSE | FALSE | FALSE | "RELATIONSHIP" | TRUE | NULL | 41 | 9 | 4 | 1 | ["Movie"] | [] | "relationship" +| "ACTED_IN" | "roles" | 0 | FALSE | FALSE | FALSE | "LIST" | TRUE | NULL | 0 | 0 | 0 | 0 | [] | [] | "relationship" +| "Person" | "ACTED_IN" | 9 | FALSE | FALSE | FALSE | "RELATIONSHIP" | TRUE | NULL | 41 | 9 | 4 | 1 | ["Movie"] | [] | "node" +| "Person" | "name" | 0 | FALSE | FALSE | FALSE | "STRING" | FALSE | NULL | 0 | 0 | 0 | 0 | [] | [] | "node" +| "Person" | "born" | 0 | FALSE | FALSE | FALSE | "INTEGER" | FALSE | NULL | 0 | 0 | 0 | 0 | [] | [] | "node" +| "Movie" | "title" | 0 | FALSE | FALSE | FALSE | "STRING" | FALSE | NULL | 0 | 0 | 0 | 0 | [] | [] | "node" +| "Movie" | "tagline" | 0 | FALSE | FALSE | FALSE | "STRING" | FALSE | NULL | 0 | 0 | 0 | 0 | [] | [] | "node" +| "Movie" | "released" | 0 | FALSE | FALSE | FALSE | "INTEGER" | FALSE | NULL | 0 | 0 | 0 | 0 | [] | [] | "node" +|=== \ No newline at end of file diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.graph.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.graph.adoc new file mode 100644 index 000000000..315cbebe4 --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.graph.adoc @@ -0,0 +1,36 @@ +The examples in this section are based on the following sample graph: + +[source,cypher] +---- +CREATE (Keanu:Person {name:'Keanu Reeves', born:1964}) +CREATE (TomH:Person {name:'Tom Hanks', born:1956}) + +CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}) +CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'}) +CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'}) +CREATE (SomethingsGottaGive:Movie {title:"Something's Gotta Give", released:2003}) +CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'}) + +CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'}) +CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'}) +CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'}) +CREATE (CloudAtlas:Movie {title:'Cloud Atlas', released:2012, tagline:'Everything is connected'}) + +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions) +CREATE (Keanu)-[:ACTED_IN {roles:['Julian Mercer']}]->(SomethingsGottaGive) +CREATE (Keanu)-[:ACTED_IN {roles:['Kevin Lomax']}]->(TheDevilsAdvocate) + +CREATE (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail) +CREATE (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle) +CREATE (TomH)-[:ACTED_IN {roles:['Mr. White']}]->(ThatThingYouDo) +CREATE (TomH)-[:ACTED_IN {roles:['Zachry', 'Dr. Henry Goose', 'Isaac Sachs', 'Dermot Hoggins']}]->(CloudAtlas); +---- + +[source,cypher] +---- +CALL apoc.meta.graph() +---- + +image::apoc.meta.graph.png[title="Meta Graph"] diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.graphSample.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.graphSample.adoc new file mode 100644 index 000000000..04c1c6126 --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.graphSample.adoc @@ -0,0 +1,36 @@ +The examples in this section are based on the following sample graph: + +[source,cypher] +---- +CREATE (Keanu:Person {name:'Keanu Reeves', born:1964}) +CREATE (TomH:Person {name:'Tom Hanks', born:1956}) + +CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}) +CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'}) +CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'}) +CREATE (SomethingsGottaGive:Movie {title:"Something's Gotta Give", released:2003}) +CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'}) + +CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'}) +CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'}) +CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'}) +CREATE (CloudAtlas:Movie {title:'Cloud Atlas', released:2012, tagline:'Everything is connected'}) + +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions) +CREATE (Keanu)-[:ACTED_IN {roles:['Julian Mercer']}]->(SomethingsGottaGive) +CREATE (Keanu)-[:ACTED_IN {roles:['Kevin Lomax']}]->(TheDevilsAdvocate) + +CREATE (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail) +CREATE (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle) +CREATE (TomH)-[:ACTED_IN {roles:['Mr. White']}]->(ThatThingYouDo) +CREATE (TomH)-[:ACTED_IN {roles:['Zachry', 'Dr. Henry Goose', 'Isaac Sachs', 'Dermot Hoggins']}]->(CloudAtlas); +---- + +[source,cypher] +---- +CALL apoc.meta.graphSample() +---- + +image::apoc.meta.graph.png[title="Meta Graph"] diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.schema.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.schema.adoc new file mode 100644 index 000000000..429d73cd4 --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.schema.adoc @@ -0,0 +1,47 @@ +The examples in this section are based on the following sample graph: + +[source,cypher] +---- +CREATE (Keanu:Person {name:'Keanu Reeves', born:1964}) +CREATE (TomH:Person {name:'Tom Hanks', born:1956}) + +CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}) +CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'}) +CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'}) +CREATE (SomethingsGottaGive:Movie {title:"Something's Gotta Give", released:2003}) +CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'}) + +CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'}) +CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'}) +CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'}) +CREATE (CloudAtlas:Movie {title:'Cloud Atlas', released:2012, tagline:'Everything is connected'}) + +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions) +CREATE (Keanu)-[:ACTED_IN {roles:['Julian Mercer']}]->(SomethingsGottaGive) +CREATE (Keanu)-[:ACTED_IN {roles:['Kevin Lomax']}]->(TheDevilsAdvocate) + +CREATE (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail) +CREATE (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle) +CREATE (TomH)-[:ACTED_IN {roles:['Mr. White']}]->(ThatThingYouDo) +CREATE (TomH)-[:ACTED_IN {roles:['Zachry', 'Dr. Henry Goose', 'Isaac Sachs', 'Dermot Hoggins']}]->(CloudAtlas); +---- + +[source,cypher] +---- +CALL apoc.meta.schema() +YIELD value +UNWIND keys(value) AS key +RETURN key, value[key] AS value; +---- + +.Results +[opts="header"] +|=== +| key | value +| "Movie" | {count: 9, relationships: {ACTED_IN: {count: 41, properties: {roles: {existence: FALSE, type: "LIST", array: TRUE}}, direction: "in", labels: ["Person"]}}, type: "node", properties: {tagline: {existence: FALSE, type: "STRING", indexed: FALSE, unique: FALSE}, title: {existence: FALSE, type: "STRING", indexed: FALSE, unique: FALSE}, released: {existence: FALSE, type: "INTEGER", indexed: FALSE, unique: FALSE}}, labels: []} +| "ACTED_IN" | {count: 9, type: "relationship", properties: {roles: {existence: FALSE, type: "LIST", array: TRUE}}} +| "Person" | {count: 2, relationships: {ACTED_IN: {count: 9, properties: {roles: {existence: FALSE, type: "LIST", array: TRUE}}, direction: "out", labels: ["Movie"]}}, type: "node", properties: {name: {existence: FALSE, type: "STRING", indexed: FALSE, unique: FALSE}, born: {existence: FALSE, type: "INTEGER", indexed: FALSE, unique: FALSE}}, labels: []} +|=== + diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.stats.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.stats.adoc new file mode 100644 index 000000000..e08708bac --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.stats.adoc @@ -0,0 +1,41 @@ +The examples in this section are based on the following sample graph: + +[source,cypher] +---- +CREATE (Keanu:Person {name:'Keanu Reeves', born:1964}) +CREATE (TomH:Person {name:'Tom Hanks', born:1956}) + +CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}) +CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'}) +CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'}) +CREATE (SomethingsGottaGive:Movie {title:"Something's Gotta Give", released:2003}) +CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'}) + +CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'}) +CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'}) +CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'}) +CREATE (CloudAtlas:Movie {title:'Cloud Atlas', released:2012, tagline:'Everything is connected'}) + +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions) +CREATE (Keanu)-[:ACTED_IN {roles:['Julian Mercer']}]->(SomethingsGottaGive) +CREATE (Keanu)-[:ACTED_IN {roles:['Kevin Lomax']}]->(TheDevilsAdvocate) + +CREATE (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail) +CREATE (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle) +CREATE (TomH)-[:ACTED_IN {roles:['Mr. White']}]->(ThatThingYouDo) +CREATE (TomH)-[:ACTED_IN {roles:['Zachry', 'Dr. Henry Goose', 'Isaac Sachs', 'Dermot Hoggins']}]->(CloudAtlas); +---- + +[source,cypher] +---- +CALL apoc.meta.stats(); +---- + +.Results +[opts="header"] +|=== +| labelCount | relTypeCount | propertyKeyCount | nodeCount | relCount | labels | relTypes | relTypesCount | stats +| 9 | 5 | 17 | 11 | 9 | {Movie: 9, Person: 2} | {`(:Person)-[:ACTED_IN]->()`: 9, `()-[:ACTED_IN]->(:Movie)`: 9, `()-[:ACTED_IN]->()`: 9} | {ACTED_IN: 9} | {relTypeCount: 5, propertyKeyCount: 17, labelCount: 9, nodeCount: 11, relCount: 9, labels: {Movie: 9, Person: 2}, relTypes: {`(:Person)-[:ACTED_IN]->()`: 9, `()-[:ACTED_IN]->(:Movie)`: 9, `()-[:ACTED_IN]->()`: 9}} +|=== \ No newline at end of file diff --git a/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.subGraph.adoc b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.subGraph.adoc new file mode 100644 index 000000000..96fda8ebc --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/apoc.meta.subGraph.adoc @@ -0,0 +1,42 @@ +The examples in this section are based on the following sample graph: + +[source,cypher] +---- +CREATE (Keanu:Person {name:'Keanu Reeves', born:1964}) +CREATE (TomH:Person {name:'Tom Hanks', born:1956}) +CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967}) + +CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}) +CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'}) +CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'}) +CREATE (SomethingsGottaGive:Movie {title:"Something's Gotta Give", released:2003}) +CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'}) + +CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'}) +CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'}) +CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'}) +CREATE (CloudAtlas:Movie {title:'Cloud Atlas', released:2012, tagline:'Everything is connected'}) + +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded) +CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions) +CREATE (Keanu)-[:ACTED_IN {roles:['Julian Mercer']}]->(SomethingsGottaGive) +CREATE (Keanu)-[:ACTED_IN {roles:['Kevin Lomax']}]->(TheDevilsAdvocate) + +CREATE (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail) +CREATE (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle) +CREATE (TomH)-[:ACTED_IN {roles:['Mr. White']}]->(ThatThingYouDo) +CREATE (TomH)-[:ACTED_IN {roles:['Zachry', 'Dr. Henry Goose', 'Isaac Sachs', 'Dermot Hoggins']}]->(CloudAtlas) + +CREATE (LillyW)-[:DIRECTED]->(TheMatrix); +---- + +[source,cypher] +---- +CALL apoc.meta.subGraph({ + includeLabels: ["Person", "Movie"], + includeRels: ["DIRECTED"] +}); +---- + +image::apoc.meta.subGraph-filter.png[title="Meta Sub Graph"] diff --git a/docs/asciidoc/modules/ROOT/partials/usage/config/apoc.meta.data.adoc b/docs/asciidoc/modules/ROOT/partials/usage/config/apoc.meta.data.adoc new file mode 100644 index 000000000..4146e1387 --- /dev/null +++ b/docs/asciidoc/modules/ROOT/partials/usage/config/apoc.meta.data.adoc @@ -0,0 +1,21 @@ +The procedure support the following config parameters: + +.Config parameters +[opts=header] +|=== +| name | type | default | description +| includeLabels | List | [] | labels to include. Default is to include all labels +| includeRels | List | [] | relationship types to include. Default is to include all relationship types +| excludesLabels | List | [] | labels to include. Default is to include all relationship types +| sample | Long | 1000 | number of nodes to sample per label +| maxRels | Long | 100 | number of relationships to sample per relationship type +|=== + +.Deprecated parameters +[opts=header] +|=== +| name | type | default | description +| labels | List | [] | deprecated, use `includeLabels` +| rels | List | [] | deprecated, use `includeRels` +| excludes | List | [] | deprecated, use `excludesLabels` +|=== \ No newline at end of file -- GitLab