NAME

CCO::Util::Ontolome - a set of ontologies

SYNOPSIS

use CCO::Util::Set;

use strict;

my $o1 = CCO::Core::Ontology->new();

my $o2 = CCO::Core::Ontology->new();

my $o3 = CCO::Core::Ontology->new();

my $ome1 = CCO::Util::Ontolome->new();

$ome1->add($o1);

$ome1->add_all($o2, $o3);

my $ome2 = CCO::Util::Ontolome->new();

$ome2->add_all($o1, $o2, $o3);

DESCRIPTION

A collection that contains no duplicate ontology elements. More formally, an ontolome contains no pair of ontologies $e1 and $e2 such that $e1->equals($e2). As implied by its name, this package models the set of ontologies.

AUTHOR

Erick Antezana, <erant@psb.ugent.be>

COPYRIGHT AND LICENSE

Copyright (C) 2007 by erant

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.

union

Usage    - $ome->union($o1, $o2, ...)
Returns  - an ontology (CCO::Core::Ontology) being the union of the parameters (ontologies)
Args     - the ontologies (CCO::Core::Ontology) to be united
Function - creates an ontology having the union of terms and relationships from the given ontologies
Remark1  - we are assuming: same IDSPACE among the ontologies and for merging terms, they must have the same name and ID
Remark2  - the union is made on the basis of the IDs

intersection

Usage    - $ome->intersection($o1, $o2)
Return   - an ontology (CCO::Core::Ontology) holding the 'intersection' of $o1 and $o2
Args     - the two ontologies (CCO::Core::Ontology) to be intersected 
Function - finds the intersection ontology from $o1 and $o2. All the common terms by ID 
           are added to the resulting ontology. This method provides a way of comparing two
           ontologies. The resulting ontology gives hints about the missing and identical
           terms (comparison done by term ID). A closer analysis should be done to identify
           the differences.
Remark   - Performance issues with huge ontologies.