如何解决SPARQL可以处理特定单元格的空白结果吗?使用Optional不起作用
我具有以下类别限制,该类别限制将材料子类别(在这种情况下为胶带和盒子)连接到每个具有属性“ included_in”的包装个体。因此,我的三元组具有以下结构:
Subclass.included_in.Individuals
一个小例子:
ABC_tape“ included_in” SNR2_packing。 (这里ABC_tape是Tape的子类)
ABC_Box“ included_in” SNR1_packing。 (这里ABC_Box是Box的子类)
我用来查看此连接的查询如下:
Select distinct ?packing ?Box
Where { ?packing_instances rdf:type :packing.
?s owl:hasValue ?packing_instances.
?s owl:onProperty :included_in.
?Box rdfs:subClassOf ?s.
?Box rdfs:subClassOf :Box.
}
其中显示了物料子类: ABC_Box ,它包含在包装实例 SNR1_packing
中问题是,何时我想为其他材料(如本例中的胶带)使用单独的列。
Select distinct ?packing ?Box ?tape
Where { ?packing_instances rdf:type :packing.
?s owl:hasValue ?packing_instances.
?s owl:onProperty :included_in.
?Box rdfs:subClassOf ?s.
?Box rdfs:subClassOf :Box.
?s1 owl:hasValue ?packing_instances.
?s1 owl:onProperty :included_in.
?tape rdfs:subClassOf ?s.
?tape rdfs:subClassOf :tape.
}
我没有结果,因为 SNR1_packing (其中包括一个盒子,不包括磁带)。 我已经尝试添加可选内容,但只获得包装盒的结果(SNR1_packing),而不是磁带。
Select ?packing_instances ?Box ?tape
Where {
?packing_instances rdf:type :packing.
?s owl:hasValue ?packing_instances.
?s owl:onProperty :included_in.
?Box rdfs:subClassOf ?s.
?Box rdfs:subClassOf :Box.
optional {
?s1 owl:hasValue ?packing_instances.
?s1 owl:onProperty :included_in.
?tape rdfs:subClassOf ?s1.
?tape rdfs:subClassOf :tape. }
我在做错什么吗?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。