src/PredFinder/inference/ElfInference.cpp
// All ElfInference methods other than the constructor and destructor are static.
/* main function */
// Called by PredicationFinder::run().
// Assumes that docData->setDocInfo() has already been called on the same document (by prepareDocumentForInference()),
// and passes in the return value from that call as the parameter docData.

All ElfInference methods other than the constructor and destructor are static.
main function
Called by PredicationFinder::run().
Assumes that docData->setDocInfo() has already been called on the same document (by prepareDocumentForInference()),
and passes in the return value from that call as the parameter docData.
All ElfInference methods other than the constructor and destructor are static . main function Called by PredicationFinder :: run () . Assumes that docData - > setDocInfo () has already been called on the same document ( by prepareDocumentForInference () ) and passes in the return value from that call as the parameter docData .
void ElfInference::do_inference(EIDocData_ptr docData, ElfDocument_ptr doc) {
	throw_if_ei_not_initialized();
	docData->setElfDoc(doc);
	if (ParamReader::getRequiredTrueFalseParam("coerce_bound_types") && ElfMultiDoc::get_ontology_domain() != L"blitz")
		EIUtils::addBoundTypesToIndividuals(docData);
	if (ElfMultiDoc::get_ontology_domain() == L"ic") {
		EIUtils::addIndividualTypes(docData);
	}
	if (ElfMultiDoc::get_ontology_domain() == L"blitz") {
		int id_counter = 0;
		EIBlitz::manageBlitzCoreference(docData, L"ic:PhysiologicalCondition", id_counter);
		EIBlitz::manageBlitzCoreference(docData, L"ic:PharmaceuticalSubstance", id_counter);
		EIBlitz::cleanupBlitzIndividualTypes(docData, L"ic:PhysiologicalCondition");
		EIBlitz::cleanupBlitzIndividualTypes(docData, L"ic:PharmaceuticalSubstance");
		EIBlitz::filterBlitzRelations(docData);
	}
	_filter_manager.processFiltersSequence(docData);
	EIUtils::cleanupDocument(docData);
}
void ElfInference :: do_inference ( EIDocData_ptr docData , ElfDocument_ptr doc ) { throw_if_ei_not_initialized ( ) ; docData -> setElfDoc ( doc ) ; if ( ParamReader :: getRequiredTrueFalseParam ( " " ) && ElfMultiDoc :: get_ontology_domain ( ) != L" " ) EIUtils :: addBoundTypesToIndividuals ( docData ) ; if ( ElfMultiDoc :: get_ontology_domain ( ) == L" " ) { EIUtils :: addIndividualTypes ( docData ) ; } if ( ElfMultiDoc :: get_ontology_domain ( ) == L" " ) { int id_counter = 0 ; EIBlitz :: manageBlitzCoreference ( docData , L" " , id_counter ) ; EIBlitz :: manageBlitzCoreference ( docData , L" " , id_counter ) ; EIBlitz :: cleanupBlitzIndividualTypes ( docData , L" " ) ; EIBlitz :: cleanupBlitzIndividualTypes ( docData , L" " ) ; EIBlitz :: filterBlitzRelations ( docData ) ; } _filter_manager . processFiltersSequence ( docData ) ; EIUtils :: cleanupDocument ( docData ) ; }
All ElfInference methods other than the constructor and destructor are static.
All ElfInference methods other than the constructor and destructor are static .
//dump();
 // add rule-based types to individuals where SERIF doesn't help (e.g. terrorists)
 //run filters according to the loaded ordering
 // shut things down
