Как вы запрашиваете аннотации OWL - PullRequest
0 голосов
/ 26 августа 2010

Я ищу метод / инструмент / синтаксис для запроса аннотаций в онтологии RDF / OWL.

Поисковые движки, которые я нашел, находят классы поиска, свойства, отдельных лиц, но я не нашел тот, который будет искать на основе значения, например, DC: Описание

Ответы [ 2 ]

1 голос
/ 10 декабря 2010

Если вам нужен инструмент программирования и онтология 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()
                }

Это даст вам стоимость этого конкретного свойства. "фабрика" здесь является экземпляром OWLDataFactory.

Надеюсь, это немного поможет!

1 голос
/ 08 сентября 2010

С 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") .
}
...