SPARQL 1.1 属性 Marklogic 8 中的路径
SPARQL 1.1 Property Paths in Marklogic 8
MarkLogic 语义文档提到支持所有 SPARQL 1.1 属性 路径,否定除外。我一直无法获得指定路径长度的语法,即
elt{n,m} A path between n and m occurrences of elt.
elt{n} Exactly n occurrences of elt. A fixed length path.
elt{n,} n or more occurrences of elt.
elt{,n} Between 0 and n occurrences of elt.
如果我尝试这样的事情:
select ?leaf ?distance {
select ?leaf (count(?mid) as ?distance) {
?leaf <http://schemas.abbvienet.com/ontologies/infrastructure.owl#manager>{1,2} ?mid .
?mid <http://schemas.abbvienet.com/ontologies/infrastructure.owl#manager>{1,2} <http://rdf.abbvienet.com/infrastructure/person/10019933> .
}
group by ?leaf
}
我收到以下错误:
XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error, unexpected {
这对其他人有用吗,或者有人知道 MarkLogic 是否支持此路径语法吗?
请参阅 property paths 的 SPARQL 1.1 规范 - 请注意,这与 SPARQL 属性 路径的早期草案不同,尤其是 属性 的 n 到 m 次出现已删除。
您可能还会发现这篇文章很有用 - 。
顺便说一句,并不是说您查询中的 sub-select 是多余的(如果查询有效)。以下等同于你所拥有的:
select ?leaf (count(?mid) as ?distance) {
?leaf <http://schemas.abbvienet.com/ontologies/infrastructure.owl#manager>{1,2} ?mid .
?mid <http://schemas.abbvienet.com/ontologies/infrastructure.owl#manager>{1,2} <http://rdf.abbvienet.com/infrastructure/person/10019933> .
}
group by ?leaf
MarkLogic 语义文档提到支持所有 SPARQL 1.1 属性 路径,否定除外。我一直无法获得指定路径长度的语法,即
elt{n,m} A path between n and m occurrences of elt.
elt{n} Exactly n occurrences of elt. A fixed length path.
elt{n,} n or more occurrences of elt.
elt{,n} Between 0 and n occurrences of elt.
如果我尝试这样的事情:
select ?leaf ?distance {
select ?leaf (count(?mid) as ?distance) {
?leaf <http://schemas.abbvienet.com/ontologies/infrastructure.owl#manager>{1,2} ?mid .
?mid <http://schemas.abbvienet.com/ontologies/infrastructure.owl#manager>{1,2} <http://rdf.abbvienet.com/infrastructure/person/10019933> .
}
group by ?leaf
}
我收到以下错误:
XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error, unexpected {
这对其他人有用吗,或者有人知道 MarkLogic 是否支持此路径语法吗?
请参阅 property paths 的 SPARQL 1.1 规范 - 请注意,这与 SPARQL 属性 路径的早期草案不同,尤其是 属性 的 n 到 m 次出现已删除。
您可能还会发现这篇文章很有用 -
顺便说一句,并不是说您查询中的 sub-select 是多余的(如果查询有效)。以下等同于你所拥有的:
select ?leaf (count(?mid) as ?distance) {
?leaf <http://schemas.abbvienet.com/ontologies/infrastructure.owl#manager>{1,2} ?mid .
?mid <http://schemas.abbvienet.com/ontologies/infrastructure.owl#manager>{1,2} <http://rdf.abbvienet.com/infrastructure/person/10019933> .
}
group by ?leaf