package org.biohackathon.SPARQLBuilder.OWL;
import java.util.List;
/**
* クエリを生成するための機能を提供する核インターフェイス
* @author YAMAGUCHI
* @author GO
* @author KOZAKI
* @author KOBAYASHI
* @since 28.01.2014
* @version 29.01.2014
*/
public interface RDFSchemaAnalyzer {
/**
* 明示的にRDFで書かれているクラスを取得する
*
* キーワードにヒットするラベルを持つクラス(rdfs:Class)をすべて返す
*
*
*
* @param keyword (nullや空文字は不可)
* @param countInstances クラスに属しているインスタンスの数を数える場合はtrueを与える
* @return クラスURIの配列
* @throws Exception
* @since 28.01.2014
*/
public SClass[] getOWLClasses(String[] keyword, String language) throws Exception;
public List getOWLClassList(String[] keyword, String language) throws Exception;
public SClass[] listClasses() throws Exception;
/**
* 指定されたクラスを起点とし、明示的に記述されているOWLのproperty制約を調べ、そのproperty制約で
* 関連づけられているクラスを網羅的に取得する
*
* @param originClass 起点となるクラスのURI (null不可)
* @param limit 解として返されるClassLink配列の長さの上限値を指定する。(上限値を設定しない場合は0以下の値を指定する)
* @return ClassLinkの配列。ここには、取得されたクラスと関係づけられているプロパティ、関係の向きが含まれる。
* @throws Exception
* @since 28.01.2014
*/
public ClassLink[] getNextClass(String originClass, int limit) throws Exception;
public LabelMap[] getLabels(String[] resourceURIs, String language) throws Exception;
}