비교적 기본적인 작업을 위해 SPARQL을 사용하려고합니다. FOAF 그래프를 보면, 거기에서 발견 한 요소를 파서 드하고 싶습니다. 존재하는 경우), 그런 사람들에 대한 정보를 찾을 수있는 새로운 그래프로 사용하십시오.SPARQL의 'GRAPH'키워드를 사용하여 원격 그래프 가져 오기
예를 들어, 내가 좋아하는 음식 (FOAF 파일 당)과 내 친구들 모두가 좋아하는 음식을 나열하는 SPARQL 쿼리를 실행하려는 간단한 사용 사례를 상상해보십시오.
다음은 현재이 모양입니다. 테스트를 위해, 아래 쿼리로 수행하려고하는 순간에? name3 변수를 통해 친구의 이름을 가져옵니다. 이 쿼리를 실행해도? graph 및? name3에 대한 결과는 반환되지 않습니다. 비록 적어도 두 개에 이름 속성이 있어야하는 유효한 RDF 파일에 rdfs : seeAlso 링크가 있음을 알고 있습니다. 가지고 계신 모든 의견을 보내 주셔서 감사합니다!
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?name1 ?name2 ?graph ?name3
FROM <my-rdf-file>
WHERE {
?person1 foaf:knows ?person2 .
?person1 foaf:name ?name1 .
?person2 foaf:name ?name2 .
OPTIONAL {
?person2 rdfs:seeAlso ?graph .
GRAPH ?graph {
?person3 foaf:name ?name3 .
}
}
}
스티브에게 감사드립니다! RDF 그래프의 "자동 발견"이 문제가 될 수 있다고 생각합니다. 특히 그래프 크기가 폭발적으로 증가하는 경우 특히 그렇습니다. 여전히 SPARQL 질의에서 매우 강력한 기술이 될 것 같습니다. 어쨌든, 나는 상대적으로 간단한 문제에 대한 트릭을 수행하는 대안을 찾았습니다. – Geoffroy