SearchConstants.java

package de.dlr.shepard.common.util;

public class SearchConstants {

  // triple attributes
  public static final String OP_PROPERTY = "property";
  public static final String OP_VALUE = "value";
  public static final String OP_OPERATOR = "operator";

  // variable names
  public static final String COLLECTION_IN_QUERY = "col";
  public static final String DATAOBJECT_IN_QUERY = "do";
  public static final String REFERENCE_IN_QUERY = "br";

  // Boolean connectives
  public static final String JSON_AND = "AND";
  public static final String JSON_OR = "OR";
  public static final String JSON_NOT = "NOT";
  public static final String JSON_XOR = "XOR";

  // predefined properties
  public static final String JSON_VALUE_IRI = "valueIRI";
  public static final String JSON_PROPERTY_IRI = "propertyIRI";
  public static final String JSON_HAS_ANNOTATION = "hasAnnotation";
  public static final String JSON_HAS_ANNOTATION_IRI = "hasAnnotationIRI";
  public static final String JSON_VALUE_TYPE = "valueType";
  public static final String JSON_MEASUREMENT = "measurement";
  public static final String JSON_DEVICE = "device";
  public static final String JSON_LOCATION = "location";
  public static final String JSON_SYMBOLIC_NAME = "symbolicName";
  public static final String JSON_FIELD = "field";
  public static final String JSON_ID = "id";
  public static final String JSON_REPOSITORY_ID = "repositoryId";
  public static final String JSON_CREATED_BY = "createdBy";
  public static final String JSON_UPDATED_BY = "updatedBy";
  public static final String JSON_CREATED_AT = "createdAt";
  public static final String JSON_UPDATED_AT = "updatedAt";
  public static final String JSON_REFERENCED_COLLECTION_ID = "referencedCollectionId";
  public static final String JSON_REFERENCED_DATA_OBJECT_ID = "referencedDataObjectId";
  public static final String JSON_REFERENCED_TIMESERIES_ID = "referencedTimeseriesId";
  public static final String JSON_REFERENCED_TIMESERIES_MEASUREMENT = "referencedTimeseriesMeasurement";
  public static final String JSON_REFERENCED_TIMESERIES_DEVICE = "referencedTimeseriesDevice";
  public static final String JSON_REFERENCED_TIMESERIES_LOCATION = "referencedTimeseriesLocation";
  public static final String JSON_REFERENCED_TIMESERIES_SYMBOLIC_NAME = "referencedTimeseriesSymbolicName";
  public static final String JSON_REFERENCED_TIMESERIES_FIELD = "referencedTimeseriesField";
  public static final String JSON_REFERENCED_TIMESERIES_VALUE_IRI = "referencedTimeseriesValueIRI";
  public static final String JSON_REFERENCED_TIMESERIES_PROPERTY_IRI = "referencedTimeseriesPropertyIRI";
  public static final String JSON_REFERENCED_TIMESERIES_HAS_ANNOTATION = "referencedTimeseriesHasAnnotation";
  public static final String JSON_REFERENCED_TIMESERIES_HAS_ANNOTATION_IRI = "referencedTimeseriesHasAnnotationIRI";
  public static final String JSON_TIMESERIES_REFERENCE_START = "start";
  public static final String JSON_TIMESERIES_REFERENCE_END = "end";
  public static final String JSON_FILE_CONTAINER_ID = "fileContainerId";
  public static final String JSON_STRUCTURED_DATA_CONTAINER_ID = "structuredDataContainerId";
  public static final String JSON_TIMESERIES_CONTAINER_ID = "timeseriesContainerId";
  public static final String JSON_SUCCESSOR_IDS = "successorIds";
  public static final String JSON_PREDECESSOR_IDS = "predecessorIds";
  public static final String JSON_CHILDREN_IDS = "childrenIds";
  public static final String JSON_PARENT_IDS = "parentIds";

  // comparison operators
  public static final String JSON_EQ = "eq";
  public static final String JSON_CONTAINS = "contains";
  public static final String JSON_IS_CONTAINED_IN = "isContainedIn";
  public static final String JSON_GT = "gt";
  public static final String JSON_LT = "lt";
  public static final String JSON_GE = "ge";
  public static final String JSON_LE = "le";
  public static final String JSON_IN = "in";
  public static final String JSON_NE = "ne";
  public static final String JSON_REGMATCH = "regmatch";

  // query builder exception messages
  public static final String NO_JSON_PARSING_MESSAGE = "could not parse JSON ";
  public static final String PARSING_ERROR_MESSAGE = "parsing error ";
  public static final String UNKNOWN_PROPERTY_MESSAGE = "unknown property ";
  public static final String UNKNOWN_BOOLEAN_OPERATOR_MESSAGE = "unknown boolean operator ";
  public static final String UNKNOWN_COMPARISON_OPERATOR_MESSAGE = "unknown comparison operator ";
  public static final String INCORRECT_COLON_MESSAGE =
    "the annotation must contain exactly one occurrence of :: to divide the property and the name " +
    "but the given value is ";

  public static final String JSON_COLON_MATCHER = "[^:]*(:[^:]+)*::([^:]+:)*[^:]*";
}