我试图GROUP_CONCAT
a UNION
两组三元组。 这是不允许的?SPARQL组concar union
PREFIX bo: <https://webfiles.uci.edu/jenniyk2/businessontology#>
SELECT (GROUP_CONCAT(DISTINCT ?m2;SEPARATOR = ", ") AS ?comp)
WHERE
{
{{SELECT ?m2 ?c ?p
WHERE { ?c rdfs:label ?m. ?c2 rdfs:label ?m2. ?so bo:owner ?p.
?so bo:sharesIn ?c. ?so2 bo:owner ?p. ?so2 bo:sharesIn ?c2. }
}
UNION
{SELECT ?m2 ?c ?p
WHERE { ?c rdfs:label ?m. ?c2 rdfs:label ?m2. ?dir bo:isPartOf ?c.
?dir bo:isDirectedBy ?p. ?dir2 bo:isPartOf ?c2. ?dir2 bo:isDirectedBy ?p.}
}}
GROUP BY ?c
HAVING (COUNT(?m2) >1)}
它说最后一行有错误。
Found group. Was expecting one of : BIND, BLANK_NODE_LABEL, DECIMAL, DOUBLE, FALSE, FILTER, GEO, GRAPH, INTEGER, MINUS, NIL-SYMBOL, OPTIONAL, Q_IRI_REF, QNAME, QNAME_NS, SERVICE, STRING_LITERAL1, STRING_LITERAL2, STRING_LITERAL_LONG1, STRING_LITERAL_LONG2, TEXTINDEX, TRUE, UNION, VALUES, VARNAME or punctuation '(', '+', '-', '.', '[', '[]', '{', '}'.
看起来这里有更多的查询比必要的更多。我查询不会自动生成或类似的东西,我想你可以使它更简单一些。这不完全是JeenB指出的印刷问题,但它可能使得首先抓住它更容易。 –