问题描述
我列出了以下三个元素:
<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 (将#修改为@)