在AWS Neptune上使用外部本体

0

【以下的问题经过翻译处理】 你好,

我试图在 Neptune 中使用外部本体,但它们无法加载到图中。例如,当我使用 skos:http://www.w3.org/2004/02/skos/core# 时,它不会将这些本体加载到 Neptune 中。是否有一种将这些外部本体加载到 Neptune 中的方法,或者我必须手动将它们下载到 S3 存储桶中,并从那里将它们加载到 Neptune 实例中。

谢谢,

Justin

编辑:jtrugman,于2020年2月18日下午2:23编辑。

profile picture
专家
已提问 10 个月前29 查看次数
1 回答
0

【以下的回答经过翻译处理】 简短的答案是您需要使用 SPARQL Update LOAD 来将外部本体加载到 Neptune 中,类似于以下内容:

LOAD <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

但是需要考虑几个注释/细节:

您必须“打洞”,以便 Neptune 可以从您的 VPC 中访问。使用 NAT 网关来完成此操作。此文档很有帮助: https://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/

此外,请注意 Neptune 使用 HTTP 内容协商以获取正确格式的 RDF 内容。请参阅此文件(“SPARQL UPDATE LOAD 可导入的媒体类型”部分):https://docs.aws.amazon.com/neptune/latest/userguide/sparql-media-type-support.html

一些外部本体可能不是“可协商内容”的,而是外部服务器使用一些 HTTP 重定向代码来通知客户端实际的 RDF 内容在哪里。Neptune 无法处理这些情况,因此您可能需要测试(例如,使用 curl)外部服务器的实际响应方式。我相信,例如 skos 就是这样设置的。

profile picture
专家
已回答 10 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则