我有两种不同的本体论:一种用于电影流派,另一种用于电影认证。我想在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? –