2013-05-02 2 views
2

나는 Sparql 쿼리를 작성했습니다. | ... 등등SPARQL 쿼리의 외부 스키마 태그

| "chlorine"^^<http://www.w3.org/2001/XMLSchema#string> | "green"^^<again link> 

과 :

PREFIX table:<http://www.daml.org/2003/01/periodictable/PeriodicTable#> 
SELECT ?name ?color 
FROM <PeriodicTable.owl> 
WHERE 
{ ?element table:group ?group. 
    ?group table:name "Noble Gas". 
    ?element table:name ?name. 
    ?element table:color ?color. 
} 

나는 아래에 연결된 스키마 태그 출력을 얻고있다

왜 이런 일이 발생하며이를 어떻게 수정해야합니까?

답변

3

쿼리중인 RDF 데이터에는 입력 된 리터럴이 있으며 이름에서 알 수 있듯이 입력 된 리터럴은 데이터 유형과 연결된 리터럴입니다.

RDF 및 SPARQL은 일반적인 데이터 형식에 대해 XML Schema Datatypes을 사용하므로 출력에서 ​​이러한 특정 URIS를 왜 볼 수 있습니다.

당신은 SPARQL 엔진 스트립을 가질 수 있도록 같은 STR() 기능을 사용하여 값 오프 데이터 유형 :

PREFIX table:<http://www.daml.org/2003/01/periodictable/PeriodicTable#> 

SELECT (STR(?name) AS ?NameString) (STR(?color) AS ?ColourString) 
FROM <PeriodicTable.owl> 
WHERE 
{ 
    ?element table:group ?group. 
    ?group table:name "Noble Gas". 
    ?element table:name ?name. 
    ?element table:color ?color. 
} 

이이이 SELECT Expressions 기능을 사용하기 때문에 SPARQL 1.1 지원하는 SPARQL 엔진을 필요로 대부분의 SPARQL 엔진이를 며칠이이를 지원할 것입니다.