2017-11-17 25 views
1

blazegraph 워크 벤치의 '업데이트'탭을 사용하여 블레이저 그래프에 데이터를 삽입하려고합니다. 다음은 샘플 코드 스 니펫입니다.SPARQL 업데이트 : 언어 태그에 언더 스코어가 허용되지 않습니다.

INSERT DATA 
{ 
    ns:MyNode ns:hasValue "MyValue"@en_us 
} 

@ 기호로 언어 태그를 지정합니다.

org.openrdf.query.MalformedQueryException : 라인 (8)에서의 어휘 오류가 발생 칼럼 49 : 그러나, 다음과 같은 예외가 발생 "U"(117), 이후에 "_"

밑줄을 언어 태그의 일부로 허용하지 않는 것 같습니다. 그냥 'EN'으로 시도하면 정상적으로 작동합니다.

왜 그렇습니까? 밑줄은 특별한 문자입니까? 그렇다면 그것을 피하는 방법은 무엇입니까?

답변

3

언어 태그의 구문은 RFC에 정의되어 있으며 이제는 RFC5646으로 수정되었습니다. 언어 태그 등록은 IANA에서 관리합니다.

서브 태그는 "-"으로 구분됩니다. 서브 그룹에서는 A-Z,0-9 만 유효합니다.

RDF 구문 (N3, SPARQL, Turtle 등)에 채택 된 경우 채택 된 문법 패턴은 RFC와 약하게 일치하는 타협 구문입니다. '@' [a-zA-Z]+ ('-' [a-zA-Z0-9]+)* 모든 세부 사항을 취하지 않고. 하위 태그 구분 기호는 "-"입니다. "_"은 언어 태그에 사용할 수 없습니다.