#include "py_psearch.h"
using namespace boost::python;
/////////////////////////////////////////////////////////////////////////////////////////
// export_psearch_query
//
/////////////////////////////////////////////////////////////////////////////////////////
void
export_psearch_query()
{
/////////////////////////////////////////////////////////////////////////////////////////
// class NodeScoreCard
//
/////////////////////////////////////////////////////////////////////////////////////////
class_<psearch::NodeScoreCard, psearch::nsc_ptr_type>("node_score_card", no_init)
.def("get_node_index", &psearch::NodeScoreCard::get_node_index, return_internal_reference<1>())
.def("get_rdf_index", &psearch::NodeScoreCard::get_rdf_index, return_internal_reference<1>())
.def("get_index_name", &psearch::NodeScoreCard::get_index_name)
.def("get_name", &psearch::NodeScoreCard::get_name, return_value_policy<copy_const_reference>())
.def("get_frequency", &psearch::NodeScoreCard::get_frequency)
.def("get_weight", &psearch::NodeScoreCard::get_weight)
.def("is_has_node", &psearch::NodeScoreCard::is_has_node)
.def("is_asserted_node", &psearch::NodeScoreCard::is_asserted_node)
.def(self_ns::str(self))
;
/////////////////////////////////////////////////////////////////////////////////////////
// class PatternScoreCard
//
/////////////////////////////////////////////////////////////////////////////////////////
class_<psearch::PatternScoreCard, psearch::psc_ptr_type>("pattern_score_card", no_init)
.def("get_pattern_index", &psearch::PatternScoreCard::get_pattern_index, return_internal_reference<1>())
.def("get_rdf_index", &psearch::PatternScoreCard::get_rdf_index, return_internal_reference<1>())
.def("get_index_name", &psearch::PatternScoreCard::get_index_name)
.def("get_name", &psearch::PatternScoreCard::get_name, return_value_policy<copy_const_reference>())
.def("is_all_session_nodes_related", &psearch::PatternScoreCard::is_all_session_nodes_related)
.def("is_asserted", &psearch::PatternScoreCard::is_asserted)
.def("is_c1_match", &psearch::PatternScoreCard::is_c1_match)
.def(self_ns::str(self))
;
/////////////////////////////////////////////////////////////////////////////////////////
// class query_params
//
/////////////////////////////////////////////////////////////////////////////////////////
class_<psearch::query_params>("query_params",init<psearch::psearch_db_ptr_type>())
.def("add_category", &psearch::query_params::add_category)
.def("set_keep_session_nodes", &psearch::query_params::set_keep_session_nodes)
.def("clear", &psearch::query_params::clear)
.def("set_select_relevant_patterns_only", &psearch::query_params::set_select_relevant_patterns_only)
;
/////////////////////////////////////////////////////////////////////////////////////////
// class PSResult
//
/////////////////////////////////////////////////////////////////////////////////////////
class_<psearch::nsc_map_const_iterator>("nsc_map_const_iterator", no_init)
.def("is_end", &psearch::nsc_map_const_iterator::is_end)
.def("next_internal", &psearch::nsc_map_const_iterator::next)
.def("get_value", &psearch::nsc_map_const_iterator::get_value_by_value)
;
class_<psearch::psc_map_const_iterator>("psc_map_const_iterator", no_init)
.def("is_end", &psearch::psc_map_const_iterator::is_end)
.def("next_internal", &psearch::psc_map_const_iterator::next)
.def("get_value", &psearch::psc_map_const_iterator::get_value_by_value)
;
class_<psearch::PSResult, psearch::psresult_ptr_type>("ps_result", no_init)
.def("get_nbr_nsc", &psearch::PSResult::get_nbr_nsc)
.def("get_nbr_psc", &psearch::PSResult::get_nbr_psc)
.def("get_nsc_ptr_iterator", &psearch::PSResult::get_nsc_ptr_iterator)
.def("get_psc_ptr_iterator", &psearch::PSResult::get_psc_ptr_iterator)
.def("get_nsc_ptr", &psearch::PSResult::get_nsc_ptr)
.def("get_psc_ptr", &psearch::PSResult::get_psc_ptr)
;
};
/////////////////////////////////////////////////////////////////////////////////////////
// export_psearch_session
//
/////////////////////////////////////////////////////////////////////////////////////////
void
export_psearch_session()
{
/////////////////////////////////////////////////////////////////////////////////////////
// class PSearchSession
//
/////////////////////////////////////////////////////////////////////////////////////////
class_<psearch::node_dual_set_const_iterator>("node_dual_set_const_iterator", no_init)
.def("is_end", &psearch::node_dual_set_const_iterator::is_end)
.def("next_internal", &psearch::node_dual_set_const_iterator::next)
.def("get_value", &psearch::node_dual_set_const_iterator::get_value_by_value, return_internal_reference<1>())
;
void (psearch::PSearchSession::*set_session_subject_x1)(std::string const&) = &psearch::PSearchSession::set_session_subject;
void (psearch::PSearchSession::*add_node_x1)(std::string const&) = &psearch::PSearchSession::add_node;
void (psearch::PSearchSession::*add_node_x2)(psearch::node_index_type) = &psearch::PSearchSession::add_node;
void (psearch::PSearchSession::*add_node_x3)(rdf::index_type) = &psearch::PSearchSession::add_node;
void (psearch::PSearchSession::*add_inferred_node_x1)(std::string const&) = &psearch::PSearchSession::add_inferred_node;
void (psearch::PSearchSession::*add_inferred_node_x2)(rdf::index_type) = &psearch::PSearchSession::add_inferred_node;
bool (psearch::PSearchSession::*has_node_x1)(psearch::node_index_type)const = &psearch::PSearchSession::has_node;
bool (psearch::PSearchSession::*has_node_x2)(rdf::index_type)const = &psearch::PSearchSession::has_node;
bool (psearch::PSearchSession::*is_asserted_has_node_x1)(psearch::node_index_type)const = &psearch::PSearchSession::is_asserted_has_node;
bool (psearch::PSearchSession::*is_asserted_has_node_x2)(rdf::index_type)const = &psearch::PSearchSession::is_asserted_has_node;
bool (psearch::PSearchSession::*has_negated_node_x1)(psearch::node_index_type)const = &psearch::PSearchSession::has_negated_node;
bool (psearch::PSearchSession::*has_negated_node_x2)(rdf::index_type)const = &psearch::PSearchSession::has_negated_node;
void (psearch::PSearchSession::*add_negated_node_x1)(std::string const&) = &psearch::PSearchSession::add_negated_node;
void (psearch::PSearchSession::*add_negated_node_x2)(psearch::node_index_type) = &psearch::PSearchSession::add_negated_node;
void (psearch::PSearchSession::*add_negated_node_x3)(rdf::index_type) = &psearch::PSearchSession::add_negated_node;
void (psearch::PSearchSession::*remove_node_x1)(std::string const&) = &psearch::PSearchSession::remove_node;
void (psearch::PSearchSession::*remove_node_x2)(psearch::node_index_type) = &psearch::PSearchSession::remove_node;
void (psearch::PSearchSession::*remove_node_x3)(rdf::index_type) = &psearch::PSearchSession::remove_node;
psearch::psresult_ptr_type (psearch::PSearchSession::*query_x1)(psearch::query_params const&, bool) = &psearch::PSearchSession::query;
psearch::psresult_ptr_type (psearch::PSearchSession::*query_x2)(psearch::category_index_type, bool) = &psearch::PSearchSession::query;
class_<psearch::PSearchSession, psearch::psession_ptr_type>("ps_session", no_init)
.def("get_psearch_db", &psearch::PSearchSession::get_psearch_db, return_internal_reference<1>())
.def("get_session_subject", &psearch::PSearchSession::get_session_subject, return_internal_reference<1>())
.def("set_session_subject", set_session_subject_x1)
.def("get_nbr_nodes", &psearch::PSearchSession::get_nbr_nodes)
.def("get_nbr_negated_nodes", &psearch::PSearchSession::get_nbr_negated_nodes)
.def("query", query_x1)
.def("query", query_x2)
.def("infer", &psearch::PSearchSession::infer)
.def("get_nodes_iterator", &psearch::PSearchSession::get_nodes_iterator)
.def("add_node", add_node_x1)
.def("add_node", add_node_x2)
.def("add_node", add_node_x3)
.def("add_inferred_node", add_inferred_node_x1)
.def("add_inferred_node", add_inferred_node_x2)
.def("clear_inferred_nodes", &psearch::PSearchSession::clear_inferred_nodes)
.def("has_node", has_node_x1)
.def("has_node", has_node_x2)
.def("is_asserted_has_node", is_asserted_has_node_x1)
.def("is_asserted_has_node", is_asserted_has_node_x2)
.def("get_negated_nodes_iterator", &psearch::PSearchSession::get_negated_nodes_iterator)
.def("add_negated_node", add_negated_node_x1)
.def("add_negated_node", add_negated_node_x2)
.def("add_negated_node", add_negated_node_x3)
.def("has_negated_node", has_negated_node_x1)
.def("has_negated_node", has_negated_node_x2)
.def("remove_node", remove_node_x1)
.def("remove_node", remove_node_x2)
.def("remove_node", remove_node_x3)
;
def("whyNode", psearch::whyNode);
def("whyPattern", psearch::whyPattern);
};