Ejemplo n.º 1
0
/*
 * 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;
}
Ejemplo n.º 2
0
/*
 * 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;
}
Ejemplo n.º 3
0
/*
 * 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;
}
Ejemplo n.º 4
0
/*
 * 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;
}
Ejemplo n.º 5
0
/*
 * 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;
}
Ejemplo n.º 6
0
/*
 * 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 );
}
Ejemplo n.º 7
0
/*
 * 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
}
Ejemplo n.º 8
0
/*
 * 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));
}
Ejemplo n.º 9
0
/*
 * 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
}
Ejemplo n.º 10
0
/*
 * 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;
}
Ejemplo n.º 11
0
/*
 * 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;
}
Ejemplo n.º 12
0
/*
 * 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();
}
Ejemplo n.º 13
0
/*
 * 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();
}
Ejemplo n.º 14
0
/*
 * 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();
}
Ejemplo n.º 15
0
/*
 * 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();
}
Ejemplo n.º 16
0
/*
 * 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();
}
Ejemplo n.º 17
0
/*
 * 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();
}
Ejemplo n.º 18
0
/*
 * 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();
}
Ejemplo n.º 19
0
/*
 * 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();
}
Ejemplo n.º 20
0
/*
 * 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 );
}