#include "py_rdf_module.h"
using namespace boost::python;
/////////////////////////////////////////////////////////////////////////////////////////
// export_triple
//
/////////////////////////////////////////////////////////////////////////////////////////
void
export_triple()
{
class_<rdf::index_triple>("index_triple", no_init)
.def("get_subject", &rdf::index_triple::get_subject, return_internal_reference<1>())
.def("get_predicate", &rdf::index_triple::get_predicate, return_internal_reference<1>())
.def("get_object", &rdf::index_triple::get_object, return_internal_reference<1>())
.def(self_ns::str(self))
;
};
/////////////////////////////////////////////////////////////////////////////////////////
// export_triple_iterator
//
/////////////////////////////////////////////////////////////////////////////////////////
void
export_triple_iterator()
{
class_<rdf::index_triple_iterator>("index_triple_iterator", no_init)
.def("is_end", &rdf::index_triple_iterator::is_end)
.def("next_internal", &rdf::index_triple_iterator::next)
.def("get_triple", &rdf::index_triple_iterator::get_triple)
.def("get_value", &rdf::index_triple_iterator::get_triple)
;
};
/////////////////////////////////////////////////////////////////////////////////////////
// print resources wrapper
//
/////////////////////////////////////////////////////////////////////////////////////////
BOOST_PYTHON_FUNCTION_OVERLOADS(print_resource_names_overloads, rdf::print_resource_names, 1, 2);
/////////////////////////////////////////////////////////////////////////////////////////
// create_literal
//
// Methods for rdf_graph
/////////////////////////////////////////////////////////////////////////////////////////
rdf::literal const&
create_integer_graph(rdf::rdf_graph * graph, int v)
{
std::cout << "create_integer_graph: called with argument " << v << std::endl;
rdf::literal const& l = graph->create_literal(boost::lexical_cast<std::string>(v), v);
std::cout << "create_integer_graph: ok done, got " << l << std::endl;
return l;
};
rdf::literal const&
create_unsigned_int_graph(rdf::rdf_graph * graph, rdf::u_int_type v)
{
return graph->create_literal(boost::lexical_cast<std::string>(v)+"u", boost::lexical_cast<unsigned int>(v));
};
rdf::literal const&
create_float_graph(rdf::rdf_graph * graph, rdf::real_type v)
{
return graph->create_literal(boost::lexical_cast<std::string>(v), v);
};
rdf::literal const&
create_date_graph(rdf::rdf_graph * graph, std::string const& v)
{
return graph->create_literal(v, rdf::date_type_from_string(v));
};
rdf::literal const&
create_time_graph(rdf::rdf_graph * graph, std::string const& v)
{
return graph->create_literal(v, rdf::time_type_from_string(v));
};
rdf::literal const&
create_duration_graph(rdf::rdf_graph * graph, std::string const& v)
{
return graph->create_literal(v, rdf::duration_type_from_string(v));
};
/////////////////////////////////////////////////////////////////////////////////////////
// export_rdf_graph
//
/////////////////////////////////////////////////////////////////////////////////////////
void
export_rdf_graph()
{
bool (rdf::rdf_graph::*contains_x1)(rdf::index_type, rdf::index_type, rdf::index_type)const = &rdf::rdf_graph::contains;
bool (rdf::rdf_graph::*contains_x2)(rdf::index_type, rdf::index_type, rdf::all_objects)const = &rdf::rdf_graph::contains;
bool (rdf::rdf_graph::*contains_x3)(std::string const&, std::string const&, std::string const&)const = &rdf::rdf_graph::contains;
bool (rdf::rdf_graph::*contains_x4)(std::string const&, std::string const&)const = &rdf::rdf_graph::contains;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x1)()const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x2)(rdf::index_type, rdf::all_predicates, rdf::all_objects)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x3)(rdf::index_type, rdf::index_type, rdf::all_objects)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x4)(rdf::all_subjects, rdf::index_type, rdf::all_objects)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x5)(rdf::all_subjects, rdf::index_type, rdf::index_type)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x6)(rdf::all_subjects, rdf::all_predicates, rdf::index_type)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x7)(rdf::index_type, rdf::all_predicates, rdf::index_type)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x8)(std::string const&, rdf::all_predicates, rdf::all_objects)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x9)(std::string const&, std::string const&, rdf::all_objects)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x10)(rdf::all_subjects, std::string const&, rdf::all_objects)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x11)(rdf::all_subjects, std::string const&, std::string const&)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x12)(rdf::all_subjects, rdf::all_predicates, std::string const&)const = &rdf::rdf_graph::find_index;
rdf::rdf_graph::index_iterator (rdf::rdf_graph::*find_x13)(std::string const&, rdf::all_predicates, std::string const&)const = &rdf::rdf_graph::find_index;
unsigned int (rdf::rdf_graph::*count_triples_x2)(rdf::index_type, rdf::all_predicates, rdf::all_objects)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x3)(rdf::index_type, rdf::index_type, rdf::all_objects)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x4)(rdf::all_subjects, rdf::index_type, rdf::all_objects)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x5)(rdf::all_subjects, rdf::index_type, rdf::index_type)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x6)(rdf::all_subjects, rdf::all_predicates, rdf::index_type)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x7)(rdf::index_type, rdf::all_predicates, rdf::index_type)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x8)(std::string const&, rdf::all_predicates, rdf::all_objects)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x9)(std::string const&, std::string const&, rdf::all_objects)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x10)(rdf::all_subjects, std::string const&, rdf::all_objects)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x11)(rdf::all_subjects, std::string const&, std::string const&)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x12)(rdf::all_subjects, rdf::all_predicates, std::string const&)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*count_triples_x13)(std::string const&, rdf::all_predicates, std::string const&)const = &rdf::rdf_graph::count_triples;
unsigned int (rdf::rdf_graph::*insert_x1)(rdf::index_type, rdf::index_type, rdf::index_type) = &rdf::rdf_graph::insert;
unsigned int (rdf::rdf_graph::*insert_x2)(std::string const&, std::string const&, std::string const&) = &rdf::rdf_graph::insert;
unsigned int (rdf::rdf_graph::*erase_x1)(rdf::index_type, rdf::index_type, rdf::index_type) = &rdf::rdf_graph::erase;
unsigned int (rdf::rdf_graph::*erase_x2)(std::string const&, std::string const&, std::string const&) = &rdf::rdf_graph::erase;
void (rdf::rdf_graph::*erase_x3)(rdf::index_type, rdf::index_type) = &rdf::rdf_graph::erase;
void (rdf::rdf_graph::*erase_x4)(std::string const&, std::string const&) = &rdf::rdf_graph::erase;
void (rdf::rdf_graph::*erase_triples_for_x1)(rdf::index_type) = &rdf::rdf_graph::erase_triples_for;
void (rdf::rdf_graph::*erase_triples_for_x2)(std::string const&) = &rdf::rdf_graph::erase_triples_for;
unsigned int (rdf::rdf_graph::*retract_x1)(rdf::index_type, rdf::index_type, rdf::index_type) = &rdf::rdf_graph::retract;
unsigned int (rdf::rdf_graph::*retract_x2)(std::string const&, std::string const&, std::string const&) = &rdf::rdf_graph::retract;
rdf::index_type (rdf::rdf_graph::*get_resource_x1)(std::string const&)const = &rdf::rdf_graph::get_index_type;
rdf::index_type (rdf::rdf_graph::*get_index_type_x1)(std::string const&)const = &rdf::rdf_graph::get_index_type;
rdf::index_type (rdf::rdf_graph::*get_index_type_x2)(unsigned int)const = &rdf::rdf_graph::get_index_type;
bool (rdf::rdf_graph::*is_literal_x1)(std::string const&)const = &rdf::rdf_graph::is_literal;
rdf::literal const& (rdf::rdf_graph::*get_literal_x1)(rdf::index_type)const = &rdf::rdf_graph::get_literal;
rdf::literal const& (rdf::rdf_graph::*get_literal_x2)(std::string const&)const = &rdf::rdf_graph::get_literal;
rdf::index_type (rdf::rdf_graph::*get_object_x1)(rdf::index_type, rdf::index_type)const = &rdf::rdf_graph::get_object;
rdf::index_type (rdf::rdf_graph::*get_object_x2)(std::string const&, std::string const&)const = &rdf::rdf_graph::get_object;
rdf::literal const& (rdf::rdf_graph::*get_literal_object_x1)(rdf::index_type, rdf::index_type)const = &rdf::rdf_graph::get_literal_object;
rdf::literal const& (rdf::rdf_graph::*get_literal_object_x2)(std::string const&, std::string const&)const = &rdf::rdf_graph::get_literal_object;
class_<rdf::rdf_graph, rdf::rdf_graph_ptr_type>("rdf_graph", no_init)
.def("set_initial_triple_size", &rdf::rdf_graph::set_initial_triple_size)
.def("size", &rdf::rdf_graph::size)
.def("contains", contains_x1)
.def("contains", contains_x2)
.def("contains", contains_x3)
.def("contains", contains_x4)
.def("find", find_x1)
.def("find", find_x2)
.def("find", find_x3)
.def("find", find_x4)
.def("find", find_x5)
.def("find", find_x6)
.def("find", find_x7)
.def("find", find_x8)
.def("find", find_x9)
.def("find", find_x10)
.def("find", find_x11)
.def("find", find_x12)
.def("find", find_x13)
.def("count_triples", count_triples_x2)
.def("count_triples", count_triples_x3)
.def("count_triples", count_triples_x4)
.def("count_triples", count_triples_x5)
.def("count_triples", count_triples_x6)
.def("count_triples", count_triples_x7)
.def("count_triples", count_triples_x8)
.def("count_triples", count_triples_x9)
.def("count_triples", count_triples_x10)
.def("count_triples", count_triples_x11)
.def("count_triples", count_triples_x12)
.def("count_triples", count_triples_x13)
.def("get_ref_count", &rdf::rdf_graph::get_ref_count)
.def("insert", insert_x1)
.def("insert", insert_x2)
.def("erase", erase_x1)
.def("erase", erase_x2)
.def("erase", erase_x3)
.def("erase", erase_x4)
.def("erase_triples_for", erase_triples_for_x1)
.def("erase_triples_for", erase_triples_for_x2)
.def("retract", retract_x1)
.def("retract", retract_x2)
.def("get_object", get_object_x1, return_internal_reference<1>())
.def("get_object", get_object_x2, return_internal_reference<1>())
.def("get_literal_object", get_literal_object_x1, return_internal_reference<1>())
.def("get_literal_object", get_literal_object_x2, return_internal_reference<1>())
.def("get_resource", get_index_type_x1, return_internal_reference<1>())
.def("get_resource", get_index_type_x2, return_internal_reference<1>())
.def("is_resource", &rdf::rdf_graph::is_resource)
.def("get_resource", get_resource_x1, return_internal_reference<1>())
.def("create_resource", &rdf::rdf_graph::create_resource, return_internal_reference<1>())
.def("is_literal", is_literal_x1)
.def("get_literal", get_literal_x1, return_internal_reference<1>())
.def("get_literal", get_literal_x2, return_internal_reference<1>())
.def("is_bnode", &rdf::rdf_graph::is_bnode)
.def("create_bnode", &rdf::rdf_graph::create_bnode, return_internal_reference<1>())
.def("create_string_literal", &rdf::rdf_graph::create_string_literal, return_internal_reference<1>())
.def("create_integer", &rdf::rdf_graph::create_int_literal, return_internal_reference<1>())
.def("create_unsigned_int", &rdf::rdf_graph::create_uint_literal, return_internal_reference<1>())
.def("create_float", &rdf::rdf_graph::create_real_literal, return_internal_reference<1>())
.def("create_date", &rdf::rdf_graph::create_date_literal, return_internal_reference<1>())
.def("create_time", &rdf::rdf_graph::create_time_literal, return_internal_reference<1>())
.def("create_duration", &rdf::rdf_graph::create_duration_literal, return_internal_reference<1>())
.def("get_string_literal", &rdf::rdf_graph::get_string_literal, return_internal_reference<1>())
.def("get_integer", &rdf::rdf_graph::get_int_literal, return_internal_reference<1>())
.def("get_unsigned_int", &rdf::rdf_graph::get_uint_literal, return_internal_reference<1>())
.def("get_float", &rdf::rdf_graph::get_real_literal, return_internal_reference<1>())
.def("get_date", &rdf::rdf_graph::get_date_literal, return_internal_reference<1>())
.def("get_time", &rdf::rdf_graph::get_time_literal, return_internal_reference<1>())
.def("get_duration", &rdf::rdf_graph::get_duration_literal, return_internal_reference<1>())
.def("enumerate_resources", &rdf::rdf_graph::enumerate_resources)
;
//
// create rdf graph wrapper
//
def("create_rdf_graph", create_rdf_graph_x1);
def("create_rdf_graph", create_rdf_graph_x2);
def("create_rdf_graph", create_rdf_graph_x3);
def("create_rdf_graph", create_rdf_graph_x4);
//
// print resources wrapper
//
def("print_resource_names", rdf::print_resource_names, print_resource_names_overloads());
};