您如何查询OWL注释

时间:2010-08-26 17:14:16

标签: search rdf owl

我正在搜索方法/工具/语法来查询RDF / OWL本体中的注释。

查询引擎我找到了搜索类,属性,个人,但我还没有找到一个会根据DC搜索的值:描述

2 个答案:

答案 0 :(得分:1)

使用SPARQL,您应该能够通过您感兴趣的属性查询注释,例如:

PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?x ?desc {
  ?x dc:description ?desc .
}

此方法还可用于检索具有特定注释值的所有实例,例如:

PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?x {
  ?x dc:description "some description string" .
}

或者,你甚至可以根据一些REGEX尝试匹配:

PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?x {
  ?x dc:description ?desc .
  FILTER REGEX(STR(?desc), "^Some regex") .
}

答案 1 :(得分:1)

如果您使用的是编程工具且本体是OWL,则可以使用Manchester OWL API:

OWLClass classA = factory.getOWLClass(IRI.create("http://your/url/here#ClassA"));
OWLAnnotationProperty dcProperty = factory.getOWLAnnotationProperty(IRI.create("http://purl.org/dc/elements/1.1/description"));

for (OWLAnnotation annotation : classA.getAnnotations(ontology, dcProperty)) {
OWLLiteral literal = (OWLLiteral) annotation.getValue();
String literalString = literal.getLiteral()
                }

这将获得该特定属性的价值。 “factory”这里是OWLDataFactory的一个实例。

希望有所帮助!