2017-01-15 13 views
1

Blazegraph를 임베디드 모드로 시작하고 있습니다. 나는 몇 가지 샘플 트리플을로드하고 "모두 선택"쿼리를 검색 할 수 있어요 :간단한 SPARQL 쿼리가 결과를 반환하지 않습니다.

[s=<<<http://github.com/jschmidt10#person_Thomas>, <http://github.com/jschmidt10#hasAge>, "30"^^<http://www.w3.org/2001/XMLSchema#int>>>;p=blaze:history:added;o="2017-01-15T16:11:15.909Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>] 
[s=<<<http://github.com/jschmidt10#person_Tommy>, <http://github.com/jschmidt10#hasLastName>, "Test">>;p=blaze:history:added;o="2017-01-15T16:11:15.909Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>] 
[s=<<<http://github.com/jschmidt10#person_Tommy>, <http://www.w3.org/2002/07/owl#sameAs>, <http://github.com/jschmidt10#person_Thomas>>>;p=blaze:history:added;o="2017-01-15T16:11:15.909Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>] 
[s=<http://github.com/jschmidt10#person_Thomas>;p=<http://github.com/jschmidt10#hasAge>;o="30"^^<http://www.w3.org/2001/XMLSchema#int>] 
[s=<http://github.com/jschmidt10#person_Tommy>;p=<http://github.com/jschmidt10#hasLastName>;o="Test"] 
[s=<http://github.com/jschmidt10#person_Tommy>;p=<http://www.w3.org/2002/07/owl#sameAs>;o=<http://github.com/jschmidt10#person_Thomas>] 

다음 나는에 대한 간단한 쿼리를 시도 :

SELECT * WHERE { ?s ?p ?o } 

이 쿼리 내 모든 샘플 트리플을 반환 특정 주제 :

이 쿼리는 결과를 산출하지 않습니다. URI에 대한 내 쿼리가 작동하지 않는 것 같습니다. 리터럴 (예 : ?s ?p "Test")을 쿼리 할 때 결과를 얻을 수 있습니다.

내 쿼리를 만드는 데 사용하고있는 API가 BigdataSailRepositoryConnection.prepareQuery().

코드 실행 및 쿼리 생성 (스칼라)입니다 :

val props = BasicRepositoryProvider.getProperties("./graph.jnl") 
val sail = new BigdataSail(props) 
val repo = new BigdataSailRepository(sail) 

repo.initialize() 

val query = "SELECT ?p ?o WHERE { <http://github.com/jschmidt10#person_Thomas> ?p ?o }" 
val cxn = repo.getConnection 
cxn.begin() 
var res = cxn. 
    prepareTupleQuery(QueryLanguage.SPARQL, query). 
    evaluate() 

while (res.hasNext) println(res.next) 
cxn.close() 
repo.shutDown() 
+1

흠, 쿼리가 실제로 작동합니다. https://wiki.blazegraph.com/wiki/index.php/Sesame_API_embedded_mode에 가깝지만 실행하고 쿼리를 생성하는 전체 코드 스 니펫을 게시 할 수 있습니까? – AKSW

+0

그리고'DISTINCT를 선택합니까? 'WHERE {? s? p? o}'에 대해 무엇을 얻으실 건가요? – AKSW

+0

@AKSW 답장을 보내 주셔서 감사합니다. 코드 스 니펫으로 질문을 업데이트했습니다. 'SELECT DISTINCT? s'를 실행할 때 예상대로 샘플 세트의 고유 한 주제를 얻습니다. – jeff

답변

3

당신이 확인 했를 데이터베이스를 작성하는 방법? 이상하게 인코딩 된 문자가 있거나 개체에 괄호가 너무 많이 들어있는 것처럼 보입니다.

print 문에서 URI에 여분의 각괄호가 인쇄됩니다. 당신은 가능성이 사용됩니다

val subject = valueFactory.createURI("<http://some.url/some/entity>") 

이 (꺾쇠 괄호없이) 일을해야한다 :

val subject = valueFactory.createURI("http://some.url/some/entity") 
+0

이 게시물은 질문에 대답하기위한 실제 시도가 아닙니다. [StackOverflow가 토론 포럼처럼 작동하지 않습니다.] (http://stackoverflow.com/tour), 모든 게시물이 질문이거나 질문에 대한 답변 인 Q & A 사이트입니다. 게시물에는 [의견] (http://stackoverflow.com/help/privileges/comment) -이 기사와 같은 작은 문장 -을 작성자의 비평이나 설명을 요청하는 데 사용할 수 있습니다. 이 중 하나를 코멘트 또는 [새로운 질문] (http://stackoverflow.com/questions/ask)이어야합니다 –

+1

예! 이것은 실제로 내 문제였습니다. 내가 한 일을 반영하여 답변을 업데이트 하겠지만, 필요없는 경우 각진 대괄호로 데이터를 삽입했습니다. – jeff