如何解决CONSTRUCT查询保存列表结构
我列出了以下三个元素:
<Employee#1> <hasOrderedTasks> [ a rdf:List ; rdf:first <FirstTask> ;
rdf:rest [ rdf:first <SecondTask> ;
rdf:rest [ rdf:first <ThirdTask> ;
rdf:rest rdf:nil ] ] ] .
我的问题是:如何使用CONSTRUCT
类型的查询返回列表(及其结构)?
请注意,列表可能具有可变数量的元素,查询将需要对此进行概括。
我可以使用类似的东西:
CONSTRUCT {
?employee <hasOrderedTasks> ?list .
?list <hasElement> ?element
}
WHERE {
?employee <hasOrderedTasks> ?list .
?list rdf:rest*/rdf:first ?element .
}
但是这会破坏我的列表顺序。我当然可以在子查询中使用一些聚合来计算列表中元素的索引,但是即使那样也不会按原样重新创建列表。 也许还有其他功能可以帮助我吗?还是在SPARQL中这是不可能的?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。