두 개의 서로 다른 온톨로지가 있습니다 : 하나는 영화 장르 용이고 다른 하나는 영화 인증 용입니다. 나는 x
(예 : PG-13
)이고 장르는 y
(예 : action
) 인 영화를 찾을 수있는 SPARQL 쿼리를 작성하고 싶습니다. 두 온톨로지는 다르며 Apache Jena에서 업로드합니다. 나는 장르 및 인증을 가진 영화를 찾으려면두 개의 다른 온톨로지에서 질의하는 방법은 무엇입니까?
PREFIX o2: <http://www.semanticweb.org/administrator/ontologies/2016/11/genre_ontology#>
PREFIX o1: <http://www.semanticweb.org/administrator/ontologies/2016/11/certification_ontology#>
:
이들은
내 온톨로지이다. 내 쿼리 여기R
SELECT ?x ?z
WHERE {
?x o1:hasCertificationOf ?y.
?z o2:hasGenre ?a.
FILTER regex(str(?y),"R_") FILTER regex (str(?a),"Adventure")
}
입니다 Restricted
인증
쿼리 결과가 x
및 z
에서 영화를 포함,하지만 난 단지 x
및 z
에서 일반적으로 영화를 원하는입니까?
무엇을 시도 했습니까? 어떻게 영화에 참여하고 싶니? 공통 ID를 기반으로 한 (정확하게 동일한) 제목을 기반으로합니까? 자세한 내용을 추가하십시오! – vefthym
같은 Jena 모델에 두 개의 온톨로지를로드하면 아무런 문제가 발생하지 않습니다. SPARQL 쿼리를 작성하면 Jena는 트리플의 출처를 신경 쓰지 않습니다. – AKSW
이것들은 내 온톨로지 PREFIX o2입니다 : http://www.semanticweb.org/administrator/ontologies/2016/11/genre_ontology# PREFIX o1 : http://www.semanticweb.org/administrator/ontologies/2016/11/certification_ontology #, 장르와 인증이있는 영화를 찾고 싶습니다. 내 쿼리는 SELECT? x? z WHERE {? x o1 : hasCertificationOf? y. ? z o2 : hasGenre? a. FILTER regex (str (? y), "R_") FILTER regex (str (? a), "Adventure")} 여기서 R은 제한된 인증입니다. x 및 z로 영화를 포함하는 쿼리 결과이지만, x와 z? –