/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: isSameAs * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;Luk/ac/manchester/cs/factplusplus/IndividualPointer;)Z */ JNIEXPORT jboolean JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_isSameAs (JNIEnv * env, jobject obj, jobject arg1, jobject arg2) { TRACE_JNI("isSameAs"); TRACE_ARG(env,obj,arg1); TRACE_ARG(env,obj,arg2); bool ret = false; PROCESS_SIMPLE_QUERY ( ret=J->K->isSameIndividuals ( getROIndividualExpr(env,arg1), getROIndividualExpr(env,arg2) ) ); return ret; }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: isClassEquivalentTo * Signature: (Luk/ac/manchester/cs/factplusplus/ClassPointer;Luk/ac/manchester/cs/factplusplus/ClassPointer;)Z */ JNIEXPORT jboolean JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_isClassEquivalentTo (JNIEnv * env, jobject obj, jobject arg1, jobject arg2) { TRACE_JNI("isClassEquivalentTo"); TRACE_ARG(env,obj,arg1); TRACE_ARG(env,obj,arg2); bool ret = false; PROCESS_SIMPLE_QUERY ( ret=J->K->isEquivalent ( getROConceptExpr(env,arg1), getROConceptExpr(env,arg2) ) ); return ret; }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: isObjectPropertyDisjointWith * Signature: (Luk/ac/manchester/cs/factplusplus/ObjectPropertyPointer;Luk/ac/manchester/cs/factplusplus/ObjectPropertyPointer;)Z */ JNIEXPORT jboolean JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_isDataPropertyDisjointWith (JNIEnv * env, jobject obj, jobject arg1, jobject arg2) { TRACE_JNI("isDataPropertyDisjointWith"); TRACE_ARG(env,obj,arg1); TRACE_ARG(env,obj,arg2); bool ret = false; PROCESS_SIMPLE_QUERY ( ret=J->K->isDisjointRoles ( getRODRoleExpr(env,arg1), getRODRoleExpr(env,arg2) ) ); return ret; }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: hasObjectPropertyRelationship * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;Luk/ac/manchester/cs/factplusplus/ObjectPropertyPointer;Luk/ac/manchester/cs/factplusplus/IndividualPointer;)Z */ JNIEXPORT jboolean JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_hasObjectPropertyRelationship (JNIEnv * env, jobject obj, jobject arg1, jobject arg2, jobject arg3) { TRACE_JNI("hasObjectPropertyRelationship"); TRACE_ARG(env,obj,arg1); TRACE_ARG(env,obj,arg2); TRACE_ARG(env,obj,arg3); bool ret = false; PROCESS_SIMPLE_QUERY ( ret=J->K->isRelated ( getROIndividualExpr(env,arg1), getROORoleExpr(env,arg2), getROIndividualExpr(env,arg3) ) ); return ret; }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: isClassSubsumedBy * Signature: (Luk/ac/manchester/cs/factplusplus/ClassPointer;Luk/ac/manchester/cs/factplusplus/ClassPointer;)Z */ JNIEXPORT jboolean JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_isClassSubsumedBy (JNIEnv * env, jobject obj, jobject arg1, jobject arg2) { MemoryStatistics MS("isClassSubsumedBy"); TRACE_JNI("isClassSubsumedBy"); TRACE_ARG(env,obj,arg1); TRACE_ARG(env,obj,arg2); bool ret = false; PROCESS_SIMPLE_QUERY ( ret=J->K->isSubsumedBy ( getROConceptExpr(env,arg1), getROConceptExpr(env,arg2) ) ); return ret; }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askRelatedIndividuals * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;Luk/ac/manchester/cs/factplusplus/ObjectPropertyPointer;)[Luk/ac/manchester/cs/factplusplus/IndividualPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askRelatedIndividuals (JNIEnv * env, jobject obj, jobject arg1, jobject arg2) { TRACE_JNI("askRelatedIndividuals"); TRACE_ARG(env,obj,arg1); TRACE_ARG(env,obj,arg2); TJNICache* J = getJ(env,obj); ReasoningKernel::NamesVector Js; PROCESS_QUERY ( J->K->getRoleFillers ( getROIndividualExpr(env,arg1), getROORoleExpr(env,arg2), Js ) ); std::vector<TExpr*> acc; for ( ReasoningKernel::NamesVector::const_iterator p = Js.begin(), p_end = Js.end(); p < p_end; ++p ) acc.push_back(J->getIName((*p)->getName())); return J->buildArray ( acc, J->IndividualPointer ); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: hasDataPropertyRelationship * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;Luk/ac/manchester/cs/factplusplus/DataPropertyPointer;Luk/ac/manchester/cs/factplusplus/DataValuePointer;)Z */ JNIEXPORT jboolean JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_hasDataPropertyRelationship (JNIEnv * env, jobject obj ATTR_UNUSED, jobject arg1 ATTR_UNUSED, jobject arg2 ATTR_UNUSED, jobject arg3 ATTR_UNUSED) { TRACE_JNI("hasDataPropertyRelationship"); TRACE_ARG(env,obj,arg1); TRACE_ARG(env,obj,arg2); TRACE_ARG(env,obj,arg3); Throw ( env, "FaCT++ Kernel: unsupported operation 'hasDataPropertyRelationship'" ); return NULL; #if 0 bool ret = false; PROCESS_SIMPLE_QUERY ( ret=J->K->isRelated ( getROIndividualExpr(env,arg1), getRODRoleExpr(env,arg2), getROIndividualExpr(env,arg3) ) ); return ret; #endif }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: addArg * Signature: (Luk/ac/manchester/cs/factplusplus/Pointer;)V */ JNIEXPORT void JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_addArg (JNIEnv * env, jobject obj, jobject arg) { TRACE_JNI("addArg"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); J->EM->addArg(getExpr(env,arg)); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askRelatedValues * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;Luk/ac/manchester/cs/factplusplus/DataPropertyPointer;)[Luk/ac/manchester/cs/factplusplus/DataValuePointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askRelatedValues (JNIEnv * env, jobject obj ATTR_UNUSED, jobject arg1 ATTR_UNUSED, jobject arg2 ATTR_UNUSED) { TRACE_JNI("askRelatedValues"); TRACE_ARG(env,obj,arg1); TRACE_ARG(env,obj,arg2); Throw ( env, "FaCT++ Kernel: unsupported operation 'askRelatedValues'" ); return nullptr; #if 0 ReasoningKernel::NamesVector Js; PROCESS_SIMPLE_QUERY ( J->K->getRoleFillers ( getROIndividualExpr(env,arg1), getRODRoleExpr(env,arg2), Js ) ); std::vector<TExpr*> acc; for ( ReasoningKernel::NamesVector::const_iterator p = Js.begin(), p_end = Js.end(); p < p_end; ++p ) acc.push_back(new TExpr(TLexeme(DATAEXPR,const_cast<TNamedEntry*>(*p)))); return J->buildArray ( acc, J->DataValuePointer ); #endif }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: isSubPropertyChainOf * Signature: (Luk/ac/manchester/cs/factplusplus/ObjectPropertyPointer;)Z */ JNIEXPORT jboolean JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_isSubPropertyChainOf (JNIEnv * env, jobject obj, jobject arg) { TRACE_JNI("isSubPropertyChainOf"); TRACE_ARG(env,obj,arg); bool ret = false; PROCESS_SIMPLE_QUERY ( ret=J->K->isSubChain(getROORoleExpr(env,arg)) ); return ret; }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: isDataPropertyFunctional * Signature: (Luk/ac/manchester/cs/factplusplus/DataPropertyPointer;)Z */ JNIEXPORT jboolean JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_isDataPropertyFunctional (JNIEnv * env, jobject obj, jobject arg) { TRACE_JNI("isDataPropertyFunctional"); TRACE_ARG(env,obj,arg); bool ret = false; PROCESS_SIMPLE_QUERY ( ret=J->K->isFunctional(getRODRoleExpr(env,arg)) ); return ret; }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askSameAs * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;)[Luk/ac/manchester/cs/factplusplus/IndividualPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askSameAs (JNIEnv * env, jobject obj, jobject arg) { TRACE_JNI("askSameAs"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); JTaxonomyActor<IndividualPolicy</*plain=*/true> > actor(J); PROCESS_QUERY ( J->K->getSameAs ( getROIndividualExpr(env,arg), actor ) ); return actor.getSynonyms(); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askEquivalentDataProperties * Signature: (Luk/ac/manchester/cs/factplusplus/DataPropertyPointer;)[Luk/ac/manchester/cs/factplusplus/DataPropertyPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askEquivalentDataProperties (JNIEnv * env, jobject obj, jobject arg) { TRACE_JNI("askEquivalentDataProperties"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); JTaxonomyActor<DataPropertyPolicy> actor(J); PROCESS_QUERY ( J->K->getEquivalentRoles ( getRODRoleExpr(env,arg), actor ) ); return actor.getSynonyms(); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askDataPropertyDomain * Signature: (Luk/ac/manchester/cs/factplusplus/DataPropertyPointer;Z)[[Luk/ac/manchester/cs/factplusplus/ClassPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askDataPropertyDomain (JNIEnv * env, jobject obj, jobject arg, jboolean direct) { TRACE_JNI("askDataPropertyDomain"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); JTaxonomyActor<ClassPolicy> actor(J); PROCESS_QUERY ( J->K->getDRoleDomain ( getRODRoleExpr(env,arg), direct, actor ) ); return actor.getElements(); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askIndividualTypes * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;Z)[[Luk/ac/manchester/cs/factplusplus/ClassPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askIndividualTypes (JNIEnv * env, jobject obj, jobject arg, jboolean direct) { TRACE_JNI("askIndividualTypes"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); JTaxonomyActor<ClassPolicy> actor(J); const TIndividualExpr* p = getROIndividualExpr(env,arg); PROCESS_QUERY ( J->K->getTypes(p,direct,actor) ); return actor.getElements(); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askInstancesGrouped * Signature: (Luk/ac/manchester/cs/factplusplus/ClassPointer;Z)[[Luk/ac/manchester/cs/factplusplus/IndividualPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askInstancesGrouped (JNIEnv * env, jobject obj, jobject arg, jboolean direct) { TRACE_JNI("askInstancesGrouped"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); JTaxonomyActor<IndividualPolicy</*plain=*/false> > actor(J); const TConceptExpr* p = getROConceptExpr(env,arg); PROCESS_QUERY ( direct ? J->K->getDirectInstances(p,actor) : J->K->getInstances(p,actor) ); return actor.getElements(); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askDisjointClasses * Signature: (Luk/ac/manchester/cs/factplusplus/ClassPointer;)[[Luk/ac/manchester/cs/factplusplus/ClassPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askDisjointClasses (JNIEnv * env, jobject obj, jobject arg) { TRACE_JNI("askDisjointClasses"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); JTaxonomyActor<ClassPolicy> actor(J); const TConceptExpr* p = getROConceptExpr(env,arg); PROCESS_QUERY ( J->K->getDisjointConcepts(p,actor) ); return actor.getElements(); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askSubDataProperties * Signature: (Luk/ac/manchester/cs/factplusplus/DataPropertyPointer;Z)[[Luk/ac/manchester/cs/factplusplus/DataPropertyPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askSubDataProperties (JNIEnv * env, jobject obj, jobject arg, jboolean direct) { TRACE_JNI("askSubDataProperties"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); JTaxonomyActor<DataPropertyPolicy> actor(J); const TDRoleExpr* p = getRODRoleExpr(env,arg); PROCESS_QUERY ( J->K->getSubRoles(p,direct,actor) ); return actor.getElements(); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askSuperClasses * Signature: (Luk/ac/manchester/cs/factplusplus/ClassPointer;Z)[[Luk/ac/manchester/cs/factplusplus/ClassPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askSuperClasses (JNIEnv * env, jobject obj, jobject arg, jboolean direct) { MemoryStatistics MS("getSuperClasses"); TRACE_JNI("askSuperClasses"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); JTaxonomyActor<ClassPolicy> actor(J); const TConceptExpr* p = getROConceptExpr(env,arg); PROCESS_QUERY ( J->K->getSupConcepts(p,direct,actor) ); return actor.getElements(); }
/* * Class: uk_ac_manchester_cs_factplusplus_FaCTPlusPlus * Method: askDataProperties * Signature: (Luk/ac/manchester/cs/factplusplus/IndividualPointer;)[Luk/ac/manchester/cs/factplusplus/DataPropertyPointer; */ JNIEXPORT jobjectArray JNICALL Java_uk_ac_manchester_cs_factplusplus_FaCTPlusPlus_askDataProperties (JNIEnv * env, jobject obj, jobject arg) { TRACE_JNI("askDataProperties"); TRACE_ARG(env,obj,arg); TJNICache* J = getJ(env,obj); ReasoningKernel::NamesVector Rs; PROCESS_QUERY ( J->K->getRelatedRoles ( getROIndividualExpr(env,arg), Rs, /*data=*/true, /*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->getDName((*p)->getName())); return J->buildArray ( acc, J->DataPropertyPointer ); }