gpt4 book ai didi

java - 用于检索类中个体的 SPARQL 查询

转载 作者:行者123 更新时间:2023-12-01 14:09:17 26 4
gpt4 key购买 nike

我正在尝试使用 Java 中的 rdf:type Jena 检索类的个体(注意:该类没有子类)。

数据(x 个人):

Class A: x1, x2, x3, x4 Class B: x5, x6, x7, x8 Class C: x9, x10, x11, x12

Object Properties: z1 (CLASS A with B), z2 (CLASS A WITH C), z3 (CLASS B with C)

rdf:CLassA 类型的结果:

In Protege: x1, x2, x3, x4 In Eclipse through jena: x1, x2, x3, x4, x5, x6, x7, x8, x9....

Select ?x
where { ?x rdf:type :ClassA }

在本体编辑器中它运行得很好。然而,在Java中,当我执行查询时,我也会得到不属于该类的个体,但它们通过属性与类个体之一连接。有人知道如何解决这个问题吗?本体论是正确的。

  • 我在 java 中使用 eclipse 作为编辑器
  • 我正在使用 Protege 构建本体

Eclipse/耶拿:

PropertyConfigurator.configure("D:\\apache-jena-2.10.1\\jena-log4j.properties");
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF);
FileManager.get().readModel( model, "file:.owl" );

String queryString =
"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> " +
"PREFIX owl: <http://www.w3.org/2002/07/owl#> " +
"PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> " +
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> " +
"PREFIX bio: <http://www.semanticweb.org/vassilis/ontologies/2013/5/Bio#> " +

" SELECT ?x " +
" WHERE { ?x rdf:type bio:Class } " ;

Query query = QueryFactory.create(queryString);
QueryExecution qe= QueryExecutionFactory.create(query, model);
com.hp.hpl.jena.query.ResultSet resultset = qe.execSelect();
ResultSetFormatter.out(System.out, resultset, query);

门生:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>       
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX bio: <http://www.semanticweb.org/vassilis/ontologies/2013/5/Bio#>

SELECT ?x
WHERE { ?x rdf:type bio:ClassA }

最佳答案

如果本体是正确的,那么您能向我们展示您的代码吗?

您确定“:Class”正确吗?

如果默认 namespace 是 owl 或其他词汇表,则可能会返回使用该词汇表的所有个体,或者耶拿使用的推理规则可能存在差异。这是一个假设。

关于java - 用于检索类中个体的 SPARQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18666574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com