This is an automated email from the ASF dual-hosted git repository.
jshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new 14f59b05e5 [#7439] minor(doc): Update docs for usage of model version
with multiple URIs (#8329)
14f59b05e5 is described below
commit 14f59b05e59e534b9fa9e79c74a2c9bf5a3a347e
Author: XiaoZ <[email protected]>
AuthorDate: Mon Sep 1 19:43:10 2025 +0800
[#7439] minor(doc): Update docs for usage of model version with multiple
URIs (#8329)
### What changes were proposed in this pull request?
Update docs for usage of model version with multiple URIs.
### Why are the changes needed?
Fix: #7439
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
No need.
---------
Co-authored-by: zhanghan <[email protected]>
---
docs/cli.md | 94 ++++++++-
docs/manage-model-metadata-using-gravitino.md | 280 ++++++++++++++++++++++++--
docs/model-catalog.md | 8 +-
docs/open-api/openapi.yaml | 6 +
4 files changed, 366 insertions(+), 22 deletions(-)
diff --git a/docs/cli.md b/docs/cli.md
index 5b9fdf77ab..f8aa6c71c1 100644
--- a/docs/cli.md
+++ b/docs/cli.md
@@ -59,7 +59,7 @@ The general structure for running commands with the Gravitino
CLI is `gcli.sh en
--sortorder display sortorder information
-t,--tag <arg> tag name
-u,--url <arg> Gravitino URL (default: http://localhost:8090)
- --uri <arg> model version artifact
+ --uris <arg> model version artifact
-v,--version Gravitino client version
-V,--value <arg> property value
-x,--index display index information
@@ -973,4 +973,96 @@ gcli.sh <normal command> --simple
gcli.sh <normal command> --simple --login userName
```
+### Model commands
+
+#### Create a model
+
+```bash
+gcli.sh model create --name catalog_model.schema.model
+```
+
+#### List models
+
+```bash
+gcli.sh model list --name catalog_model.schema
+```
+
+#### Display a model's details
+
+```bash
+gcli.sh model details --name catalog_model.schema.model
+```
+
+#### Display a model's audit information
+
+```bash
+gcli.sh model details --name catalog_model.schema.model --audit
+```
+
+#### Delete a model
+
+```bash
+gcli.sh model delete --name catalog_model.schema.model
+```
+
+#### Update a model's comment
+
+```bash
+gcli.sh model update --name catalog_model.schema.model --comment new_comment
+```
+
+#### Rename a model
+
+```bash
+gcli.sh model update --name catalog_model.schema.model --rename new_name
+```
+
+#### Set a model's property
+
+```bash
+gcli.sh model set --name catalog_model.schema.model --property k --value v
+```
+
+#### Remove a model's property
+
+```bash
+gcli.sh model remove --name catalog_model.schema.model --property k
+```
+
+#### Link a model version
+
+```bash
+gcli.sh model update --name catalog_model.schema.model --uris
s3=s3://path,hdfs=hdfs://path --alias alias1
+```
+
+#### Update a model version's comment
+
+```bash
+gcli.sh model update --name catalog_model.schema.model --version 0 --comment
new_comment
+```
+
+#### Add aliases to a model version
+
+```bash
+gcli.sh model update --name catalog_model.schema.model --version 0 --newalias
alias1
+```
+
+#### Remove aliases of a model version
+
+```bash
+gcli.sh model remove --name catalog_model.schema.model --version 0
--removealias alias1
+```
+
+#### Set a model version's property
+
+```bash
+gcli.sh model set --name catalog_model.schema.model --version 0 --property k
--value v
+```
+
+#### Remove a model version's property
+
+```bash
+gcli.sh model remove --name catalog_model.schema.model --version 0 --property k
+```
+
<img
src="https://analytics.apache.org/matomo.php?idsite=62&rec=1&bots=1&action_name=CLI"
alt="" />
diff --git a/docs/manage-model-metadata-using-gravitino.md
b/docs/manage-model-metadata-using-gravitino.md
index 36ff66f6a9..494e5f1c6e 100644
--- a/docs/manage-model-metadata-using-gravitino.md
+++ b/docs/manage-model-metadata-using-gravitino.md
@@ -553,6 +553,62 @@
catalog.as_model_catalog().link_model_version(model_ident=NameIdentifier.of("mod
The comment and properties of ModelVersion can be different from the model.
+You can also link a ModelVersion with multiple model URIs. The URIs is a map
of URI name to URI.
+
+If you associate only one URI with a ModelVersion and do not specify a URI name
+(as introduced in the previous paragraph), Gravitino will automatically
generate a default URI name "unknown".
+
+The following is an example of linking a ModelVersion with multiple model URIs:
+
+<Tabs groupId="language" queryString>
+<TabItem value="shell" label="Shell">
+
+```shell
+curl -X POST -H "Accept: application/vnd.gravitino.v1+json" \
+-H "Content-Type: application/json" -d '{
+ "uris": {
+ "s3": "s3://path/to/model",
+ "hdfs": "hdfs://path/to/model"
+ },
+ "aliases": ["alias1", "alias2"],
+ "comment": "This is version 0",
+ "properties": {
+ "k1": "v1"
+ }
+}'
http://localhost:8090/api/metalakes/example/catalogs/model_catalog/schemas/model_schema/models/example_model/versions
+```
+
+</TabItem>
+<TabItem value="java" label="Java">
+
+```java
+// ...
+Catalog catalog = gravitinoClient.loadCatalog("model_catalog");
+catalog.asModelCatalog().linkModelVersion(
+ NameIdentifier.of("model_schema", "example_model"),
+ ImmutableMap.of("s3", "s3://path/to/model", "hdfs",
"hdfs://path/to/model"),
+ new String[] {"alias1", "alias2"},
+ "This is version 0",
+ ImmutableMap.of("k1", "v1"));
+```
+
+</TabItem>
+<TabItem value="python" label="Python">
+
+```python
+gravitino_client: GravitinoClient =
GravitinoClient(uri="http://localhost:8090", metalake_name="example")
+
+catalog: Catalog = gravitino_client.load_catalog(name="model_catalog")
+catalog.as_model_catalog().link_model_version_with_multiple_uris(model_ident=NameIdentifier.of("model_schema",
"example_model"),
+ uris={"s3":
"s3://path/to/model", "hdfs": "hdfs://path/to/model"},
+
aliases=["alias1", "alias2"],
+ comment="This
is version 0",
+
properties={"k1": "v1"})
+```
+
+</TabItem>
+</Tabs>
+
### Get a ModelVersion
You can get a ModelVersion by sending a `GET` request to the
`/api/metalakes/{metalake_name}
@@ -631,6 +687,160 @@ model_version: ModelVersion =
catalog.as_model_catalog().get_model_version_by_al
</TabItem>
</Tabs>
+### Get ModelVersion URI
+
+You can get the URI of a ModelVersion by sending a `GET` request to the
`/api/metalakes/{metalake_name}
+/catalogs/{catalog_name}/schemas/{schema_name}/models/{model_name}/versions/{version_number}/uri?uriName={uriName}`
+endpoint or by using the Gravitino Java/Python client. The following is an
example of getting
+the URI of a ModelVersion:
+
+<Tabs groupId="language" queryString>
+<TabItem value="shell" label="Shell">
+
+```shell
+curl -X GET -H "Accept: application/vnd.gravitino.v1+json" \
+-H "Content-Type: application/json" \
+http://localhost:8090/api/metalakes/example/catalogs/model_catalog/schemas/model_schema/models/example_model/versions/0/uri?uriName=s3
+```
+
+</TabItem>
+<TabItem value="java" label="Java">
+
+```java
+// ...
+Catalog catalog = gravitinoClient.loadCatalog("model_catalog");
+catalog.asModelCatalog().getModelVersionUri(NameIdentifier.of("model_schema",
"example_model"), 0, "s3");
+// ...
+```
+
+</TabItem>
+<TabItem value="python" label="Python">
+
+```python
+gravitino_client: GravitinoClient =
GravitinoClient(uri="http://localhost:8090", metalake_name="example")
+
+catalog: Catalog = gravitino_client.load_catalog(name="model_catalog")
+catalog.as_model_catalog().get_model_version_uri(model_ident=NameIdentifier.of("model_schema",
"example_model"), version=0, uri_name="s3")
+```
+
+</TabItem>
+</Tabs>
+
+The param `uriName` is not required. If it is not specified, Gravitino will
obtain
+the corresponding URI based on the `default-uri-name` property set in the
Model or ModelVersion.
+You can refer to [Model Properties](./model-catalog.md#Model properties) and
+[ModelVersion properties](./model-catalog.md#ModelVersion properties) for more
details.
+If the `default-uri-name` property is not set in either the model or the model
version,
+an `IllegalArgumentException` will be thrown.
+
+The following is an example of getting the URI of a ModelVersion without
specifying the uriName:
+
+<Tabs groupId="language" queryString>
+<TabItem value="shell" label="Shell">
+
+```shell
+curl -X GET -H "Accept: application/vnd.gravitino.v1+json" \
+-H "Content-Type: application/json" \
+http://localhost:8090/api/metalakes/example/catalogs/model_catalog/schemas/model_schema/models/example_model/versions/0/uri
+```
+
+</TabItem>
+<TabItem value="java" label="Java">
+
+```java
+// ...
+Catalog catalog = gravitinoClient.loadCatalog("model_catalog");
+catalog.asModelCatalog().getModelVersionUri(NameIdentifier.of("model_schema",
"example_model"), 0, null);
+// ...
+```
+
+</TabItem>
+<TabItem value="python" label="Python">
+
+```python
+gravitino_client: GravitinoClient =
GravitinoClient(uri="http://localhost:8090", metalake_name="example")
+
+catalog: Catalog = gravitino_client.load_catalog(name="model_catalog")
+catalog.as_model_catalog().get_model_version_uri(model_ident=NameIdentifier.of("model_schema",
"example_model"), version=0)
+```
+
+</TabItem>
+</Tabs>
+
+### Get ModelVersion URI by alias
+
+You can also get the URI of a ModelVersion by sending a `GET` request to the
`/api/metalakes/{metalake_name}
+/catalogs/{catalog_name}/schemas/{schema_name}/models/{model_name}/aliases/{alias}/uri?uriName={uriName}`
+endpoint or by using the Gravitino Java/Python client. The following is an
example of getting
+the URI of a ModelVersion:
+
+<Tabs groupId="language" queryString>
+<TabItem value="shell" label="Shell">
+
+```shell
+curl -X GET -H "Accept: application/vnd.gravitino.v1+json" \
+-H "Content-Type: application/json" \
+http://localhost:8090/api/metalakes/example/catalogs/model_catalog/schemas/model_schema/models/example_model/aliases/alias1/uri?uriName=s3
+```
+
+</TabItem>
+<TabItem value="java" label="Java">
+
+```java
+// ...
+Catalog catalog = gravitinoClient.loadCatalog("model_catalog");
+catalog.asModelCatalog().getModelVersionUri(NameIdentifier.of("model_schema",
"example_model"), "alias", "s3");
+// ...
+```
+
+</TabItem>
+<TabItem value="python" label="Python">
+
+```python
+gravitino_client: GravitinoClient =
GravitinoClient(uri="http://localhost:8090", metalake_name="example")
+
+catalog: Catalog = gravitino_client.load_catalog(name="model_catalog")
+catalog.as_model_catalog().get_model_version_uri_by_alias(model_ident=NameIdentifier.of("model_schema",
"example_model"), alias="alias1", uri_name="s3")
+```
+
+</TabItem>
+</Tabs>
+
+Similarly, The param `uriName` is not required.
+The following is an example of getting the URI of a ModelVersion by alias
without specifying the uriName:
+
+<Tabs groupId="language" queryString>
+<TabItem value="shell" label="Shell">
+
+```shell
+curl -X GET -H "Accept: application/vnd.gravitino.v1+json" \
+-H "Content-Type: application/json" \
+http://localhost:8090/api/metalakes/example/catalogs/model_catalog/schemas/model_schema/models/example_model/aliases/alias1/uri
+```
+
+</TabItem>
+<TabItem value="java" label="Java">
+
+```java
+// ...
+Catalog catalog = gravitinoClient.loadCatalog("model_catalog");
+catalog.asModelCatalog().getModelVersionUri(NameIdentifier.of("model_schema",
"example_model"), "alias", null);
+// ...
+```
+
+</TabItem>
+<TabItem value="python" label="Python">
+
+```python
+gravitino_client: GravitinoClient =
GravitinoClient(uri="http://localhost:8090", metalake_name="example")
+
+catalog: Catalog = gravitino_client.load_catalog(name="model_catalog")
+catalog.as_model_catalog().get_model_version_uri_by_alias(model_ident=NameIdentifier.of("model_schema",
"example_model"), alias="alias1")
+```
+
+</TabItem>
+</Tabs>
+
### Alter a ModelVersion
You can modify a modelVersion's metadata (e.g. update uri, update comment, or
modify properties)
@@ -651,8 +861,18 @@ cat <<EOF >model.json
},
{
"@type": "updateUri",
+ "uriName": "uri_name",
"newUri": "new_uri"
},
+ {
+ "@type": "addUri",
+ "uriName": "uri_name",
+ "uri": "uri"
+ },
+ {
+ "@type": "removeUri",
+ "uriName": "uri_name"
+ },
{
"@type": "setProperty",
"property": "key",
@@ -698,7 +918,9 @@ ModelCatalog modelCatalog = catalog.asModelCatalog();
// Define modifications
ModelVersionChange[] changes = {
ModelVersionChange.updateComment("Updated comment of model version"),
- ModelVersionChange.updateUri("new_uri"),
+ ModelVersionChange.updateUri("uri_name", "new_uri"),
+ ModelVersionChange.addUri("uri_name", "new_uri"),
+ ModelVersionChange.removeUri("uri_name"),
ModelVersionChange.setProperty("key", "value"),
ModelVersionChange.removeProperty("key"),
ModelVersionChange.updateAliases(new String[] {"alias1", "alias2"}, new
String[] {"alias3"})
@@ -726,7 +948,9 @@ model_catalog =
client.load_catalog(name="mycatalog").as_model_catalog()
# Define modifications
changes = (
ModelVersionChange.update_comment("Updated comment of model version"),
- ModelVersionChange.update_uri("new_uri"),
+ ModelVersionChange.update_uri("new_uri", "uri_name"),
+ ModelVersionChange.add_uri("uri_name", "uri"),
+ ModelVersionChange.remove_uri("uri_name"),
ModelVersionChange.set_property("k2", "v2"),
ModelVersionChange.remove_property("k1"),
ModelVersionChange.update_aliases(["alias1", "alias2"], ["alias3"])
@@ -743,13 +967,15 @@ updated_model = model_catalog.alter_model_version(
#### Supported modifications
-| Operation | JSON Example
| Java Method
| Python Method
|
-|---------------------|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
-| **Update uri** | `{"@type":"updateUri","newName":"new_uri"}`
|
`ModelVersionChange.updateUri("new_uri")`
| `ModelVersionChange.update_uri("new_uri")`
|
-| **Update comment** | `{"@type":"updateComment","newComment":"new_comment"}`
|
`ModelVersionChange.updateComment("new_comment")`
| `ModelVersionChange.update_comment("new_comment")`
|
-| **Set property** |
`{"@type":"setProperty","property":"key","value":"value"}`
| `ModelVersionChange.setProperty("key", "value")`
| `ModelVersionChange.set_property("key",
"value")` |
-| **Remove property** | `{"@type":"removeProperty","property":"key"}`
|
`ModelVersionChange.removeProperty("key")`
| `ModelVersionChange.remove_property("key")`
|
-| **Update Aliases** | `{"@type": "updateAliases","aliasesToAdd":
["alias1","alias2"],"aliasesToRemove": ["alias3"]}` |
`ModelVersionChange.updateAliases(new String[] {"alias1", "alias2"}, new
String[] {"alias3"})` | `ModelVersionChange.update_aliases(["alias1",
"alias2"], ["alias3"])` |
+| Operation | JSON Example
| Java Method
| Python Method
|
+|---------------------|---------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
+| **Update uri** |
`{"@type":"updateUri","newName":"new_uri","uriName":"uri_name"}`
| `ModelVersionChange.updateUri("uri_name", "new_uri")`
| `ModelVersionChange.update_uri("new_uri",
"uri_name")` |
+| **Update comment** | `{"@type":"updateComment","newComment":"new_comment"}`
|
`ModelVersionChange.updateComment("new_comment")`
| `ModelVersionChange.update_comment("new_comment")`
|
+| **Set property** |
`{"@type":"setProperty","property":"key","value":"value"}`
| `ModelVersionChange.setProperty("key", "value")`
| `ModelVersionChange.set_property("key",
"value")` |
+| **Remove property** | `{"@type":"removeProperty","property":"key"}`
|
`ModelVersionChange.removeProperty("key")`
| `ModelVersionChange.remove_property("key")`
|
+| **Update Aliases** |
`{"@type":"updateAliases","aliasesToAdd":["alias1","alias2"],"aliasesToRemove":["alias3"]}`
| `ModelVersionChange.updateAliases(new String[] {"alias1", "alias2"}, new
String[] {"alias3"})` | `ModelVersionChange.update_aliases(["alias1",
"alias2"], ["alias3"])` |
+| **Add uri** | `{"@type":"addUri","uriName":"uri_name","uri":"uri"}`
| `ModelVersionChange.addUri("uri_name",
"new_uri")` |
`ModelVersionChange.add_uri("uri_name", "uri")` |
+| **Remove uri** | `{"@type":"removeUri","uriName":"uri_name"}`
|
`ModelVersionChange.removeUri("uri_name")`
| `ModelVersionChange.remove_uri("uri_name")`
|
:::note
- Multiple modifications can be applied in a single request.
@@ -777,8 +1003,18 @@ cat <<EOF >model.json
},
{
"@type": "updateUri",
+ "uriName": "uri_name",
"newUri": "new_uri"
},
+ {
+ "@type": "addUri",
+ "uriName": "uri_name",
+ "uri": "uri"
+ },
+ {
+ "@type": "removeUri",
+ "uriName": "uri_name"
+ },
{
"@type": "setProperty",
"property": "key",
@@ -823,8 +1059,10 @@ ModelCatalog modelCatalog = catalog.asModelCatalog();
// Define modifications
ModelVersionChange[] changes = {
- ModelVersionChange.updateComment("Updated comment of model version"),
- ModelVersionChange.updateUri("new_uri"),
+ ModelVersionChange.updateComment("Updated comment of model version"),
+ ModelVersionChange.updateUri("uri_name", "new_uri"),
+ ModelVersionChange.addUri("uri_name", "new_uri"),
+ ModelVersionChange.removeUri("uri_name"),
ModelVersionChange.setProperty("key", "value"),
ModelVersionChange.removeProperty("key"),
ModelVersionChange.updateAliases(new String[] {"alias1", "alias2"}, new
String[] {"alias3"})
@@ -852,7 +1090,9 @@ model_catalog =
client.load_catalog(name="mycatalog").as_model_catalog()
# Define modifications
changes = (
ModelVersionChange.update_comment("Updated comment of model version"),
- ModelVersionChange.update_uri("new_uri"),
+ ModelVersionChange.update_uri("new_uri", "uri_name"),
+ ModelVersionChange.add_uri("uri_name", "uri"),
+ ModelVersionChange.remove_uri("uri_name"),
ModelVersionChange.set_property("k2", "v2"),
ModelVersionChange.remove_property("k1"),
ModelVersionChange.update_aliases(["alias1", "alias2"], ["alias3"])
@@ -869,13 +1109,15 @@ updated_model =
model_catalog.alter_model_version_by_alias(
#### Supported modifications
-| Operation | JSON Example
| Java Method
| Python Method
|
-|---------------------|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
-| **Update uri** | `{"@type":"updateUri","newName":"new_uri"}`
|
`ModelVersionChange.updateUri("new_uri")`
| `ModelVersionChange.update_uri("new_uri")`
|
-| **Update comment** | `{"@type":"updateComment","newComment":"new_comment"}`
|
`ModelVersionChange.updateComment("new_comment")`
| `ModelVersionChange.update_comment("new_comment")`
|
-| **Set property** |
`{"@type":"setProperty","property":"key","value":"value"}`
| `ModelVersionChange.setProperty("key", "value")`
| `ModelVersionChange.set_property("key",
"value")` |
-| **Remove property** | `{"@type":"removeProperty","property":"key"}`
|
`ModelVersionChange.removeProperty("key")`
| `ModelVersionChange.remove_property("key")`
|
-| **Update Aliases** | `{"@type": "updateAliases","aliasesToAdd":
["alias1","alias2"],"aliasesToRemove": ["alias3"]}` |
`ModelVersionChange.updateAliases(new String[] {"alias1", "alias2"}, new
String[] {"alias3"})` | `ModelVersionChange.update_aliases(["alias1",
"alias2"], ["alias3"])` |
+| Operation | JSON Example
| Java Method
| Python Method
|
+|---------------------|---------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
+| **Update uri** |
`{"@type":"updateUri","newName":"new_uri","uriName":"uri_name"}`
| `ModelVersionChange.updateUri("new_uri")`
| `ModelVersionChange.update_uri("new_uri")`
|
+| **Update comment** | `{"@type":"updateComment","newComment":"new_comment"}`
|
`ModelVersionChange.updateComment("new_comment")`
| `ModelVersionChange.update_comment("new_comment")`
|
+| **Set property** |
`{"@type":"setProperty","property":"key","value":"value"}`
| `ModelVersionChange.setProperty("key", "value")`
| `ModelVersionChange.set_property("key",
"value")` |
+| **Remove property** | `{"@type":"removeProperty","property":"key"}`
|
`ModelVersionChange.removeProperty("key")`
| `ModelVersionChange.remove_property("key")`
|
+| **Update Aliases** |
`{"@type":"updateAliases","aliasesToAdd":["alias1","alias2"],"aliasesToRemove":["alias3"]}`
| `ModelVersionChange.updateAliases(new String[] {"alias1", "alias2"}, new
String[] {"alias3"})` | `ModelVersionChange.update_aliases(["alias1",
"alias2"], ["alias3"])` |
+| **Add uri** | `{"@type":"addUri","uriName":"uri_name","uri":"uri"}`
| `ModelVersionChange.addUri("uri_name",
"new_uri")` |
`ModelVersionChange.add_uri("uri_name", "uri")` |
+| **Remove uri** | `{"@type":"removeUri","uriName":"uri_name"}`
|
`ModelVersionChange.removeUri("uri_name")`
| `ModelVersionChange.remove_uri("uri_name")`
|
:::note
diff --git a/docs/model-catalog.md b/docs/model-catalog.md
index 25299f3b27..3222fd5a92 100644
--- a/docs/model-catalog.md
+++ b/docs/model-catalog.md
@@ -66,7 +66,9 @@ The Model catalog supports registering, listing and deleting
models and model ve
### Model properties
-Model doesn't have predefined properties. Users can define the properties for
each model and model version.
+| Property name | Description |
Default value | Required | Immutable | Since Version |
+|--------------------|-----------------------------------------------------|---------------|----------|-----------|---------------|
+| `default-uri-name` | The default URI name for the versions of the model. |
(none) | No | No | 1.0.0 |
### Model operations
@@ -80,7 +82,9 @@ The Model catalog supports linking, listing and deleting
model versions.
### ModelVersion properties
-ModelVersion doesn't have predefined properties. Users can define the
properties for each version.
+| Property name | Description
| Default value |
Required | Immutable | Since Version |
+|--------------------|----------------------------------------------------------------------------------------------------------------------|---------------|----------|-----------|---------------|
+| `default-uri-name` | The default URI name for the model version. If set, it
will override the `default-uri-name` property at model level. | (none) |
No | No | 1.0.0 |
### ModelVersion operations
diff --git a/docs/open-api/openapi.yaml b/docs/open-api/openapi.yaml
index abed7d55f1..3c0e0383a7 100644
--- a/docs/open-api/openapi.yaml
+++ b/docs/open-api/openapi.yaml
@@ -149,6 +149,12 @@ paths:
/metalakes/{metalake}/catalogs/{catalog}/schemas/{schema}/models/{model}/aliases/{alias}:
$ref:
"./models.yaml#/paths/~1metalakes~1%7Bmetalake%7D~1catalogs~1%7Bcatalog%7D~1schemas~1%7Bschema%7D~1models~1%7Bmodel%7D~1aliases~1%7Balias%7D"
+
/metalakes/{metalake}/catalogs/{catalog}/schemas/{schema}/models/{model}/versions/{version}/uri:
+ $ref:
"./models.yaml#/paths/~1metalakes~1%7Bmetalake%7D~1catalogs~1%7Bcatalog%7D~1schemas~1%7Bschema%7D~1models~1%7Bmodel%7D~1versions~1%7Bversion%7D~1uri"
+
+
/metalakes/{metalake}/catalogs/{catalog}/schemas/{schema}/models/{model}/aliases/{alias}/uri:
+ $ref:
"./models.yaml#/paths/~1metalakes~1%7Bmetalake%7D~1catalogs~1%7Bcatalog%7D~1schemas~1%7Bschema%7D~1models~1%7Bmodel%7D~1aliases~1%7Balias%7D~1uri"
+
/metalakes/{metalake}/users:
$ref: "./users.yaml#/paths/~1metalakes~1%7Bmetalake%7D~1users"