2014-10-24 3 views
2

와인 온톨로지에서 SPARQL 쿼리를 수행하고 주어진 와인 이름으로 hasMaker, locatedIn, hasBody 등의 모든 속성을 찾습니다.SPARQL OWL 와인 온톨로지

전혀 가능합니까? 쿼리를 구성하는 방법을 실제로 파악할 수는 없습니다.

와인 온톨로지 : www.w3.org/TR/owl-guide/wine.rdf 나는 당신의 질문을 이해하면

답변

4

제대로 그것은 아주 간단합니다.

다음은 (PREFIXES없이) 수행하는 방법의 예입니다. 여기에 나는 당신이 와인 URI를 가지고 있다고 추정한다.

select distinct ?p where { 
    vin:MountadamChardonnay ?p ?a . 
} 

여기에 와인의 모든 특성이 표시됩니다.

와인 URI가없는 경우 나머지 속성을 가져 오기 전에 라벨 또는 와인 이름의 체크를 추가 할 수 있습니다. 아래는 그 예입니다. (다른 이름 속성이 있으면 rdfs : label, rdf : id 등으로 이름을 변경하면됩니다.) 이 예제는 각 와인 자원에 다른 idetifier가있는 경우에 더 적합합니다.

select distinct ?p where { 
    ?wine rdfs:label <wine name> . 
    ?wine ?p ?a . 
} 
+0

와인 이름이 rdf : id이면 가능합니까? (재산 대신 노드) – andreasolsson

+0

@andweas 당신의 온톨로지를 살펴 보았습니다. ID가 고유 한 경우 작동해야합니다. 필자는 모든 것을 검사하지 않았기 때문에 rdf : id가 온톨로지에서 유일한지는 모르지만 rdf : id가 올바르게 사용되면 각 rdf : id는 고유해야합니다. 나는 내 대답을 rdfs 대신에 rdf : id를 사용하도록 변경했다 : label – magnudae

+0

@andweas Ok. 와인 온톨로지에 대해 자세히 살펴 보았습니다. rdf : id를 사용하여 와인 uri에 이름을 추가합니다. 즉, 예제 1에서 SPARQL 쿼리를 사용하여 테스트를 수행 할 수 있습니다. 기본 URI (http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#) + 와인의 이름 (id)으로 와인을 요청하면됩니다. – magnudae

관련 문제