Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rearrange demos to have fewer folders #1471

Merged
merged 55 commits into from May 5, 2020
Merged
Show file tree
Hide file tree
Changes from 49 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
d01e384
Replace demo READMEs with links to Read the Docs
huonw May 1, 2020
0119f72
Rename demo_table.py to demo_indexing.py
huonw May 1, 2020
12b3ea6
REVERT ME: point to latest for testing
huonw May 1, 2020
0ff59d0
Tweak formatting
huonw May 1, 2020
2fe67b1
Use a table instead
huonw May 1, 2020
fc6a35b
Undo spurious changes to notebooks
huonw May 1, 2020
1db2d6b
Update CI
huonw May 1, 2020
59dca12
Tweaks
huonw May 1, 2020
04a348f
Switch links
huonw May 1, 2020
d9f96e9
Reword table heading
huonw May 1, 2020
d4e1de6
Include a diff
huonw May 3, 2020
f562b10
Point to Read the Docs, not Github, for demos
huonw May 3, 2020
fc05c88
More links to RtD
huonw May 3, 2020
ecbfaf4
Sort and add description
huonw May 3, 2020
2a2c339
Generate properly, remove node2vec README
huonw May 4, 2020
22910d8
Merge remote-tracking branch 'origin/develop' into bugfix/1419-demo-r…
huonw May 4, 2020
fe19f89
Merge remote-tracking branch 'origin/develop' into bugfix/1419-demo-r…
huonw May 4, 2020
8a922a8
Add time-series README
huonw May 4, 2020
ac8b4a5
Switch to stable
huonw May 4, 2020
9237d2e
Regenerate
huonw May 4, 2020
0ea7992
Rearrange demos to not be in nested folders
huonw May 4, 2020
67e539f
Update demos
huonw May 4, 2020
1f47777
Update the docs directories too
huonw May 4, 2020
7fdff31
black
huonw May 4, 2020
0da2dd4
Make demo titles and indexing more consistent
huonw May 4, 2020
f18209f
Merge remote-tracking branch 'origin/develop' into bugfix/1419-demo-r…
huonw May 4, 2020
bfc7ad9
Reformat
huonw May 4, 2020
2b62830
Fix readme link
huonw May 4, 2020
5d33485
Fix case
huonw May 4, 2020
0528617
Merge branch 'bugfix/1419-demo-readmes' into bugfix/1428-less-folders
huonw May 4, 2020
12d30c3
Merge branch 'bugfix/1420-rtd-demo-links' into bugfix/1428-less-folders
huonw May 4, 2020
27501fd
Merge branch 'bugfix/1473-demo-titles' into bugfix/1428-less-folders
huonw May 4, 2020
8de6b2d
Add neo4j notebooks back
huonw May 4, 2020
e305846
Regenerate READMEs
huonw May 4, 2020
4f05ef5
Add original notebook for GCN
huonw May 4, 2020
3afc1e1
Merge remote-tracking branch 'origin/develop' into bugfix/1473-demo-t…
huonw May 4, 2020
ff70bb2
Regenerate
huonw May 4, 2020
e5118f8
Apply suggestions from code review
huonw May 4, 2020
2f05dfa
Adjust and regenerate README
huonw May 4, 2020
1c5335b
Community detection and hateful twitter
huonw May 4, 2020
498e42a
Regenerate
huonw May 4, 2020
f372f83
Merge remote-tracking branch 'origin/develop' into bugfix/1428-less-f…
huonw May 5, 2020
31f51ba
Merge remote-tracking branch 'origin/develop' into bugfix/1473-demo-t…
huonw May 5, 2020
aba64b2
Revert Neo4j -> Neo4J, remove more datasets
huonw May 5, 2020
b37122d
Remove citation from title
huonw May 5, 2020
017b408
Remove more citations from title
huonw May 5, 2020
e9f392e
Regenerate
huonw May 5, 2020
52b1ce8
Merge branch 'bugfix/1473-demo-titles' into bugfix/1428-less-folders
huonw May 5, 2020
329d805
Merge remote-tracking branch 'origin/develop' into bugfix/1428-less-f…
huonw May 5, 2020
a2f4f36
Fix more broken links
huonw May 5, 2020
40e09be
... -> ..
huonw May 5, 2020
1f0b54b
Merge remote-tracking branch 'origin/develop' into bugfix/1428-less-f…
huonw May 5, 2020
2dd9e0a
Fix yet more warnings
huonw May 5, 2020
d7b0e0a
Update yet links
huonw May 5, 2020
fbd9708
Fix formatting
huonw May 5, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .buildkite/pipeline.yml
Expand Up @@ -83,7 +83,7 @@ steps:
<<: *timeout
key: "test-notebooks"
depends_on: "runner-3_6"
parallelism: 46
parallelism: 47
command: ".buildkite/steps/test-demo-notebooks.sh"
plugins:
<<: *plugins
Expand Down
4 changes: 2 additions & 2 deletions .buildkite/steps/test-demo-notebooks.sh
Expand Up @@ -32,8 +32,8 @@ fi
f=${NOTEBOOKS[$INDEX]}

case $(basename "$f") in
'attacks_clustering_analysis.ipynb' | 'hateful-twitters-interpretability.ipynb' | 'hateful-twitters.ipynb' | 'stellargraph-attri2vec-DBLP.ipynb' | \
'node-link-importance-demo-gat.ipynb' | 'node-link-importance-demo-gcn.ipynb' | 'node-link-importance-demo-gcn-sparse.ipynb' | 'rgcn-aifb-node-classification-example.ipynb' | \
'attacks_clustering_analysis.ipynb' | 'hateful-twitters-interpretability.ipynb' | 'hateful-twitters.ipynb' | 'attri2vec-link-prediction.ipynb' | \
'gat-node-link-importance.ipynb' | 'gcn-node-link-importance.ipynb' | 'gcn-sparse-node-link-importance.ipynb' | 'rgcn-node-classification.ipynb' | \
'stellargraph-metapath2vec.ipynb')
# These notebooks do not yet work on CI:
# FIXME #818: datasets can't be downloaded
Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -166,7 +166,7 @@ print(f"Test set: loss = {loss}, accuracy = {accuracy}")

This algorithm is spelled out in more detail in [its extended narrated notebook][gcn-demo]. We provide [many more algorithms, each with a detailed example][demos].

[gcn-demo]: https://stellargraph.readthedocs.io/en/latest/demos/node-classification/gcn/gcn-cora-node-classification-example.html
[gcn-demo]: https://stellargraph.readthedocs.io/en/stable/demos/node-classification/gcn-node-classification.html

## Algorithms
The StellarGraph library currently includes the following algorithms for graph machine learning:
Expand Down
70 changes: 35 additions & 35 deletions demos/README.md
Expand Up @@ -33,14 +33,14 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td>see T-GCN</td>
<td>yes</td>
<td><a href='node-classification/gcn/gcn-cora-node-classification-example.ipynb'>demo</a></td>
<td><a href='link-prediction/gcn/cora-gcn-links-example.ipynb'>demo</a></td>
<td><a href='node-classification/gcn-node-classification.ipynb'>demo</a></td>
<td><a href='link-prediction/gcn-link-prediction.ipynb'>demo</a></td>
<td>
<span title='UnsupervisedSampler'>US</span>
<span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-cora.ipynb'>DGI</a></span>
<span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-embeddings.ipynb'>DGI</a></span>
</td>
<td>see Cluster-GCN</td>
<td><a href='graph-classification/supervised-graph-classification.ipynb'>demo</a></td>
<td><a href='graph-classification/gcn-supervised-graph-classification.ipynb'>demo</a></td>
</tr>
<tr>
<td>Cluster-GCN</td>
Expand All @@ -49,7 +49,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td>yes</td>
<td><a href='node-classification/cluster-gcn/cluster-gcn-node-classification.ipynb'>demo</a></td>
<td><a href='node-classification/cluster-gcn-node-classification.ipynb'>demo</a></td>
<td>yes</td>
<td></td>
<td>yes</td>
Expand All @@ -62,7 +62,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td>yes</td>
<td><a href='node-classification/rgcn/rgcn-aifb-node-classification-example.ipynb'>demo</a></td>
<td><a href='node-classification/rgcn-node-classification.ipynb'>demo</a></td>
<td>yes</td>
<td></td>
<td></td>
Expand All @@ -75,7 +75,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td>node features</td>
<td>time series, sequence</td>
<td><a href='time-series/gcn-lstm-LA.ipynb'>demo</a></td>
<td><a href='time-series/gcn-lstm-time-series.ipynb'>demo</a></td>
<td></td>
<td></td>
<td></td>
Expand All @@ -88,11 +88,11 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td>yes</td>
<td><a href='node-classification/gat/gat-cora-node-classification-example.ipynb'>demo</a></td>
<td><a href='node-classification/gat-node-classification.ipynb'>demo</a></td>
<td>yes</td>
<td>
<span title='UnsupervisedSampler'>US</span>
<span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-cora.ipynb'>DGI</a></span>
<span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-embeddings.ipynb'>DGI</a></span>
</td>
<td></td>
<td></td>
Expand All @@ -104,7 +104,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td>yes</td>
<td><a href='node-classification/sgc/sgc-node-classification-example.ipynb'>demo</a></td>
<td><a href='node-classification/sgc-node-classification.ipynb'>demo</a></td>
<td>yes</td>
<td></td>
<td></td>
Expand All @@ -117,7 +117,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td>yes</td>
<td><a href='node-classification/ppnp/ppnp-cora-node-classification-example.ipynb'>demo</a></td>
<td><a href='node-classification/ppnp-node-classification.ipynb'>demo</a></td>
<td>yes</td>
<td>
<span title='UnsupervisedSampler'>US</span>
Expand All @@ -133,11 +133,11 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td>yes</td>
<td><a href='node-classification/ppnp/ppnp-cora-node-classification-example.ipynb'>demo</a></td>
<td><a href='node-classification/ppnp-node-classification.ipynb'>demo</a></td>
<td>yes</td>
<td>
<span title='UnsupervisedSampler'>US</span>
<span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-cora.ipynb'>DGI</a></span>
<span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-embeddings.ipynb'>DGI</a></span>
</td>
<td></td>
<td></td>
Expand All @@ -151,7 +151,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td><span title='via embedding vectors'>via unsup.</span></td>
<td><span title='via embedding vectors'>via unsup.</span></td>
<td><a href='embeddings/graphwave-barbell.ipynb'>demo</a></td>
<td><a href='embeddings/graphwave-embeddings.ipynb'>demo</a></td>
<td></td>
<td></td>
</tr>
Expand All @@ -162,26 +162,26 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td>yes</td>
<td><a href='node-classification/attri2vec/attri2vec-citeseer-node-classification-example.ipynb'>demo</a></td>
<td><a href='link-prediction/attri2vec/stellargraph-attri2vec-DBLP.ipynb'>demo</a></td>
<td><a href='embeddings/stellargraph-attri2vec-citeseer.ipynb'>demo</a></td>
<td><a href='node-classification/attri2vec-node-classification.ipynb'>demo</a></td>
<td><a href='link-prediction/attri2vec-link-prediction.ipynb'>demo</a></td>
<td><a href='embeddings/attri2vec-embeddings.ipynb'>demo</a></td>
<td></td>
<td></td>
</tr>
<tr>
<td>GraphSAGE</td>
<td>see HinSAGE</td>
<td><a href='node-classification/graphsage/directed-graphsage-on-cora-example.ipynb'>demo</a></td>
<td><a href='node-classification/directed-graphsage-node-classification.ipynb'>demo</a></td>
<td></td>
<td></td>
<td>yes</td>
<td><a href='node-classification/graphsage/graphsage-cora-node-classification-example.ipynb'>demo</a></td>
<td><a href='link-prediction/graphsage/cora-links-example.ipynb'>demo</a></td>
<td><a href='node-classification/graphsage-node-classification.ipynb'>demo</a></td>
<td><a href='link-prediction/graphsage-link-prediction.ipynb'>demo</a></td>
<td>
<span title='UnsupervisedSampler'><a href='embeddings/embeddings-unsupervised-graphsage-cora.ipynb'>US</a></span>
<span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-cora.ipynb'>DGI</a></span>
<span title='UnsupervisedSampler'><a href='embeddings/graphsage-unsupervised-sampler-embeddings.ipynb'>US</a></span>
<span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-embeddings.ipynb'>DGI</a></span>
</td>
<td><a href='node-classification/graphsage/graphsage-pubmed-inductive-node-classification-example.ipynb'>demo</a></td>
<td><a href='node-classification/graphsage-inductive-node-classification.ipynb'>demo</a></td>
<td></td>
</tr>
<tr>
Expand All @@ -192,21 +192,21 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td>yes</td>
<td>yes</td>
<td><a href='link-prediction/hinsage/movielens-recommender.ipynb'>demo</a></td>
<td><span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-cora.ipynb'>DGI</a></span></td>
<td><a href='link-prediction/hinsage-link-prediction.ipynb'>demo</a></td>
<td><span title='DeepGraphInfomax'><a href='embeddings/deep-graph-infomax-embeddings.ipynb'>DGI</a></span></td>
<td>yes</td>
<td></td>
</tr>
<tr>
<td>Node2Vec</td>
<td></td>
<td></td>
<td><a href='node-classification/node2vec/stellargraph-node2vec-weighted-random-walks.ipynb'>demo</a></td>
<td><a href='node-classification/node2vec-weighted-node-classification.ipynb'>demo</a></td>
<td></td>
<td></td>
<td><span title='via embedding vectors'><a href='node-classification/node2vec/stellargraph-node2vec-node-classification.ipynb'>via unsup.</a></span></td>
<td><span title='via embedding vectors'><a href='link-prediction/random-walks/cora-lp-demo.ipynb'>via unsup.</a></span></td>
<td><a href='embeddings/stellargraph-node2vec.ipynb'>demo</a></td>
<td><span title='via embedding vectors'><a href='node-classification/node2vec-node-classification.ipynb'>via unsup.</a></span></td>
<td><span title='via embedding vectors'><a href='link-prediction/node2vec-link-prediction.ipynb'>via unsup.</a></span></td>
<td><a href='embeddings/node2vec-embeddings.ipynb'>demo</a></td>
<td></td>
<td></td>
</tr>
Expand All @@ -219,7 +219,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td><span title='via embedding vectors'>via unsup.</span></td>
<td><span title='via embedding vectors'>via unsup.</span></td>
<td><a href='embeddings/stellargraph-metapath2vec.ipynb'>demo</a></td>
<td><a href='embeddings/metapath2vec-embeddings.ipynb'>demo</a></td>
<td></td>
<td></td>
</tr>
Expand All @@ -231,7 +231,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td>yes</td>
<td></td>
<td><span title='via embedding vectors'>via unsup.</span></td>
<td><span title='via embedding vectors'><a href='link-prediction/random-walks/ctdne-link-prediction.ipynb'>via unsup.</a></span></td>
<td><span title='via embedding vectors'><a href='link-prediction/ctdne-link-prediction.ipynb'>via unsup.</a></span></td>
<td>yes</td>
<td></td>
<td></td>
Expand All @@ -243,9 +243,9 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td></td>
<td><span title='via embedding vectors'><a href='embeddings/watch-your-step-cora-demo.ipynb'>via unsup.</a></span></td>
<td><span title='via embedding vectors'><a href='embeddings/watch-your-step-embeddings.ipynb'>via unsup.</a></span></td>
<td><span title='via embedding vectors'>via unsup.</span></td>
<td><a href='embeddings/watch-your-step-cora-demo.ipynb'>demo</a></td>
<td><a href='embeddings/watch-your-step-embeddings.ipynb'>demo</a></td>
<td></td>
<td></td>
</tr>
Expand All @@ -257,7 +257,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td><span title='via embedding vectors'>via unsup.</span></td>
<td><a href='link-prediction/knowledge-graphs/complex.ipynb'>demo</a></td>
<td><a href='link-prediction/complex-link-prediction.ipynb'>demo</a></td>
<td>yes</td>
<td></td>
<td></td>
Expand All @@ -270,7 +270,7 @@ These demos are displayed with detailed descriptions in the documentation: https
<td></td>
<td></td>
<td><span title='via embedding vectors'>via unsup.</span></td>
<td><a href='link-prediction/knowledge-graphs/distmult.ipynb'>demo</a></td>
<td><a href='link-prediction/distmult-link-prediction.ipynb'>demo</a></td>
<td>yes</td>
<td></td>
<td></td>
Expand Down
2 changes: 1 addition & 1 deletion demos/basics/loading-networkx.ipynb
Expand Up @@ -1038,7 +1038,7 @@
"\n",
"Revisit this document to use as a reminder, or [documentation](https://stellargraph.readthedocs.io/en/latest/api.html#stellargraph.StellarGraph.from_networkx) for the `StellarGraph.from_networkx` static method.\n",
"\n",
"Once you've loaded your data, you can start doing machine learning: a good place to start is the [demo of the GCN algorithm on the Cora dataset for node classification](../node-classification/gcn/gcn-cora-node-classification-example.ipynb). Additionally, StellarGraph includes [many other demos of other algorithms, solving other tasks](../README.md)."
"Once you've loaded your data, you can start doing machine learning: a good place to start is the [demo of the GCN algorithm on the Cora dataset for node classification](../node-classification/gcn-node-classification.ipynb). Additionally, StellarGraph includes [many other demos of other algorithms, solving other tasks](../README.md)."
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions demos/basics/loading-pandas.ipynb
Expand Up @@ -3307,7 +3307,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"This dataset, with this preparation, is used in [a demo of the GCN algorithm for node classification](../node-classification/gcn/gcn-cora-node-classification-example.ipynb). The task is to predict the subject of each node."
"This dataset, with this preparation, is used in [a demo of the GCN algorithm for node classification](../node-classification/gcn-node-classification.ipynb). The task is to predict the subject of each node."
]
},
{
Expand Down Expand Up @@ -3781,7 +3781,7 @@
"\n",
"Revisit this document to use as a reminder, or [the documentation](https://stellargraph.readthedocs.io/en/stable/api.html#stellargraph.StellarGraph) for the `StellarGraph` class.\n",
"\n",
"Once you've loaded your data, you can start doing machine learning: a good place to start is the [demo of the GCN algorithm on the Cora dataset for node classification](../node-classification/gcn/gcn-cora-node-classification-example.ipynb). Additionally, StellarGraph includes [many other demos of other algorithms, solving other tasks](../README.md)."
"Once you've loaded your data, you can start doing machine learning: a good place to start is the [demo of the GCN algorithm on the Cora dataset for node classification](../node-classification/gcn-node-classification.ipynb). Additionally, StellarGraph includes [many other demos of other algorithms, solving other tasks](../README.md)."
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions demos/basics/loading-saving-neo4j.ipynb
Expand Up @@ -1813,7 +1813,7 @@
"source": [
"## Saving predictions into Neo4j\n",
"\n",
"Most graph machine learning tasks will end up with some sort of predictions about some set of nodes or links in the graph. For example, [a node classification task]((../node-classification/gcn/gcn-cora-node-classification-example.ipynb) might result in either predicted scores for a node into different classes, or even just the single class that is the most likely. The formats of these are usually:\n",
"Most graph machine learning tasks will end up with some sort of predictions about some set of nodes or links in the graph. For example, [a node classification task]((../node-classification/gcn-node-classification.ipynb) might result in either predicted scores for a node into different classes, or even just the single class that is the most likely. The formats of these are usually:\n",
"\n",
"- scores: a multidimensional [NumPy](https://numpy.org) array. In the node classification example linked above, it's an array of floats of shape `(1, 2708, 7)`, where each of element along the axis of size 2708 represents a node, and the 7 numbers for that element represents the scores for each of the 7 classes for that node.\n",
"- classes: a one-dimensional NumPy array. In the node classification example linked above, it's an array of strings of length 2708, where each element represents the predicted class for a node.\n",
Expand Down Expand Up @@ -1999,7 +1999,7 @@
"\n",
"Revisit this document to use as a reminder.\n",
"\n",
"Once you've loaded your data, you can start doing machine learning: a good place to start is the [demo of the GCN algorithm on the Cora dataset for node classification](../node-classification/gcn/gcn-cora-node-classification-example.ipynb). Additionally, StellarGraph includes [many other demos of other algorithms, solving other tasks](../README.md). We also have experimental support for [running some algorithms directly using Neo4j](../connector/neo4j/README.md).\n",
"Once you've loaded your data, you can start doing machine learning: a good place to start is the [demo of the GCN algorithm on the Cora dataset for node classification](../node-classification/gcn-node-classification.ipynb). Additionally, StellarGraph includes [many other demos of other algorithms, solving other tasks](../README.md). We also have experimental support for [running some algorithms directly using Neo4j](../connector/neo4j/README.md).\n",
"\n",
"(We're still exploring the best ways to have StellarGraph work with Neo4j, so please [let us know](https://github.com/stellargraph/stellargraph#getting-help) your experience of using StellarGraph with Neo4j, both positive and negative.)"
]
Expand Down
4 changes: 2 additions & 2 deletions demos/calibration/README.md
Expand Up @@ -7,8 +7,8 @@ These demos are displayed with detailed descriptions in the documentation: https

| Demo | Source |
|---|---|
| [Calibrating a GraphSAGE link prediction model](https://stellargraph.readthedocs.io/en/stable/demos/calibration/calibration-pubmed-link-prediction.html) | [source](calibration-pubmed-link-prediction.ipynb) |
| [Calibrating a GraphSAGE node classification model](https://stellargraph.readthedocs.io/en/stable/demos/calibration/calibration-pubmed-node-classification.html) | [source](calibration-pubmed-node-classification.ipynb) |
| [Calibrating a GraphSAGE link prediction model](https://stellargraph.readthedocs.io/en/stable/demos/calibration/calibration-link-prediction.html) | [source](calibration-link-prediction.ipynb) |
| [Calibrating a GraphSAGE node classification model](https://stellargraph.readthedocs.io/en/stable/demos/calibration/calibration-node-classification.html) | [source](calibration-node-classification.ipynb) |

The demo titles link to the latest, nicely rendered version. The 'source' links will open the demo in the application in which this README is being viewed, such as Jupyter Lab (ready for execution).
<!-- DOCS LINKS -->