<commit_before>package de.lmu.ifi.dbs.database;

import de.lmu.ifi.dbs.data.ClassLabel;
import de.lmu.ifi.dbs.distance.similarityfunction.kernel.KernelMatrix;
import de.lmu.ifi.dbs.math.linearalgebra.Matrix;
import de.lmu.ifi.dbs.tree.interval.IntervalTree;
import de.lmu.ifi.dbs.utilities.ConstantObject;
import de.lmu.ifi.dbs.varianceanalysis.LocalPCA;

import java.util.BitSet;
import java.util.List;
import java.util.Map;

/**
 * An AssociationID is used by databases as a unique identifier for specific
 * associations to single objects. Such as label, local similarity measure.
 * There is no association possible without a specific AssociationID defined
 * within this class. <p/> An AssociationID provides also information concerning
 * the class of the associated objects.
 *
 * @author <NAME> (<a
 *         href="mailto:<EMAIL>"><EMAIL></a>)
 */
public class AssociationID extends ConstantObject {
  /**
   * The standard association id to associate a label to an object.
   */
  public static final AssociationID LABEL = new AssociationID("label", String.class);

  /**
   * The association id to associate a class to an object.
   */
  public static final AssociationID CLASS = new AssociationID("class", ClassLabel.class);

  /**
   * The association id to associate an external id to an object.
   */
  public static final AssociationID EXTERNAL_ID = new AssociationID("externalID", String.class);

  /**
   * The association id to associate a correlation pca to an object.
   */
  public static final AssociationID LOCAL_PCA = new AssociationID("pca", LocalPCA.class);

  /**
   * The association id to associate a local dimensionality (e.g. the correlation dimensionality)
   * to an object.
   */
  public static final AssociationID LOCAL_DIMENSIONALITY = new AssociationID("localDimensionality", Integer.class);


  /**
   * The association id to associate the neighbors of an object.
   */
  public static final AssociationID NEIGHBORS = new AssociationID("neighbors", List.class);

  /**
   * The association id to associate the LRD of an object for the LOF
   * algorithm.
   */
  public static final AssociationID LRD = new AssociationID("lrd", Double.class);

  /**
   * The association id to associate the locally weighted matrix of an object
   * for the locally weighted distance function.
   */
  public static final AssociationID LOCALLY_WEIGHTED_MATRIX = new AssociationID("locallyWeightedMatrix", Matrix.class);

  /**
   * The association id to associate a preference vector.
   */
  public static final AssociationID PREFERENCE_VECTOR = new AssociationID("preferenceVector", BitSet.class);

  /**
   * The association id to associate precomputed distances.
   */
  public static final AssociationID CACHED_DISTANCES = new AssociationID("cachedDistances", Map.class);

  /**
   * The association id to associate an interval tree.
   */
  public static final AssociationID INTERVAL_TREE = new AssociationID("intervalTree", IntervalTree.class);

  /**
   * The association id to associate the strong eigencvector weighted matrix of an object.
   */
  public static final AssociationID STRONG_EIGENVECTOR_MATRIX = new AssociationID("strongEigenvectorMatrix", Matrix.class);

  /**
   * The association id to associate an arbitrary matrix of an object.
   */
  public static final AssociationID CACHED_MATRIX = new AssociationID("cachedMatrix", Matrix.class);

  /**
   * The association id to associate a kernel matrix.
   */
  public static final AssociationID KERNEL_MATRIX = new AssociationID("kernelMatrix", KernelMatrix.class);

  /**
   * The serial version UID.
   */
  private static final long serialVersionUID = 8115554038339292192L;

  /**
   * The Class type related to this AssociationID.
   */<commit_msg>new association id for arbitrary objects<commit_after>package de.lmu.ifi.dbs.database;

import de.lmu.ifi.dbs.data.ClassLabel;
import de.lmu.ifi.dbs.distance.similarityfunction.kernel.KernelMatrix;
import de.lmu.ifi.dbs.math.linearalgebra.Matrix;
import de.lmu.ifi.dbs.utilities.ConstantObject;
import de.lmu.ifi.dbs.varianceanalysis.LocalPCA;

import java.util.BitSet;
import java.util.List;
import java.util.Map;

/**
 * An AssociationID is used by databases as a unique identifier for specific
 * associations to single objects. Such as label, local similarity measure.
 * There is no association possible without a specific AssociationID defined
 * within this class. <p/> An AssociationID provides also information concerning
 * the class of the associated objects.
 *
 * @author <NAME> (<a
 *         href="mailto:<EMAIL>"><EMAIL></a>)
 */
public class AssociationID extends ConstantObject {
  /**
   * The standard association id to associate a label to an object.
   */
  public static final AssociationID LABEL = new AssociationID("label", String.class);

  /**
   * The association id to associate a class to an object.
   */
  public static final AssociationID CLASS = new AssociationID("class", ClassLabel.class);

  /**
   * The association id to associate an external id to an object.
   */
  public static final AssociationID EXTERNAL_ID = new AssociationID("externalID", String.class);

  /**
   * The association id to associate a correlation pca to an object.
   */
  public static final AssociationID LOCAL_PCA = new AssociationID("pca", LocalPCA.class);

  /**
   * The association id to associate a local dimensionality (e.g. the correlation dimensionality)
   * to an object.
   */
  public static final AssociationID LOCAL_DIMENSIONALITY = new AssociationID("localDimensionality", Integer.class);


  /**
   * The association id to associate the neighbors of an object.
   */
  public static final AssociationID NEIGHBORS = new AssociationID("neighbors", List.class);

  /**
   * The association id to associate the LRD of an object for the LOF
   * algorithm.
   */
  public static final AssociationID LRD = new AssociationID("lrd", Double.class);

  /**
   * The association id to associate the locally weighted matrix of an object
   * for the locally weighted distance function.
   */
  public static final AssociationID LOCALLY_WEIGHTED_MATRIX = new AssociationID("locallyWeightedMatrix", Matrix.class);

  /**
   * The association id to associate a preference vector.
   */
  public static final AssociationID PREFERENCE_VECTOR = new AssociationID("preferenceVector", BitSet.class);

  /**
   * The association id to associate precomputed distances.
   */
  public static final AssociationID CACHED_DISTANCES = new AssociationID("cachedDistances", Map.class);

  /**
   * The association id to associate the strong eigencvector weighted matrix of an object.
   */
  public static final AssociationID STRONG_EIGENVECTOR_MATRIX = new AssociationID("strongEigenvectorMatrix", Matrix.class);

  /**
   * The association id to associate an arbitrary matrix of an object.
   */
  public static final AssociationID CACHED_MATRIX = new AssociationID("cachedMatrix", Matrix.class);

  /**
   * The association id to associate a kernel matrix.
   */
  public static final AssociationID KERNEL_MATRIX = new AssociationID("kernelMatrix", KernelMatrix.class);

  /**
   * The association id to associate any arbitrary object.
   */
  public static final AssociationID OBJECT = new AssociationID("object", Object.class);

  /**
   * The serial version UID.
   */
  private static final long serialVersionUID = 8115554038339292192L;

  /**
   * The Class type related to this AssociationID.
   */
{'fraction_non_alphanumeric': 0.08755698578707428, 'fraction_numerical': 0.005095199785465273, 'mean_word_length': 3.9397350993377485, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '126141', 'n_tokens_mistral': 2091, 'n_tokens_neox': 2008, 'n_words': 725}