我有兩種不同的本體論:一種用於電影流派,另一種用於電影認證。我想在SPARQL中編寫一個查詢,查詢可以找到具有認證x
(比如說PG-13
)和類別y
(比如action
)的電影。這兩個本體都不同,我在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#>
我想找到有體裁和認證電影。我的查詢是
SELECT ?x ?z
WHERE {
?x o1:hasCertificationOf ?y.
?z o2:hasGenre ?a.
FILTER regex(str(?y),"R_") FILTER regex (str(?a),"Adventure")
}
這裏R
是Restricted
認證
查詢結果包含電影x
和z
,但我只想在x
和z
普通的電影?
你試過了什麼?你想如何加入電影?根據他們(完全相同)的標題,基於一個共同的ID?添加更多細節! – vefthym
如果你將兩個本體加載到同一個Jena模型中,我沒有看到任何問題。只需編寫SPARQL查詢,耶拿不關心三元組的起源。 – 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正則表達式(str(?y),「R_」)FILTER正則表達式(str(?a),「Adventure」)}這裏R是Restricted certification查詢結果包含x和z中的電影,但我只想要普通電影x和z? –