"^ a"在此SPARQL查询中的含义是什么?

Jua*_*uan 0 sparql

我找到了这个查询,但我不知道它做了什么.我不知道"^ a"是什么意思,特别是.

select distinct ?type where { 
  dbpedia:Stephen_King a ?type .
  filter not exists { 
    ?subtype ^a dbpedia:Stephen_King ;
             rdfs:subClassOf ?type .
    filter ( ?subtype != ?type )
  }
}
Run Code Online (Sandbox Code Playgroud)

AKS*_*KSW 5

它是一个SPARQL 1.1属性路径,描述了通过两个图节点之间的图形的路径,在您的情况下它表示反向路径,即从对象到主体,因此,它相当于

dbpedia:Stephen_King a ?subtype .

a是这个的快捷方式rdf:type

它只是在这里用来能够使用更紧凑的Turtle语法,即代替写作

dbpedia:Stephen_King a ?subtype .
?subtype rdfs:subClassOf ?type .
Run Code Online (Sandbox Code Playgroud)

你可以写

?subtype ^a dbpedia:Stephen_King 
?subtype rdfs:subClassOf ?type .
Run Code Online (Sandbox Code Playgroud)

因此,因为主题是相同的

?subtype ^a dbpedia:Stephen_King ;
         rdfs:subClassOf ?type .
Run Code Online (Sandbox Code Playgroud)