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
CowlManager
cowl_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
CowlIStream
cowl_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
CowlOntology
cowl_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
CowlIterator
CowlFilter
cowl_iterator_call()
cowl_iterator_vec()
cowl_iterator_set()
cowl_iterator_count()
cowl_iterator_contains()
cowl_iterator_retain()
cowl_iterator_release()
CowlAxiomFlags
COWL_AF_NONE
COWL_AF_ALL
COWL_AF_DECL
COWL_AF_SUB_CLASS
COWL_AF_EQUIV_CLASSES
COWL_AF_DISJ_CLASSES
COWL_AF_DISJ_UNION
COWL_AF_SUB_OBJ_PROP
COWL_AF_EQUIV_OBJ_PROP
COWL_AF_DISJ_OBJ_PROP
COWL_AF_INV_OBJ_PROP
COWL_AF_OBJ_PROP_DOMAIN
COWL_AF_OBJ_PROP_RANGE
COWL_AF_FUNC_OBJ_PROP
COWL_AF_INV_FUNC_OBJ_PROP
COWL_AF_REFL_OBJ_PROP
COWL_AF_IRREFL_OBJ_PROP
COWL_AF_SYMM_OBJ_PROP
COWL_AF_ASYMM_OBJ_PROP
COWL_AF_TRANS_OBJ_PROP
COWL_AF_SUB_DATA_PROP
COWL_AF_EQUIV_DATA_PROP
COWL_AF_DISJ_DATA_PROP
COWL_AF_DATA_PROP_DOMAIN
COWL_AF_DATA_PROP_RANGE
COWL_AF_FUNC_DATA_PROP
COWL_AF_DATATYPE_DEF
COWL_AF_HAS_KEY
COWL_AF_SAME_IND
COWL_AF_DIFF_IND
COWL_AF_CLASS_ASSERT
COWL_AF_OBJ_PROP_ASSERT
COWL_AF_NEG_OBJ_PROP_ASSERT
COWL_AF_DATA_PROP_ASSERT
COWL_AF_NEG_DATA_PROP_ASSERT
COWL_AF_ANNOT_ASSERT
COWL_AF_SUB_ANNOT_PROP
COWL_AF_ANNOT_PROP_DOMAIN
COWL_AF_ANNOT_PROP_RANGE
cowl_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_type
CowlAxiomFilter
cowl_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
CowlSymTable
cowl_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
CowlWriter
cowl_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
CowlObject
cowl_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
CowlObjectType
COWL_OT_STRING
COWL_OT_VECTOR
COWL_OT_TABLE
COWL_OT_IRI
COWL_OT_LITERAL
COWL_OT_FACET_RESTR
COWL_OT_ONTOLOGY
COWL_OT_MANAGER
COWL_OT_SYM_TABLE
COWL_OT_ISTREAM
COWL_OT_OSTREAM
COWL_OT_ANNOTATION
COWL_OT_ANNOT_PROP
COWL_OT_A_DECL
COWL_OT_A_SUB_CLASS
COWL_OT_A_EQUIV_CLASSES
COWL_OT_A_DISJ_CLASSES
COWL_OT_A_DISJ_UNION
COWL_OT_A_SUB_OBJ_PROP
COWL_OT_A_EQUIV_OBJ_PROP
COWL_OT_A_DISJ_OBJ_PROP
COWL_OT_A_INV_OBJ_PROP
COWL_OT_A_OBJ_PROP_DOMAIN
COWL_OT_A_OBJ_PROP_RANGE
COWL_OT_A_FUNC_OBJ_PROP
COWL_OT_A_INV_FUNC_OBJ_PROP
COWL_OT_A_REFL_OBJ_PROP
COWL_OT_A_IRREFL_OBJ_PROP
COWL_OT_A_SYMM_OBJ_PROP
COWL_OT_A_ASYMM_OBJ_PROP
COWL_OT_A_TRANS_OBJ_PROP
COWL_OT_A_SUB_DATA_PROP
COWL_OT_A_EQUIV_DATA_PROP
COWL_OT_A_DISJ_DATA_PROP
COWL_OT_A_DATA_PROP_DOMAIN
COWL_OT_A_DATA_PROP_RANGE
COWL_OT_A_FUNC_DATA_PROP
COWL_OT_A_DATATYPE_DEF
COWL_OT_A_HAS_KEY
COWL_OT_A_SAME_IND
COWL_OT_A_DIFF_IND
COWL_OT_A_CLASS_ASSERT
COWL_OT_A_OBJ_PROP_ASSERT
COWL_OT_A_NEG_OBJ_PROP_ASSERT
COWL_OT_A_DATA_PROP_ASSERT
COWL_OT_A_NEG_DATA_PROP_ASSERT
COWL_OT_A_ANNOT_ASSERT
COWL_OT_A_SUB_ANNOT_PROP
COWL_OT_A_ANNOT_PROP_DOMAIN
COWL_OT_A_ANNOT_PROP_RANGE
COWL_OT_CE_CLASS
COWL_OT_CE_OBJ_INTERSECT
COWL_OT_CE_OBJ_UNION
COWL_OT_CE_OBJ_COMPL
COWL_OT_CE_OBJ_ONE_OF
COWL_OT_CE_OBJ_SOME
COWL_OT_CE_OBJ_ALL
COWL_OT_CE_OBJ_HAS_VALUE
COWL_OT_CE_OBJ_HAS_SELF
COWL_OT_CE_OBJ_MIN_CARD
COWL_OT_CE_OBJ_MAX_CARD
COWL_OT_CE_OBJ_EXACT_CARD
COWL_OT_CE_DATA_SOME
COWL_OT_CE_DATA_ALL
COWL_OT_CE_DATA_HAS_VALUE
COWL_OT_CE_DATA_MIN_CARD
COWL_OT_CE_DATA_MAX_CARD
COWL_OT_CE_DATA_EXACT_CARD
COWL_OT_DR_DATATYPE
COWL_OT_DR_DATA_INTERSECT
COWL_OT_DR_DATA_UNION
COWL_OT_DR_DATA_COMPL
COWL_OT_DR_DATA_ONE_OF
COWL_OT_DR_DATATYPE_RESTR
COWL_OT_OPE_OBJ_PROP
COWL_OT_OPE_INV_OBJ_PROP
COWL_OT_DPE_DATA_PROP
COWL_OT_I_NAMED
COWL_OT_I_ANONYMOUS
COWL_OT_COUNT
COWL_OT_FIRST
COWL_OT_FIRST_A
COWL_OT_LAST_A
COWL_OT_FIRST_CE
COWL_OT_LAST_CE
COWL_OT_FIRST_OPE
COWL_OT_LAST_OPE
COWL_OT_FIRST_I
COWL_OT_LAST_I
COWL_OT_FIRST_DR
COWL_OT_LAST_DR
cowl_object_type_to_ustring()
cowl_object_type_to_string()
cowl_object_type_from_string()
- Placeholder types
- Numeric types
- Strings
CowlString
cowl_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_static
CowlStringOpts
COWL_SO_NONE
COWL_SO_COPY
COWL_SO_INTERN
- Collections
- Objects
- Entities and primitives
- Class expressions
CowlClsExp
CowlClsExpType
COWL_CET_CLASS
COWL_CET_OBJ_INTERSECT
COWL_CET_OBJ_UNION
COWL_CET_OBJ_COMPL
COWL_CET_OBJ_ONE_OF
COWL_CET_OBJ_SOME
COWL_CET_OBJ_ALL
COWL_CET_OBJ_HAS_VALUE
COWL_CET_OBJ_HAS_SELF
COWL_CET_OBJ_MIN_CARD
COWL_CET_OBJ_MAX_CARD
COWL_CET_OBJ_EXACT_CARD
COWL_CET_DATA_SOME
COWL_CET_DATA_ALL
COWL_CET_DATA_HAS_VALUE
COWL_CET_DATA_MIN_CARD
COWL_CET_DATA_MAX_CARD
COWL_CET_DATA_EXACT_CARD
COWL_CET_COUNT
COWL_CET_FIRST
cowl_cls_exp_get_type()
- Classes
- Boolean class expressions
- Object property restrictions
- Data property restrictions
- Individual enumeration
- Data ranges
- Literals
- Properties
- Axioms
CowlAxiom
CowlAxiomType
COWL_AT_DECL
COWL_AT_SUB_CLASS
COWL_AT_EQUIV_CLASSES
COWL_AT_DISJ_CLASSES
COWL_AT_DISJ_UNION
COWL_AT_SUB_OBJ_PROP
COWL_AT_EQUIV_OBJ_PROP
COWL_AT_DISJ_OBJ_PROP
COWL_AT_INV_OBJ_PROP
COWL_AT_OBJ_PROP_DOMAIN
COWL_AT_OBJ_PROP_RANGE
COWL_AT_FUNC_OBJ_PROP
COWL_AT_INV_FUNC_OBJ_PROP
COWL_AT_REFL_OBJ_PROP
COWL_AT_IRREFL_OBJ_PROP
COWL_AT_SYMM_OBJ_PROP
COWL_AT_ASYMM_OBJ_PROP
COWL_AT_TRANS_OBJ_PROP
COWL_AT_SUB_DATA_PROP
COWL_AT_EQUIV_DATA_PROP
COWL_AT_DISJ_DATA_PROP
COWL_AT_DATA_PROP_DOMAIN
COWL_AT_DATA_PROP_RANGE
COWL_AT_FUNC_DATA_PROP
COWL_AT_DATATYPE_DEF
COWL_AT_HAS_KEY
COWL_AT_SAME_IND
COWL_AT_DIFF_IND
COWL_AT_CLASS_ASSERT
COWL_AT_OBJ_PROP_ASSERT
COWL_AT_NEG_OBJ_PROP_ASSERT
COWL_AT_DATA_PROP_ASSERT
COWL_AT_NEG_DATA_PROP_ASSERT
COWL_AT_ANNOT_ASSERT
COWL_AT_SUB_ANNOT_PROP
COWL_AT_ANNOT_PROP_DOMAIN
COWL_AT_ANNOT_PROP_RANGE
COWL_AT_COUNT
COWL_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
CowlVocab
cowl_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
CowlXSDVocab
CowlXSDIRIVocab
any_atomic_type
any_simple_type
any_type
any_uri
base64_binary
boolean
byte
date
date_time
date_timestamp
day_time_duration
decimal
xsd_double
duration
entities
entity
xsd_float
g_day
g_month
g_month_day
g_year
g_year_month
hex_binary
id
id_ref
id_refs
xsd_int
integer
language
xsd_long
name
ncname
negative_int
nmtoken
nmtokens
non_negative_int
non_positive_int
norm_string
notation
positive_int
q_name
xsd_short
string
time
token
unsigned_byte
unsigned_int
unsigned_long
unsigned_short
year_month_duration
length
min_length
max_length
pattern
min_inclusive
min_exclusive
max_inclusive
max_exclusive
total_digits
fraction_digits
CowlXSDDatatypeVocab
any_atomic_type
any_simple_type
any_type
any_uri
base64_binary
boolean
byte
date
date_time
date_timestamp
day_time_duration
decimal
xsd_double
duration
entities
entity
xsd_float
g_day
g_month
g_month_day
g_year
g_year_month
hex_binary
id
id_ref
id_refs
xsd_int
integer
language
xsd_long
name
ncname
negative_int
nmtoken
nmtokens
non_negative_int
non_positive_int
norm_string
notation
positive_int
q_name
xsd_short
string
time
token
unsigned_byte
unsigned_int
unsigned_long
unsigned_short
year_month_duration
cowl_xsd_vocab()
- Base types