The ontology manager
Ontology reading and writing functionality is exposed via the CowlManager
API.
A CowlManager
instance manages one or more ontology documents, and allows reading
and writing ontologies from/to files, memory buffers, or byte streams. Its architecture allows
for multiple readers and writers,
either built-in or provided by the user.
-
struct CowlManager
Manages ontology documents.
Pseudo-extends:
CowlObject
-
CowlManager *cowl_manager(void)
Returns a manager that uses the default reader and writer.
Note
You can specify the default reader and writer via
cowl_set_reader()
andcowl_set_writer()
.Note
You must release the returned object via
cowl_release()
.- Returns:
Manager, or NULL on error.
-
void cowl_manager_set_reader(CowlManager *manager, CowlReader reader)
Sets the reader.
- Parameters:
manager – The manager.
reader – The reader.
-
void cowl_manager_set_writer(CowlManager *manager, CowlWriter writer)
Sets the writer.
- Parameters:
manager – The manager.
writer – The writer.
-
void cowl_manager_set_import_loader(CowlManager *manager, CowlImportLoader loader)
Sets the import loader.
- Parameters:
manager – The manager.
loader – The import loader.
-
void cowl_manager_set_error_handler(CowlManager *manager, CowlErrorHandler handler)
Sets the error handler.
- Parameters:
manager – The manager.
handler – The error handler.
-
CowlOntology *cowl_manager_get_ontology(CowlManager *manager, CowlOntologyId const *id)
Gets the ontology with the specified identifier.
If no existing ontology has the specified identifier, a new ontology is returned.
Note
You must release the returned object via
cowl_release()
.- Parameters:
manager – The manager.
id – The ontology identifier.
- Returns:
Ontology with the specified identifier.
-
CowlOntology *cowl_manager_read_path(CowlManager *manager, UString path)
Reads an ontology from the file at the specified path.
Note
You must release the returned object via
cowl_release()
.- Parameters:
manager – The manager.
path – The file path.
- Returns:
The read ontology, or NULL on error.
-
CowlOntology *cowl_manager_read_file(CowlManager *manager, FILE *file)
Reads an ontology from the specified file.
Note
You must release the returned object via
cowl_release()
.- Parameters:
manager – The manager.
file – The input file.
- Returns:
The read ontology, or NULL on error.
-
CowlOntology *cowl_manager_read_string(CowlManager *manager, UString const *string)
Reads an ontology from the specified string.
Note
You must release the returned object via
cowl_release()
.- Parameters:
manager – The manager.
string – The input string.
- Returns:
The read ontology, or NULL on error.
-
CowlOntology *cowl_manager_read_stream(CowlManager *manager, UIStream *stream)
Reads an ontology from the specified input stream.
Note
The stream is not released by the manager, you must do it yourself.
Note
You must release the returned object via
cowl_release()
.- Parameters:
manager – The manager.
stream – The input stream.
- Returns:
The read ontology, or NULL on error.
-
cowl_ret cowl_manager_write_path(CowlManager *manager, CowlOntology *ontology, UString path)
Writes the ontology to the file at the specified path.
- Parameters:
manager – The manager.
ontology – The ontology.
path – The file path.
- Returns:
Return code.
-
cowl_ret cowl_manager_write_file(CowlManager *manager, CowlOntology *ontology, FILE *file)
Writes the ontology to the specified file.
- Parameters:
manager – The manager.
ontology – The ontology.
file – The output file.
- Returns:
Return code.
-
cowl_ret cowl_manager_write_strbuf(CowlManager *manager, CowlOntology *ontology, UStrBuf *buf)
Writes the ontology to the specified string buffer.
- Parameters:
manager – The manager.
ontology – The ontology.
buf – The string buffer.
- Returns:
Return code.
-
cowl_ret cowl_manager_write_stream(CowlManager *manager, CowlOntology *ontology, UOStream *stream)
Writes the ontology to the specified output stream.
Note
The stream is not released by the manager, you must do it yourself.
- Parameters:
manager – The manager.
ontology – The ontology.
stream – The output stream.
- Returns:
Return code.
-
CowlIStream *cowl_manager_get_istream(CowlManager *manager, CowlIStreamHandlers handlers)
Returns an ontology input stream.
Note
You must release the returned object via
cowl_release()
.- Parameters:
manager – The manager.
handlers – The handlers.
- Returns:
Ontology input stream.
-
CowlIStream *cowl_manager_get_istream_to_ontology(CowlManager *manager, CowlOntology *ontology)
Returns an ontology input stream that stores constructs in the specified ontology.
Note
You must release the returned object via
cowl_release()
.- Parameters:
manager – The manager.
ontology – The ontology.
- Returns:
Ontology input stream.
-
CowlOStream *cowl_manager_get_ostream(CowlManager *manager, UOStream *stream)
Returns an ontology output stream.
Note
You must release the returned object via
cowl_release()
.- Parameters:
manager – The manager.
stream – The output stream.
- Returns:
Ontology output stream.