检查谓词是否为 Sesame 中的标准类型
Check if a predicate is of standard type in Sesame
Sesame 是否有可能检查谓词 (URI) 是否像 RDF.TYPE 那样的 w3c 标准谓词(例如 RDFS 谓词)或包含在 RDF 词汇表中?
您可以将 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 词汇表中所有 属性 常量的完整概述。
Sesame 是否有可能检查谓词 (URI) 是否像 RDF.TYPE 那样的 w3c 标准谓词(例如 RDFS 谓词)或包含在 RDF 词汇表中?
您可以将 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 词汇表中所有 属性 常量的完整概述。