RDF和SPARQL:如何请求具有子类属性的对象

时间:2018-07-22 11:40:25

标签: sparql rdf modeling rdfs

我正在进入RDF建模,并且难以将属性应用于子类。我想在RDF中为一组人员及其功能建模,然后要查询人员。例如,给出以下RDF内容:

java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.foo.bar.ErrorDetail` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
at [Source: (String)"{"heading":"Validation failed","detail":"field must not be null"}"; line: 1, column: 2]

...我想找到能够一般奔跑的人。为此,可以使用以下方法:

prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix d: <http://mytest.de/data#>
prefix s: <http://mytest.de/types#>

d:runningFast rdfs:subClassOf d:running .
d:myPerson s:does d:runningFast .

s:does rdfs:domain s:Person.
s:does rdfs:range s:Capability.

但是随着示例变得越来越复杂,我想通过select ?person { ?person s:does ?o. ?o rdfs:subClassOf* d:running. } 进行间接操作。我想这样:

?o

我想念什么?我怀疑这是s:does必需的一些附加信息,因为我可以使示例使用select ?person { ?person s:does d:running. } 而不是rdf:type

我期望s:does也能正常工作,因为d:runningFast是d:running的子类。

0 个答案:

没有答案