All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dev.ikm.tinkar.reasoner.service.ReasonerService Maven / Gradle / Ivy

There is a newer version: 1.70.0
Show newest version
/*
 * Copyright © 2015 Integrated Knowledge Management ([email protected])
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package dev.ikm.tinkar.reasoner.service;

import org.eclipse.collections.api.list.primitive.ImmutableIntList;
import org.eclipse.collections.api.set.primitive.ImmutableIntSet;

import dev.ikm.tinkar.common.service.TrackingCallable;
import dev.ikm.tinkar.coordinate.view.calculator.ViewCalculator;
import dev.ikm.tinkar.entity.graph.DiTreeEntity;
import dev.ikm.tinkar.terms.PatternFacade;

public interface ReasonerService {

	public void init(ViewCalculator viewCalculator, PatternFacade statedAxiomPattern,
			PatternFacade inferredAxiomPattern);
	
	public default String getName() {
		return this.getClass().getSimpleName();
	}

	public ViewCalculator getViewCalculator();

	public PatternFacade getStatedAxiomPattern();

	public PatternFacade getInferredAxiomPattern();

	public TrackingCallable getProgressUpdater();

	public void setProgressUpdater(TrackingCallable progressUpdater);

	public void extractData() throws Exception;

	public void loadData() throws Exception;

	// TODO Maybe separate full from incremental
	public void computeInferences();

	public boolean isIncrementalReady();

	// TODO Obtain conceptNid from DiTreeEntity?
	public void processIncremental(DiTreeEntity definition, int conceptNid);

	public int getConceptCount();

	public ImmutableIntList getReasonerConceptSet();

	public ImmutableIntSet getEquivalent(int id);

	public ImmutableIntSet getParents(int id);

	public ImmutableIntSet getChildren(int id);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy