gpt4 book ai didi

sparql - 将 SPARQL DESCRIBE 查询重写为 CONSTRUCT

转载 作者:行者123 更新时间:2023-12-02 04:54:35 25 4
gpt4 key购买 nike

出于某种原因,我无法使用 Redland ( librdf.org ) 发出 DESCRIBE 查询,是否可以将 DESCRIBE 重写为给定 URI 的 CONSTRUCT QUERY?

DESCRIBE <urn:my-uri>

我正在考虑将其写入类似的内容,但我认为这在 SPARQL 中无效

CONSTRUCT  { ?subject ?predicate ?object }
WHERE {
{ ?subject ?predicate ?object }
AND {
{ <urn:my-uri> ?predicate ?object }
OR { ?subject <urn:my-uri> ?object }
OR { ?subject ?predicate <urn:my-uri> }
}
}

最佳答案

您是对的,这不是有效的 SPARQL。与您的OR 最接近的是UNION。并且,不需要 AND 运算符,默认情况下每个三元组模式都是连接而不是并集。

对于您正在尝试的内容,最好使用FILTER,如下例所示:

CONSTRUCT  { ?subject ?predicate ?object }
WHERE { ?subject ?predicate ?object .
FILTER ( ?subject = <urn:your_uri> || ?object = <urn:your_uri>)
}

在某些系统中,对于大型知识库,此查询可能非常昂贵。而且,如果您的数据库包含 bNode,则此查询将不会获取这些节点的描述,而只会获取内部代码。在大多数情况下,手动运行 DESCRIBE 无法通过单个查询完成,您必须实现一些递归逻辑才能获取描述 URI 的所有信息。

关于sparql - 将 SPARQL DESCRIBE 查询重写为 CONSTRUCT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6277962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com