Welcome to Cowl’s documentation!
Cowl is a lightweight C/C++ API for working with OWL 2 ontologies, developed by SisInf Lab at the Polytechnic University of Bari.
API docs
- Configuration
- Working with ontologies
- The ontology manager
CowlManagercowl_manager()cowl_manager_get_reader()cowl_manager_set_reader()cowl_manager_get_writer()cowl_manager_set_writer()cowl_manager_get_import_resolver()cowl_manager_set_import_resolver()cowl_manager_get_error_handler()cowl_manager_set_error_handler()cowl_manager_ontology_count()cowl_manager_iterate_ontologies()cowl_manager_new_ontology()cowl_manager_get_ontology()cowl_manager_retrieve_ontology()cowl_manager_read_path()cowl_manager_read_file()cowl_manager_read_string()cowl_manager_read_stream()cowl_manager_write_path()cowl_manager_write_file()cowl_manager_write_strbuf()cowl_manager_write_stream()cowl_manager_get_istream()cowl_manager_get_istream_to_ontology()cowl_manager_get_ostream()
- Reading ontologies
- Readers
- Handling imports
- Reading ontologies as axiom streams
CowlIStreamcowl_istream_get_manager()cowl_istream_get_sym_table()cowl_istream_handle_iri()cowl_istream_handle_version()cowl_istream_handle_import()cowl_istream_handle_annot()cowl_istream_handle_axiom()cowl_istream_process_path()cowl_istream_process_file()cowl_istream_process_string()cowl_istream_process_stream()cowl_istream_process_ontology()CowlIStreamHandlers
- Querying and editing ontologies
- The ontology object
CowlOntologycowl_ontology_get_manager()cowl_ontology_set_manager()cowl_ontology_get_sym_table()cowl_ontology_get_iri()cowl_ontology_set_iri()cowl_ontology_get_version()cowl_ontology_set_version()cowl_ontology_get_annot()cowl_ontology_add_annot()cowl_ontology_remove_annot()cowl_ontology_has_import()cowl_ontology_add_import()cowl_ontology_remove_import()cowl_ontology_add_axiom()cowl_ontology_remove_axiom()cowl_ontology_remove_axioms_matching()cowl_ontology_axiom_count()cowl_ontology_imports_count()cowl_ontology_axiom_count_for_type()cowl_ontology_axiom_count_for_types()cowl_ontology_axiom_count_for_primitive()cowl_ontology_primitives_count()cowl_ontology_has_primitive()cowl_ontology_has_axiom()cowl_ontology_iterate_primitives()cowl_ontology_iterate_imports()cowl_ontology_iterate_import_iris()cowl_ontology_iterate_axioms()cowl_ontology_iterate_axioms_of_type()cowl_ontology_iterate_axioms_of_types()cowl_ontology_iterate_axioms_for_primitive()cowl_ontology_iterate_axioms_matching()cowl_ontology_iterate_related()cowl_ontology_iterate_sub_classes()cowl_ontology_iterate_super_classes()cowl_ontology_iterate_eq_classes()cowl_ontology_iterate_disjoint_classes()cowl_ontology_iterate_types()
- Querying ontologies
CowlIteratorCowlFiltercowl_iterator_call()cowl_iterator_vec()cowl_iterator_set()cowl_iterator_count()cowl_iterator_contains()cowl_iterator_retain()cowl_iterator_release()CowlAxiomFlagsCOWL_AF_NONECOWL_AF_ALLCOWL_AF_DECLCOWL_AF_SUB_CLASSCOWL_AF_EQUIV_CLASSESCOWL_AF_DISJ_CLASSESCOWL_AF_DISJ_UNIONCOWL_AF_SUB_OBJ_PROPCOWL_AF_EQUIV_OBJ_PROPCOWL_AF_DISJ_OBJ_PROPCOWL_AF_INV_OBJ_PROPCOWL_AF_OBJ_PROP_DOMAINCOWL_AF_OBJ_PROP_RANGECOWL_AF_FUNC_OBJ_PROPCOWL_AF_INV_FUNC_OBJ_PROPCOWL_AF_REFL_OBJ_PROPCOWL_AF_IRREFL_OBJ_PROPCOWL_AF_SYMM_OBJ_PROPCOWL_AF_ASYMM_OBJ_PROPCOWL_AF_TRANS_OBJ_PROPCOWL_AF_SUB_DATA_PROPCOWL_AF_EQUIV_DATA_PROPCOWL_AF_DISJ_DATA_PROPCOWL_AF_DATA_PROP_DOMAINCOWL_AF_DATA_PROP_RANGECOWL_AF_FUNC_DATA_PROPCOWL_AF_DATATYPE_DEFCOWL_AF_HAS_KEYCOWL_AF_SAME_INDCOWL_AF_DIFF_INDCOWL_AF_CLASS_ASSERTCOWL_AF_OBJ_PROP_ASSERTCOWL_AF_NEG_OBJ_PROP_ASSERTCOWL_AF_DATA_PROP_ASSERTCOWL_AF_NEG_DATA_PROP_ASSERTCOWL_AF_ANNOT_ASSERTCOWL_AF_SUB_ANNOT_PROPCOWL_AF_ANNOT_PROP_DOMAINCOWL_AF_ANNOT_PROP_RANGEcowl_axiom_flags_from_type()cowl_axiom_flags_has_type()cowl_axiom_flags_has_all_types()cowl_axiom_flags_has_no_types()cowl_axiom_flags_foreach_typeCowlAxiomFiltercowl_axiom_filter()cowl_axiom_filter_deinit()cowl_axiom_filter_add_type()cowl_axiom_filter_remove_type()cowl_axiom_filter_add_primitive()cowl_axiom_filter_remove_primitive()cowl_axiom_filter_set_closure()
- Editing ontologies
CowlSymTablecowl_sym_table_get_prefix_ns_map()cowl_sym_table_get_ns()cowl_sym_table_get_prefix()cowl_sym_table_register_prefix()cowl_sym_table_register_prefix_raw()cowl_sym_table_unregister_prefix()cowl_sym_table_unregister_ns()cowl_sym_table_merge()cowl_sym_table_get_iri()cowl_sym_table_parse_short_iri()cowl_sym_table_parse_iri()cowl_sym_table_get_full_iri()cowl_sym_table_parse_full_iri()
- The ontology object
- Writing ontologies
- Writers
CowlWritercowl_writer_functional()cowl_writer_default()cowl_writer_free_ctx()cowl_writer_can_write_stream()cowl_writer_can_write_object()cowl_writer_can_write_ontology()cowl_write()cowl_write_debug()cowl_write_string()cowl_write_iri()cowl_write_object_type()cowl_write_uint()cowl_write_error()cowl_write_ustring()cowl_write_cstring()cowl_write_static
- Writing ontologies as axiom streams
- Writers
- Handling errors
- The ontology manager
- Data model
- Base types
- Objects
CowlObjectcowl_retain()cowl_release()cowl_get_type()cowl_is_primitive()cowl_is_entity()cowl_is_axiom()cowl_is_cls_exp()cowl_is_obj_prop_exp()cowl_is_data_prop_exp()cowl_is_individual()cowl_is_data_range()cowl_get_iri()cowl_has_iri()cowl_has_iri_string()cowl_get_ns()cowl_get_rem()cowl_get_annot()cowl_to_string()cowl_to_ustring()cowl_to_debug_string()cowl_to_debug_ustring()cowl_equals()cowl_is_reserved()cowl_hash()cowl_has_primitive()cowl_iterate_primitives()cowl_release_all()- Object types
CowlObjectTypeCOWL_OT_STRINGCOWL_OT_VECTORCOWL_OT_TABLECOWL_OT_IRICOWL_OT_LITERALCOWL_OT_FACET_RESTRCOWL_OT_ONTOLOGYCOWL_OT_MANAGERCOWL_OT_SYM_TABLECOWL_OT_ISTREAMCOWL_OT_OSTREAMCOWL_OT_ANNOTATIONCOWL_OT_ANNOT_PROPCOWL_OT_A_DECLCOWL_OT_A_SUB_CLASSCOWL_OT_A_EQUIV_CLASSESCOWL_OT_A_DISJ_CLASSESCOWL_OT_A_DISJ_UNIONCOWL_OT_A_SUB_OBJ_PROPCOWL_OT_A_EQUIV_OBJ_PROPCOWL_OT_A_DISJ_OBJ_PROPCOWL_OT_A_INV_OBJ_PROPCOWL_OT_A_OBJ_PROP_DOMAINCOWL_OT_A_OBJ_PROP_RANGECOWL_OT_A_FUNC_OBJ_PROPCOWL_OT_A_INV_FUNC_OBJ_PROPCOWL_OT_A_REFL_OBJ_PROPCOWL_OT_A_IRREFL_OBJ_PROPCOWL_OT_A_SYMM_OBJ_PROPCOWL_OT_A_ASYMM_OBJ_PROPCOWL_OT_A_TRANS_OBJ_PROPCOWL_OT_A_SUB_DATA_PROPCOWL_OT_A_EQUIV_DATA_PROPCOWL_OT_A_DISJ_DATA_PROPCOWL_OT_A_DATA_PROP_DOMAINCOWL_OT_A_DATA_PROP_RANGECOWL_OT_A_FUNC_DATA_PROPCOWL_OT_A_DATATYPE_DEFCOWL_OT_A_HAS_KEYCOWL_OT_A_SAME_INDCOWL_OT_A_DIFF_INDCOWL_OT_A_CLASS_ASSERTCOWL_OT_A_OBJ_PROP_ASSERTCOWL_OT_A_NEG_OBJ_PROP_ASSERTCOWL_OT_A_DATA_PROP_ASSERTCOWL_OT_A_NEG_DATA_PROP_ASSERTCOWL_OT_A_ANNOT_ASSERTCOWL_OT_A_SUB_ANNOT_PROPCOWL_OT_A_ANNOT_PROP_DOMAINCOWL_OT_A_ANNOT_PROP_RANGECOWL_OT_CE_CLASSCOWL_OT_CE_OBJ_INTERSECTCOWL_OT_CE_OBJ_UNIONCOWL_OT_CE_OBJ_COMPLCOWL_OT_CE_OBJ_ONE_OFCOWL_OT_CE_OBJ_SOMECOWL_OT_CE_OBJ_ALLCOWL_OT_CE_OBJ_HAS_VALUECOWL_OT_CE_OBJ_HAS_SELFCOWL_OT_CE_OBJ_MIN_CARDCOWL_OT_CE_OBJ_MAX_CARDCOWL_OT_CE_OBJ_EXACT_CARDCOWL_OT_CE_DATA_SOMECOWL_OT_CE_DATA_ALLCOWL_OT_CE_DATA_HAS_VALUECOWL_OT_CE_DATA_MIN_CARDCOWL_OT_CE_DATA_MAX_CARDCOWL_OT_CE_DATA_EXACT_CARDCOWL_OT_DR_DATATYPECOWL_OT_DR_DATA_INTERSECTCOWL_OT_DR_DATA_UNIONCOWL_OT_DR_DATA_COMPLCOWL_OT_DR_DATA_ONE_OFCOWL_OT_DR_DATATYPE_RESTRCOWL_OT_OPE_OBJ_PROPCOWL_OT_OPE_INV_OBJ_PROPCOWL_OT_DPE_DATA_PROPCOWL_OT_I_NAMEDCOWL_OT_I_ANONYMOUSCOWL_OT_COUNTCOWL_OT_FIRSTCOWL_OT_FIRST_ACOWL_OT_LAST_ACOWL_OT_FIRST_CECOWL_OT_LAST_CECOWL_OT_FIRST_OPECOWL_OT_LAST_OPECOWL_OT_FIRST_ICOWL_OT_LAST_ICOWL_OT_FIRST_DRCOWL_OT_LAST_DR
cowl_object_type_to_ustring()cowl_object_type_to_string()cowl_object_type_from_string()
- Placeholder types
- Numeric types
- Strings
CowlStringcowl_string()cowl_string_opt()cowl_string_empty()cowl_string_intern()cowl_string_release_copying_raw()cowl_string_release_copying_cstring()cowl_string_get_cstring()cowl_string_get_length()cowl_string_get_raw()cowl_string_with_format()cowl_string_concat()cowl_string_to_int()cowl_string_to_uint()cowl_string_to_float()cowl_string_from_staticCowlStringOptsCOWL_SO_NONECOWL_SO_COPYCOWL_SO_INTERN
- Collections
- Objects
- Entities and primitives
- Class expressions
CowlClsExpCowlClsExpTypeCOWL_CET_CLASSCOWL_CET_OBJ_INTERSECTCOWL_CET_OBJ_UNIONCOWL_CET_OBJ_COMPLCOWL_CET_OBJ_ONE_OFCOWL_CET_OBJ_SOMECOWL_CET_OBJ_ALLCOWL_CET_OBJ_HAS_VALUECOWL_CET_OBJ_HAS_SELFCOWL_CET_OBJ_MIN_CARDCOWL_CET_OBJ_MAX_CARDCOWL_CET_OBJ_EXACT_CARDCOWL_CET_DATA_SOMECOWL_CET_DATA_ALLCOWL_CET_DATA_HAS_VALUECOWL_CET_DATA_MIN_CARDCOWL_CET_DATA_MAX_CARDCOWL_CET_DATA_EXACT_CARDCOWL_CET_COUNTCOWL_CET_FIRST
cowl_cls_exp_get_type()- Classes
- Boolean class expressions
- Object property restrictions
- Data property restrictions
- Individual enumeration
- Data ranges
- Literals
- Properties
- Axioms
CowlAxiomCowlAxiomTypeCOWL_AT_DECLCOWL_AT_SUB_CLASSCOWL_AT_EQUIV_CLASSESCOWL_AT_DISJ_CLASSESCOWL_AT_DISJ_UNIONCOWL_AT_SUB_OBJ_PROPCOWL_AT_EQUIV_OBJ_PROPCOWL_AT_DISJ_OBJ_PROPCOWL_AT_INV_OBJ_PROPCOWL_AT_OBJ_PROP_DOMAINCOWL_AT_OBJ_PROP_RANGECOWL_AT_FUNC_OBJ_PROPCOWL_AT_INV_FUNC_OBJ_PROPCOWL_AT_REFL_OBJ_PROPCOWL_AT_IRREFL_OBJ_PROPCOWL_AT_SYMM_OBJ_PROPCOWL_AT_ASYMM_OBJ_PROPCOWL_AT_TRANS_OBJ_PROPCOWL_AT_SUB_DATA_PROPCOWL_AT_EQUIV_DATA_PROPCOWL_AT_DISJ_DATA_PROPCOWL_AT_DATA_PROP_DOMAINCOWL_AT_DATA_PROP_RANGECOWL_AT_FUNC_DATA_PROPCOWL_AT_DATATYPE_DEFCOWL_AT_HAS_KEYCOWL_AT_SAME_INDCOWL_AT_DIFF_INDCOWL_AT_CLASS_ASSERTCOWL_AT_OBJ_PROP_ASSERTCOWL_AT_NEG_OBJ_PROP_ASSERTCOWL_AT_DATA_PROP_ASSERTCOWL_AT_NEG_DATA_PROP_ASSERTCOWL_AT_ANNOT_ASSERTCOWL_AT_SUB_ANNOT_PROPCOWL_AT_ANNOT_PROP_DOMAINCOWL_AT_ANNOT_PROP_RANGECOWL_AT_COUNTCOWL_AT_FIRST
cowl_axiom_get_type()cowl_axiom_get_annot()cowl_axiom_has_operand()cowl_axiom_has_operand_with_iri()cowl_axiom_iterate_operands()cowl_axiom_has_primitive()- Declarations and definitions
- Class expression axioms
- Object property axioms
- Data property axioms
- Assertions
- Annotation axioms
- Keys
- Annotations
- Vocabulary
CowlVocabcowl_vocab()cowl_vocab_is_reserved_prefix()cowl_vocab_is_reserved_ns()cowl_vocab_is_reserved_prefix_raw()cowl_vocab_is_reserved_ns_raw()- OWL vocabulary
- RDF vocabulary
- RDFS vocabulary
- XSD vocabulary
CowlXSDVocabCowlXSDIRIVocabany_atomic_typeany_simple_typeany_typeany_uribase64_binarybooleanbytedatedate_timedate_timestampday_time_durationdecimalxsd_doubledurationentitiesentityxsd_floatg_dayg_monthg_month_dayg_yearg_year_monthhex_binaryidid_refid_refsxsd_intintegerlanguagexsd_longnamencnamenegative_intnmtokennmtokensnon_negative_intnon_positive_intnorm_stringnotationpositive_intq_namexsd_shortstringtimetokenunsigned_byteunsigned_intunsigned_longunsigned_shortyear_month_durationlengthmin_lengthmax_lengthpatternmin_inclusivemin_exclusivemax_inclusivemax_exclusivetotal_digitsfraction_digits
CowlXSDDatatypeVocabany_atomic_typeany_simple_typeany_typeany_uribase64_binarybooleanbytedatedate_timedate_timestampday_time_durationdecimalxsd_doubledurationentitiesentityxsd_floatg_dayg_monthg_month_dayg_yearg_year_monthhex_binaryidid_refid_refsxsd_intintegerlanguagexsd_longnamencnamenegative_intnmtokennmtokensnon_negative_intnon_positive_intnorm_stringnotationpositive_intq_namexsd_shortstringtimetokenunsigned_byteunsigned_intunsigned_longunsigned_shortyear_month_duration
cowl_xsd_vocab()
- Base types