在笔记本电脑中使用 Neptune 工作台魔术 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在笔记本电脑中使用 Neptune 工作台魔术

Neptune 工作台提供了许多所谓的魔法笔记本中的命令可以节省大量时间和精力。它们分为两类:幻码幻码.

幻码命令之前有一个百分号(%)。他们只接受行输入,而不是来自细胞体其余部分的输入。Neptune 工作台提供了以下线条魔术:

幻码之前有 2% 的符号(%%) 而不是一个,然后使用单元格内容作为输入,尽管他们也可以将行内容作为输入。Neptune 工作台提供了以下细胞魔术:

还有两种魔术,一个线条魔法和一个细胞魔法,用于处理Neptune 机器学习

注意

使用 Neptune 魔术时,通常可以使用--help要么-h参数。使用细胞魔法,身体不能为空,因此在获得帮助时,请在身体里放填充文本,甚至是单个角色。例如:

%%gremlin --help x

这些区域有:%seed幻码

这些区域有:%seed行魔术是向 Neptune 端点添加数据的便捷方式,您可以用它来探索和试验 Gremlin、OpenPher 或 SPARQL 查询。它提供了一个表单,您可以在其中选择要浏览的数据模型(属性图或 RDF),然后从 Neptune 提供的许多不同样本数据集中进行选择。

这些区域有:%load幻码

这些区域有:%loadline magic 生成一个表单,你可以用它向 Neptune 提交批量加载请求(请参阅Neptune 加载程序命令)。源必须是与 Neptune 群集位于同一区域的 Amazon S3 路径。

这些区域有:%load_ids幻码

这些区域有:%load_idsline magic 检索已提交到笔记本主机终端节点的加载 ID(请参阅Neptune 加载程序获取状态请求参数)。此请求采用以下形式:

GET https://your-neptune-endpoint:port/loader

这些区域有:%load_status幻码

这些区域有:%load_statusline magic 检索已提交到笔记本主机终端节点的特定加载作业的加载状态,该任务由行输入指定(请参阅Neptune 加载程序获取状态请求参数)。此请求采用以下形式:

GET https://your-neptune-endpoint:port/loader?loadId=loadId

线条魔术类似于以下示例:

%load_status load id

这些区域有:%cancel_load幻码

这些区域有:%cancel_loadline Magic 会取消特定的加载作业(请参阅加 Neptune 序取消 Job)。此请求采用以下形式:

DELETE https://your-neptune-endpoint:port/loader?loadId=loadId

线条魔术类似于以下示例:

%cancel_load load id

这些区域有:%status幻码

RETRIEVED状态信息从笔记本电脑的主机终端节点(%graph_notebook_config显示主机终端节点)。

这些区域有:%gremlin-status幻码

RETRIEVEDGremlin 查询状态信息.

这些区域有:%opencypher-status线条魔法(也%oc_status

检索 opencypher 查询的查询状态。此行魔术采用以下可选参数:

  • --queryId要么-q— 指定要显示其状态的特定正在运行的查询的 ID。

  • --cancel_query要么-c— 取消正在运行的查询。没有值。

  • --silent要么-s— 如果--silent设置为true取消查询时,正在运行的查询将被取消,并且 HTTP 响应代码为200. 否则,HTTP 响应代码将是500.

  • --store-to— 指定要在其中存储查询结果的变量的名称。

这些区域有:%sparql-status幻码

RETRIEVEDSPARQL 查询状态信息.

这些区域有:%graph_notebook_config幻码

这个线条魔术显示一个 JSON 对象,其中包含笔记本电脑用于与 Neptune 通信的配置。该配置包括:

  • host:要连接和发出命令的终端节点。

  • port:向 Neptune 发出命令时使用的端口。默认为 8182

  • auth_mode:向 Neptune 发出命令时要使用的身份验证模式。必须是 DEFAULTIAM

  • load_from_s3_arn:指定 Amazon S3 ARN%load魔法使用。如果此值为空,则必须在%load命令。

  • ssl:指示是否使用 TLS 连接到 Neptune 的布尔值。默认值为 true

  • aws_region:部署此笔记本电脑的区域。此信息用于 IAM 身份验证和%load请求。

您可以通过复制%graph_notebook_config输出到新单元格中并在那里对其进行更改。然后如果您运行%%graph_notebook_config新单元格上的细胞魔术,配置将相应地更改。

这些区域有:%graph_notebook_host幻码

将线路输入设置为笔记本电脑的主机。

这些区域有:%graph_notebook_version幻码

这些区域有:%graph_notebook_versionline 魔法返回 Neptune 工作台笔记本发行号码。例如,版本中引入了图表可视化1.27.

这些区域有:%graph_notebook_vis_options幻码

这些区域有:%graph_notebook_vis_optionsline magic 显示笔记本电脑正在使用的当前可视化设置。这些选项在vis.js文档中)。

您可以修改这些设置,方法是将输出复制到新单元格中,进行所需的更改,然后运行%%graph_notebook_vis_options细胞上的魔法。

要将可视化设置恢复为默认值,可以运行%graph_notebook_vis_options用一个线条魔术reset参数。这将重置所有可视化设置:

%graph_notebook_vis_options reset

这些区域有:%%graph_notebook_config幻码

这些区域有:%%graph_notebook_config手机魔术使用包含配置信息的 JSON 对象来修改笔记本电脑用于与 Neptune 通信的设置(如果可能)。配置采用的形式相同%graph_notebook_config幻码。

例如:

%%graph_notebook_config { "host": "my-new-cluster-endpoint.amazon.com", "port": 8182, "auth_mode": "DEFAULT", "load_from_s3_arn": "", "ssl": true, "aws_region": "us-east-1" }

这些区域有:%%sparql幻码

这些区域有:%%sparql细胞魔术向 Neptune 端点发出 SPARQL 查询。它接受以下可选的行输入:

  • -h要么--help— 返回有关这些参数的帮助文本。

  • --path— 为 SPARQL 终端节点的路径添加前缀。例如,如果您指定--path "abc/def"那么被调用的终端节点将是host:port/abc/def.

  • --expand-all— 这是一个查询可视化提示,告诉可视化工具包括所有?s ?p ?o无论绑定类型如何,都会生成图形图。

    默认情况下,SPARQL 可视化仅包括三种模式,其中o?uri或者bnode(空白节点)。所有其他?o绑定类型(例如文字字符串或整数)被视为?s可以使用详细信息窗格中的窗格图表选项卡。

    使用--expand-all查询提示您可能希望在可视化中包含顶点等字面值(如顶点)。

    不要将此可视化提示与解释参数结合起来,因为解释查询不可视化。

  • --explain-type— 用于指定要使用的解释模式(其中之一:dynamicstatic,或者details)。

  • --explain-format— 用于指定解释查询的响应格式(text/csv要么text/html)。

  • — 存储到— 用于指定将查询结果存储到的变量。

示例explain查询:

%%sparql explain SELECT * WHERE {?s ?p ?o} LIMIT 10

可视化查询的示例--expand-all可视化提示参数(请参阅SPARQL 可视化):

%%sparql --expand-all SELECT * WHERE {?s ?p ?o} LIMIT 10

这些区域有:%%gremlin幻码

这些区域有:%%gremlin手机魔术使用 WebSocket 向 Neptune 端点发出 Gremlin 查询。它接受可选的行输入切换到Gremlinexplain/> 模式或GremlinprofileAPI,以及单独的可选可视化提示输入来修改可视化输出行为(请参阅Grelin 可视化)。

示例explain查询:

%%gremlin explain g.V().limit(10)

示例profile查询:

%%gremlin profile g.V().limit(10)

带可视化查询提示的可视化查询示例:

%%gremlin -p v,outv g.V().out().limit(10)

这些区域有:%%opencypher细胞魔法(也%%oc

这些区域有:%%opencypher细胞魔术(也有缩写%%oc窗体),向 Neptune 端点发出 OpenPher 查询。它接受以下可选的行输入参数:

  • 模式— 查询模式:query要么bolt. 未提供该参数时的默认值为query.

  • --group-by要么-g— 指定用于对节点进行分组的属性。例如 code, ~id。未提供该参数时的默认值为~labels.

  • --ignore-groups— 如果存在,所有分组选项都将被忽略。

  • --display-propery要么-d— 指定应为每个顶点显示其值的属性。未提供该参数时的默认值为~labels.

  • --edge-display-propery要么-de— 指定应为每条边显示其值的属性。未提供该参数时的默认值为~labels.

  • --label-max-length要么-l— 指定要显示的顶点标签的最大字符数。未提供该参数时的默认值为10.

  • --store-to要么-s— 指定要在其中存储查询结果的变量的名称。

这些区域有:%%graph_notebook_vis_options幻码

这些区域有:%%graph_notebook_vis_options手机魔术允许您为笔记本设置可视化选项。您可以复制由%graph-notebook-vis-options将魔术线到一个新的单元格中,对它们进行更改,然后使用%%graph_notebook_vis_options细胞魔法来设置新的值。

这些选项在vis.js文档中)。

要将可视化设置恢复为默认值,可以运行%graph_notebook_vis_options用一个线条魔术reset参数。这将重置所有可视化设置:

%graph_notebook_vis_options reset

这些区域有:%neptune_ml幻码

您可以使用%neptune_ml行魔术来启动和管理各种 Neptune 机器学习操作。

注意

您还可 Neptune 使用%%neptune_ml幻码。

  • %neptune_ml export start— 启动新的导出作业。

    Parameters

    • --export-url 出口商端点— (可选的) 可以调用导出者的 Amazon API Gateway 终端节点。

    • --export-iam— (可选的) 指示对导出 URL 的请求必须使用 sigv4 签名的标志。

    • --export-no-ssl— (可选的) 指示连接到出口商时不应使用 SSL 的标志。

    • --wait— (可选的) 指示操作应等到导出完成之前的标志。

    • --wait-interval 等待间隔— (可选的) 设置导出状态检查之间的时间(以秒为单位)(默认值: 60)。

    • --wait-timeout 超时秒— (可选的) 设置在返回最新状态之前等待导出作业完成的时间 (以秒为单位)默认值:3600)。

    • --store-to 定位到商店的结果— (可选的) 存储导出结果的变量。如果--wait被指定,最终状态将存储在那里。

  • %neptune_ml export status— 检索导出作业的状态。

    Parameters

    • --job-id 导出作业 ID— 要检索其状态的导出作业的 ID。

    • --export-url 出口商端点— (可选的) 可以调用导出者的 Amazon API Gateway 终端节点。

    • --export-iam— (可选的) 指示对导出 URL 的请求必须使用 sigv4 签名的标志。

    • --export-no-ssl— (可选的) 指示连接到出口商时不应使用 SSL 的标志。

    • --wait— (可选的) 指示操作应等到导出完成之前的标志。

    • --wait-interval 等待间隔— (可选的) 设置导出状态检查之间的时间(以秒为单位)(默认值: 60)。

    • --wait-timeout 超时秒— (可选的) 设置在返回最新状态之前等待导出作业完成的时间 (以秒为单位)默认值:3600)。

    • --store-to 定位到商店的结果— (可选的) 存储导出结果的变量。如果--wait被指定,最终状态将存储在那里。

  • %neptune_ml dataprocessing start— 启动 Neptune ML 数据处理步骤。

    Parameters

    • --job-id 这份工作的 ID— (可选的) 要分配给该作业的 ID。

    • --s3-input-uri S3 URI— (可选的) 用于查找此数据处理作业输入的 S3 URI。

    • --config-file-name 文件名称— (可选的) 此数据处理作业的配置文件的名称。

    • --store-to 定位到商店的结果— (可选的) 存储数据处理结果的变量。

    • --wait— (可选的) 指示操作应等到数据处理完成之前的标志。

    • --wait-interval 等待间隔— (可选的) 设置数据处理状态检查之间的时间(以秒为单位)(默认值: 60)。

    • --wait-timeout 超时秒— (可选的) 设置在返回最新状态之前等待数据处理作业完成的时间 (以秒为单位)默认值:3600)。

  • %neptune_ml dataprocessing status— 检索数据处理作业的状态。

    Parameters

    • --job-id 任务的 ID— 要检索其状态的作业的 ID。

    • --store-to 实例类型— (可选的) 存储模型训练结果的变量。

    • --wait— (可选的) 指示操作应等到模型训练完成之前的标志。

    • --wait-interval 等待间隔— (可选的) 设置模型训练状态检查之间的时间(以秒为单位)默认值: 60)。

    • --wait-timeout 超时秒— (可选的) 设置在返回最新状态之前等待数据处理作业完成的时间 (以秒为单位)默认值:3600)。

  • %neptune_ml training start— 启动 Neptune ML 模型训练过程。

    Parameters

    • --job-id 这份工作的 ID— (可选的) 要分配给该作业的 ID。

    • --data-processing-id 数据处理作业 ID— (可选的) 创建要用于训练的工件的数据处理作业的 ID。

    • --s3-output-uri S3 URI— (可选的) 存储此模型训练作业输出的 S3 URI。

    • --instance-type S3 URI— (可选的) 用于此模型训练作业的实例大小。

    • --store-to 定位到商店的结果— (可选的) 存储模型训练结果的变量。

    • --wait— (可选的) 指示操作应等到模型训练完成之前的标志。

    • --wait-interval 等待间隔— (可选的) 设置模型训练状态检查之间的时间(以秒为单位)默认值: 60)。

    • --wait-timeout 超时秒— (可选的) 设置在返回最新状态之前等待模型训练作业完成的时间 (以秒为单位)默认值:3600)。

  • %neptune_ml training status— 检索 Neptune ML 模型训练作业的状态。

    Parameters

    • --job-id 作业的 ID— 要检索其状态的作业的 ID。

    • --store-to 实例类型— (可选的) 存储状态结果的变量。

    • --wait— (可选的) 指示操作应等到模型训练完成之前的标志。

    • --wait-interval 等待间隔— (可选的) 设置模型训练状态检查之间的时间(以秒为单位)默认值: 60)。

    • --wait-timeout 超时秒— (可选的) 设置在返回最新状态之前等待数据处理作业完成的时间 (以秒为单位)默认值:3600)。

  • %neptune_ml endpoint create— 为 Neptune ML 模型创建查询端点。

    Parameters

    • --job-id 这份工作的 ID— (可选的) 要分配给该作业的 ID。

    • --model-job-id 模特训练作业 ID— (可选的) 要为其创建查询终端节点的模型训练作业的 ID。

    • --instance-type S3 URI— (可选的) 用于查询终端节点的实例大小。

    • --store-to 定位到商店的结果— (可选的) 要在其中存储终端节点创建结果的变量。

    • --wait— (可选的) 指示操作应等到终端节点创建完成之前的标志。

    • --wait-interval 等待间隔— (可选的) 设置状态检查之间的时间(以秒为单位)(默认值: 60)。

    • --wait-timeout 超时秒— (可选的) 设置在返回最新状态之前等待终端节点创建作业完成的时间 (以秒为单位)默认值:3600)。

  • %neptune_ml endpoint status— 检索 Neptune ML 查询终端节点的状态。

    Parameters

    • --job-id 终端节点创建 ID— (可选的) 要报告其状态的终端节点创建作业的 ID。

    • --store-to 定位到商店的结果— (可选的) 存储状态结果的变量。

    • --wait— (可选的) 指示操作应等到终端节点创建完成之前的标志。

    • --wait-interval 等待间隔— (可选的) 设置状态检查之间的时间(以秒为单位)(默认值: 60)。

    • --wait-timeout 超时秒— (可选的) 设置在返回最新状态之前等待终端节点创建作业完成的时间 (以秒为单位)默认值:3600)。

这些区域有:%%neptune_ml幻码

这些区域有:%%neptune_ml细胞魔法忽略行输入,例如--job-id要么--export-url. 相反,它可以让你在细胞体内提供这些输入和其他输入。

您还可以将此类输入保存在分配给 Jupyter 变量的另一个单元格中,然后使用该变量将它们注入到单元格体中。这样,你就可以一遍又一遍地使用这些输入,而无需每次都重新输入它们。

只有在注入变量是单元格的唯一内容时,这才有效。不能在一个单元格中使用多个变量,也不能使用文本和变量的组合。

例如,%%neptune_ml export start手机魔术可以在包含中描述的所有参数的单元格体中消耗 JSON 文档用于控制 Neptune 导出过程的参数.

Neptune-ML-1-简介到节点分类-Gremlin笔记本,下配置功能中的导出数据和模型配置部分中,您可以看到以下单元格如何在分配给名为的 Jupyter 变量的文档中保存导出参数export-params

export_params = { "command": "export-pg", "params": { "endpoint": neptune_ml.get_host(), "profile": "neptune_ml", "useIamAuth": neptune_ml.get_iam(), "cloneCluster": False }, "outputS3Path": f'{s3_bucket_uri}/neptune-export', "additionalParams": { "neptune_ml": { "targets": [ { "node": "movie", "property": "genre" } ], "features": [ { "node": "movie", "property": "title", "type": "word2vec" }, { "node": "user", "property": "age", "type": "bucket_numerical", "range" : [1, 100], "num_buckets": 10 } ] } }, "jobSize": "medium"}

当你运行此单元格时,Jupyter 会以该名称保存参数文档。然后,您可以使用${export_params}将 JSON 文档注入到%%neptune_ml export start cell,像这样:

%%neptune_ml export start --export-url {neptune_ml.get_export_service_host()} --export-iam --wait --store-to export_results ${export_params}

的可用形式%%neptune_ml幻码

这些区域有:%%neptune_mlCell Magic 可以采用以下形式:

  • %%neptune_ml export start— 启动 Neptune ML 导出过程。

  • %%neptune_ml dataprocessing start— 启动 Neptune ML 数据处理作业。

  • %%neptune_ml training start— 开始 Neptune ML 模型训练工作。

  • %%neptune_ml endpoint create— 为模型创建 Neptune ML 查询端点。