de.uka.cmtm.serviceregistry.query.protege.dig
Class DigProfileIndividualLocator

java.lang.Object
  extended by de.uka.cmtm.serviceregistry.query.protege.dig.DigProfileIndividualLocator
All Implemented Interfaces:
ProfileIndividualLocator

public class DigProfileIndividualLocator
extends Object
implements ProfileIndividualLocator

This is a ProfileIndividualLocator making use of the DIG query interface

Author:
tilmann

Constructor Summary
DigProfileIndividualLocator(OWLModel owlModel, String digReasonerUrl, String upperServiceOntologyUrl, String topOntologyUrl)
          Creates a new DigProfileIndividualLocator
 
Method Summary
 List<ProfileIndividualInfo> findProfileIndividuals(int searchLevel)
          This method can be used to search for services profile individuals suitable to the previously set searchParameters.
 int getAvailableSearchLevels()
          Get the maximum search level that can be used plus one.
 ParameterConformClasses getConformClasses()
          Get Conform Classes taken into account by the last search step executed.
 void setProfileIndividualParameter(ProfileIndividualParameter searchParameter)
          Sets the search parameter for subsequent calls to findProfileIndividuals
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DigProfileIndividualLocator

public DigProfileIndividualLocator(OWLModel owlModel,
                                   String digReasonerUrl,
                                   String upperServiceOntologyUrl,
                                   String topOntologyUrl)
Creates a new DigProfileIndividualLocator

Parameters:
owlModel - the OWLModel to be searched
Method Detail

getAvailableSearchLevels

public int getAvailableSearchLevels()
Get the maximum search level that can be used plus one.

Specified by:
getAvailableSearchLevels in interface ProfileIndividualLocator
Returns:
the number of search levels available

findProfileIndividuals

public List<ProfileIndividualInfo> findProfileIndividuals(int searchLevel)
                                                   throws IOException
This method can be used to search for services profile individuals suitable to the previously set searchParameters. The resulting list may also contain individuals that do not perfectly match the parameters. This is indicated with a relevance below 1. How exact profile individuals are matched can be specified wiht the searchLevel parameter. Subsequent calls for a single search parameter must start with search level 0 and may increase searchlevel only by one each time up to the maximum that can be obtained by getAvailableSearchLevels.

Specified by:
findProfileIndividuals in interface ProfileIndividualLocator
Parameters:
searchLevel - the search level to be applied
Returns:
a list of search results
Throws:
IOException

setProfileIndividualParameter

public void setProfileIndividualParameter(ProfileIndividualParameter searchParameter)
Sets the search parameter for subsequent calls to findProfileIndividuals

Specified by:
setProfileIndividualParameter in interface ProfileIndividualLocator
Parameters:
searchParameter - the roles the individuals should have assigned

getConformClasses

public ParameterConformClasses getConformClasses()
Get Conform Classes taken into account by the last search step executed.

Specified by:
getConformClasses in interface ProfileIndividualLocator
Returns:
a java bean containing conform classes