Interface Database

  • All Known Implementing Classes:
    SequentialDatabase

    public interface Database

    Database.java
    Authors: Rainer Holzmann, Zhanna Melnikova-Albrecht, Matthias Schubert
    Date: Aug 20, 2004
    Time: 1:03:43 PM
    $ Revision 1.4 $

    Version:
    $Revision: 1.2 $
    Author:
    Matthias Schubert (schubert@dbs.ifi.lmu.de), Zhanna Melnikova-Albrecht (melnikov@cip.ifi.lmu.de), Rainer Holzmann (holzmann@cip.ifi.lmu.de)
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean contains​(DataObject dataObject_Query)
      Tests if the database contains the dataObject_Query
      java.util.List coreDistance​(int minPoints, double epsilon, DataObject dataObject)
      Calculates the coreDistance for the specified DataObject.
      java.util.Iterator dataObjectIterator()
      Returns an iterator over all the dataObjects in the database
      java.util.List epsilonRangeQuery​(double epsilon, DataObject queryDataObject)
      Performs an epsilon range query for this dataObject
      double[] getAttributeMaxValues()
      Returns the array of maximum-values for each attribute
      double[] getAttributeMinValues()
      Returns the array of minimum-values for each attribute
      DataObject getDataObject​(java.lang.String key)
      Select a dataObject from the database
      Instances getInstances()
      Returns the original instances delivered from WEKA
      void insert​(DataObject dataObject)
      Inserts a new dataObject into the database
      java.util.List k_nextNeighbourQuery​(int k, double epsilon, DataObject dataObject)
      Emits the k next-neighbours and performs an epsilon-range-query at the parallel.
      java.util.Iterator keyIterator()
      Returns an iterator over all the keys
      void setMinMaxValues()
      Sets the minimum and maximum values for each attribute in different arrays by walking through every DataObject of the database
      int size()
      Returns the size of the database (the number of dataObjects in the database)
    • Method Detail

      • getDataObject

        DataObject getDataObject​(java.lang.String key)
        Select a dataObject from the database
        Parameters:
        key - The key that is associated with the dataObject
        Returns:
        dataObject
      • size

        int size()
        Returns the size of the database (the number of dataObjects in the database)
        Returns:
        size
      • keyIterator

        java.util.Iterator keyIterator()
        Returns an iterator over all the keys
        Returns:
        iterator
      • dataObjectIterator

        java.util.Iterator dataObjectIterator()
        Returns an iterator over all the dataObjects in the database
        Returns:
        iterator
      • contains

        boolean contains​(DataObject dataObject_Query)
        Tests if the database contains the dataObject_Query
        Parameters:
        dataObject_Query - The query-object
        Returns:
        true if the database contains dataObject_Query, else false
      • insert

        void insert​(DataObject dataObject)
        Inserts a new dataObject into the database
        Parameters:
        dataObject -
      • getInstances

        Instances getInstances()
        Returns the original instances delivered from WEKA
        Returns:
        instances
      • setMinMaxValues

        void setMinMaxValues()
        Sets the minimum and maximum values for each attribute in different arrays by walking through every DataObject of the database
      • getAttributeMinValues

        double[] getAttributeMinValues()
        Returns the array of minimum-values for each attribute
        Returns:
        attributeMinValues
      • getAttributeMaxValues

        double[] getAttributeMaxValues()
        Returns the array of maximum-values for each attribute
        Returns:
        attributeMaxValues
      • epsilonRangeQuery

        java.util.List epsilonRangeQuery​(double epsilon,
                                         DataObject queryDataObject)
        Performs an epsilon range query for this dataObject
        Parameters:
        epsilon - Specifies the range for the query
        queryDataObject - The dataObject that is used as query-object for epsilon range query
        Returns:
        List with all the DataObjects that are within the specified range
      • k_nextNeighbourQuery

        java.util.List k_nextNeighbourQuery​(int k,
                                            double epsilon,
                                            DataObject dataObject)
        Emits the k next-neighbours and performs an epsilon-range-query at the parallel. The returned list contains two elements: At index=0 --> list with all k next-neighbours; At index=1 --> list with all dataObjects within epsilon;
        Parameters:
        k - number of next neighbours
        epsilon - Specifies the range for the query
        dataObject - the start object
        Returns:
        list with the k-next neighbours (PriorityQueueElements) and a list with candidates from the epsilon-range-query (EpsilonRange_ListElements)
      • coreDistance

        java.util.List coreDistance​(int minPoints,
                                    double epsilon,
                                    DataObject dataObject)
        Calculates the coreDistance for the specified DataObject. The returned list contains three elements: At index=0 --> list with all k next-neighbours; At index=1 --> list with all dataObjects within epsilon; At index=2 --> coreDistance as Double-value
        Parameters:
        minPoints - minPoints-many neighbours within epsilon must be found to have a non-undefined coreDistance
        epsilon - Specifies the range for the query
        dataObject - Calculate coreDistance for this dataObject
        Returns:
        list with the k-next neighbours (PriorityQueueElements) and a list with candidates from the epsilon-range-query (EpsilonRange_ListElements) and the double-value for the calculated coreDistance