2017-02-20 8 views
0

私のオントロジーIRIは "http://mycompany.com/ontologies/quality"です。私はここでの問題は、あなたの述語を表明してきた方法である疑いがあるこのSPARQLクエリでエラーが発生するのはなぜですか

Caused by: org.openrdf.query.parser.sparql.ast.TokenMgrError: Lexical error at line 8, column 30. Encountered: " " (32), after : "hasSolution" 
    at org.openrdf.query.parser.sparql.ast.SyntaxTreeBuilderTokenManager.getNextToken(SyntaxTreeBuilderTokenManager.java:3499) 
    at org.openrdf.query.parser.sparql.ast.SyntaxTreeBuilder.jj_ntk(SyntaxTreeBuilder.java:8861) 

答えて

2

:私はそれがこのエラーメッセージの原因となった

SELECT ?subject 
    WHERE { ?subject hasSolution <http://mycompany.com/ontologies/quality#Issue> } LIMIT 10 

「指定されたオブジェクトのプロパティ(hasSolution)を持つすべての被験者を探す」検索しますあなたにこのような何かを与えることをPREFIXステートメントを使用して、

SELECT ?subject 
    WHERE { 
    ?subject <http://mycompany.com/ontologies/hasSolution> <http://mycompany.com/ontologies/quality#Issue> 
    } 
    LIMIT 10 

をまたは:: - それはこのように角括弧を使用してのいずれか、IRIの形式でなければなりません

PREFIX mycoont: <http://mycompany.com/ontologies/> 
SELECT ?subject 
WHERE 
{ 
?subject mycoont:hasSolution <http://mycompany.com/ontologies/quality#Issue> 
} 
LIMIT 10 

それとも、あなたは述語IRIが正確に何であるかわからない場合は、より一般的に、あなたがそれクエリの一部にすることができます。

SELECT ?subject ?predicate 
    WHERE { 
    ?subject ?predicate <http://mycompany.com/ontologies/quality#Issue> 
    } 
    LIMIT 10 

して結果を探る - 返される述語値?完全IRIであるか、クエリエンジンに応じて、何らかの接頭辞接尾辞接尾辞として表現する必要があります。

結果を調べるには、WHERE句の?述語トリプルに適切な値をコピーして貼り付け、SELECT節から?述語トリプルを削除してください。

関連する問題