Проверьте, является ли предикат стандартного типа в Сезам

Есть ли в Сезаме какая-либо возможность проверить, является ли Предикат (URI), стандартным предикатом w3c (например, предикатами RDFS) как RDF.TYPE или включен в словарь RDF?

1 ответ

Решение

Вы можете просто сравнить часть пространства имен IRI с пространством имен словаря, вот так:

IRI predicate = ... ; // predicate you want to check
switch (predicate.getNamespace()) {
      case RDF.NAMESPACE: 
            // it's an RDF predicate
            break;
      case RDFS.NAMESPACE: 
            // it's an RDFS predicate
            break;
      ... etc
}

Конечно, это не скажет вам, существует ли на самом деле предикат как часть словаря RDF/RDFS - он просто скажет вам, что его часть пространства имен соответствует. Так что, если ваш предикат - это какое-то выдуманное свойство, например http://www.w3.org/1999/02/22-rdf-syntax-ns#foobar, он также завершит свою часть пространства имен RDF: он не проверяет, является ли foobar свойство действительно существует в этом пространстве имен.

Проверьте API Javadoc для полного обзора всех констант свойств в словарях RDF и RDFS.

Другие вопросы по тегам