2013-05-14 1 views
2

참깨 2.7에 문제가 있습니다. 데이터 형식 http://www.w3.org/2000/01/rdf-schema#Literal참깨 2.7이 RDF 리터럴을 인식하지 못했습니다.

으로,

'테스트'를 인식 할 수 없습니다, 그리고 확인할 수 없습니다 : 나는 참깨에 제출

<rdf:RDF xmlns:arq="http://example.com/vocab.rdf#" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> 

<arq:Photo rdf:about="http://example.com/photo_2230.rdf"> 
    <arq:photoName rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal">Testing</arq:photoName> 
    <!-- More properties --> 
    ... 
</arq:Photo> 

, 다음과 같은 오류가 나타납니다 : 나는 다음과 같은 RDF 문서가 있다고 가정

이전 참깨 버전 (버전 2.6.9)에서 정상적으로 작동했습니다. 그러나 업데이트 후, 참깨 2.7은 그것을 인식하지 못하고 왜 발견하지 못합니다. 어떤 일이 벌어지고 있는지 추측 할 수 있습니까?

감사합니다.

답변

2

이전 버전의 Sesame에서는 구문 분석기가 인식 할 수없는 데이터 형식을 발견했을 때 경고를 보냈습니다. 참깨 2.7에서 기본적으로 파서는 실제로 오류로 중단됩니다 (다음 업데이트에서 다시 약간 휴식을 고려하고 있음). 따라서 이전 버전의 Sesame에서도이 값은 인식되지 않았으므로이 데이터를로드하려고 할 때 로그에 경고가 표시됩니다.

이것이 인식 할 수없는 데이터 유형 인 이유는 "http://www.w3.org/2000/01/rdf-schema#Literal"이 데이터 유형 식별자가 아닙니다. 대신 리터럴 클래스의 식별자입니다 (완전히 다른 것). 데이터 유형 메커니즘을 잘못 사용하기 때문에 RDF에서이 데이터 유형을 제거해야합니다. 당신 물론 할 수도 없습니다 즉시 유효하지 않은 데이터 유형에 실패 참깨의 파서를 구성, 데이터를 수정에서 별도로

<arq:photoName>Testing</arq:photoName> 

:

<arq:photoName rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal">Testing</arq:photoName> 

에 :

는 변경이 줄을 그것을 밖으로 철자 . 프로그래밍 방식으로이 작업은 연결 퍼서에 사용 된 ParserConfig을 적용하여 쉽게 수행 할 수 있습니다.

RepositoryConnection conn; // your repository connection 

// set the parser used in the connection to report datatype 
// verification errors but not fail on them. 
conn.getParserConfig().addNonFatalError(BasicParserSettings.VERIFY_DATATYPE_VALUES); 
+0

맞습니다! 아마도 Literal의 의미를 오해했을 것입니다. 나는 네가 한 말을했고 내 문제를 해결했다. 재미있는 점은 내 시스템의 로그 파일을 다시보고, 오래된 참깨가 그것에 대해 경고하지 않았다는 것입니다. 감사! =) – Rick

관련 문제