/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: getTopObjectProperty * Signature: ()Luk/ac/manchester/cs/factplusplus/ObjectPropertyPointer; */ JNIEXPORT jobject JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_getTopObjectProperty (JNIEnv * env, jobject obj) { TRACE_JNI("getTopObjectProperty"); TJNICache* J = getJ(env,obj); return J->ObjectProperty(J->getOName("http://www.w3.org/2002/07/owl#topObjectProperty")); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askObjectProperties * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;)[Luk/ac/manchester/cs/factplusplus/ObjectPropertyPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askObjectProperties (JNIEnv * env, jobject obj, jobject arg) { TRACE_JNI("askObjectProperties"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); ReasoningKernel::NamesVector Rs; PROCESS_QUERY ( J->K->getRelatedRoles ( getROIndividualExpr(env,arg), Rs, /*data=*/false, /*needI=*/false ) ); std::vector<TExpr*> acc; for ( ReasoningKernel::NamesVector::const_iterator p = Rs.begin(), p_end = Rs.end(); p < p_end; ++p ) acc.push_back(J->getOName((*p)->getName())); return J->buildArray ( acc, J->ObjectPropertyPointer ); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: getObjectProperty * Signature: (Ljava/lang/String;)Luk/ac/manchester/cs/factplusplus/ObjectPropertyPointer; */ JNIEXPORT jobject JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_getObjectProperty (JNIEnv * env, jobject obj, jstring str) { TRACE_JNI("getObjectProperty"); TRACE_STR(env,str); TJNICache* J = getJ(env,obj); JString name(env,str); jobject ret = (jobject)0; try { ret = J->ObjectProperty(J->getOName(name())); } catch (const EFPPCantRegName&) { Throw ( env, "FaCT++ Kernel: Can not register new object property name" ); } return ret; }