是否有可能以编程方式找出两个实例是否属于同一个RDF类?

PCo*_*der 7 java rdf semantic-web jena

是否有可能以编程方式找出两个实例是否属于同一类(使用api,如JENA)

use*_*512 8

在SPARQL中很容易:

ASK { <instance1> a ?class . <instance2> a ?class . }
Run Code Online (Sandbox Code Playgroud)

在Jena API中:

boolean shareClass = false;
for (Statement s: instance1.listProperties(RDF.type)) {
    if (instance2.hasProperty(RDF.type, s.getObject()) {
        shareClass = true;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

不是很优雅.