Class ANetricsQueryBuilderBuilderBase

  • Direct Known Subclasses:
    GeneralQueryBuilder

    public abstract class ANetricsQueryBuilderBuilderBase
    extends com.netrics.likeit.ANetricsQueryBuilder
    This class adds methods for generating the basic query nodes. This is used as the basis for building query builders. It provides a set of methods that generate NetricsQuery objects for all of the basic query node types. Processes that are generating query builders can use calls to these methods to generate the desired query structure.
    • Field Summary

      • Fields inherited from class com.netrics.likeit.ANetricsQueryBuilder

        KEY_FIELD_NAME, LEARN_MODEL, PARENT_KEY_FIELD_NAME, QUERYLET_NAME, THESAURUS
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected com.netrics.likeit.NetricsQuery andQuery​(java.lang.String query_name, java.lang.String group_name, ANetricsQueryBuilderBuilderBase.AndQlt[] querylets)
      Generate an AND score combiner query.
      protected com.netrics.likeit.NetricsQuery cognateQuery​(CognateQueryDef def)
      Generate a cognate query.
      protected com.netrics.likeit.NetricsQuery cognateQuery​(java.lang.String query_name, java.lang.String group_name, ANetricsQueryBuilderBuilderBase.CognateQueryField[] fields, java.lang.String thesaurus_name, java.lang.Double thesaurus_weight, java.lang.Double empty_score, java.lang.Integer score_type, java.lang.Double non_cognate_weight, java.lang.Double empty_field_penalty)
      protected com.netrics.likeit.NetricsQuery dateQuery​(DateQueryDef def)
      Generate a date query.
      protected com.netrics.likeit.NetricsQuery dateQuery​(java.lang.String queryName, java.lang.String groupName, java.lang.String dataSourceSpec, java.lang.String fieldName, java.lang.Double invalidScore, java.lang.Double emptyScore)
      Deprecated.
      protected com.netrics.likeit.NetricsQuery firstValidQuery​(java.lang.String query_name, java.lang.String group_name, java.lang.Boolean invalid_only, ANetricsQueryBuilderBuilderBase.FirstValidQlt[] querylets)
      Generate a First Valid score combiner query.
      protected com.netrics.likeit.NetricsQuery matchCaseQuery​(java.lang.String query_name, java.lang.String group_name, java.lang.Double core_strength, ANetricsQueryBuilderBuilderBase.CoreMatchCaseQlt[] core_querylets, ANetricsQueryBuilderBuilderBase.SupportingMatchCaseQlt[] supporting_querylets)
      Generate a Match Case score combiner query.
      protected com.netrics.likeit.NetricsQuery orQuery​(java.lang.String query_name, java.lang.String group_name, ANetricsQueryBuilderBuilderBase.OrQlt[] querylets)
      Generate an OR score combiner query.
      protected com.netrics.likeit.NetricsQuery predicateQuery​(java.lang.String query_name, java.lang.String group_name, java.lang.String predicate_expression, java.lang.Double invalid_score, java.lang.Double empty_score)
      Generate a predicate expression query object.
      protected com.netrics.likeit.NetricsQuery referenceQuery​(java.lang.String query_name)
      Generate a reference query.
      protected com.netrics.likeit.NetricsQuery rlinkQuery​(java.lang.String query_name, java.lang.String group_name, java.lang.String rlink_model_name, java.lang.Boolean use_rlink_threshold, ANetricsQueryBuilderBuilderBase.ConfidenceType confidence_type, com.netrics.likeit.NetricsQuery[] querylets)
      Generate an RLINK score combiner query.
      protected com.netrics.likeit.NetricsQuery simpleQuery​(SimpleQueryDef def)
      Generate a simple query.
      protected com.netrics.likeit.NetricsQuery simpleQuery​(java.lang.String query_name, java.lang.String group_name, java.lang.String data_source_spec, ANetricsQueryBuilderBuilderBase.SimpleQueryField[] fields, java.lang.String thesaurus_name, java.lang.Double thesaurus_weight, java.lang.Double empty_score, java.lang.Integer score_type)
      protected com.netrics.likeit.NetricsQuery weightByFieldQuery​(java.lang.String query_name, java.lang.String group_name, java.lang.String weight_field_name, com.netrics.likeit.NetricsQuery querylet)
      Generate a weight by score combiner query.
      • Methods inherited from class com.netrics.likeit.ANetricsQueryBuilder

        changeItemName, changeItemNames, getCurInputFieldNames, getCurItemName, getCurItemName, getCurItemNames, getCurJoinedFieldName, getCurJoinedFieldNames, getCurOutputFieldName, getCurOutputFieldNames, getDefaultItemNames, getDfltInputNames, getDfltOutputNames, getExtraData, getFieldValueArray, getFieldValues, getInputFieldNames, getQuery, getUsedItemTypes, mapDataString, mapPredicateString, setConfiguration, setConfiguration, setConfiguration, setConfiguration, setDefaultValue, setDfltInputFields, setDfltItemNames, setDfltOutputFields, setExtraData, setFieldValues, setFieldValues, setFieldValues, setInputFieldName, setInputFieldNames, setInputFieldOrdering, setJoinTable, setOutputFieldName, setOutputFieldNames, setQueryConfiguration, setSearchOpts
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ANetricsQueryBuilderBuilderBase

        public ANetricsQueryBuilderBuilderBase()
    • Method Detail

      • simpleQuery

        @Deprecated
        protected com.netrics.likeit.NetricsQuery simpleQuery​(java.lang.String query_name,
                                                              java.lang.String group_name,
                                                              java.lang.String data_source_spec,
                                                              ANetricsQueryBuilderBuilderBase.SimpleQueryField[] fields,
                                                              java.lang.String thesaurus_name,
                                                              java.lang.Double thesaurus_weight,
                                                              java.lang.Double empty_score,
                                                              java.lang.Integer score_type)
        Generate a simple query.
        Parameters:
        query_name - a unique name for this querylet. This may be null in which case no query name is set.
        group_name - the group this querylet belongs to. If null this querylet is not assigned to a group.
        data_source_spec - this defines the content of the query string. Input fields can be specified using the ${dflt-input-field-name} convention.
        fields - the fields the simple query uses to query. The field names are the default output field names.
        thesaurus_name - name of the thesaurus to use, null if none. If this matches a default thesaurus item name it is translated to the current name.
        thesaurus_weight - penalty factor for thesaurus matches, if null defaults to 1.0.
        empty_score - the score to assign if the record or query data is empty. This may be null.
        score_type - this is one of the score types defined in NetricsSearchOpts. If null defaults to SCORE_NORMAL.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
        java.lang.IllegalArgumentException - if fields is null or zero length, data_source_spec is null or zero length, or if thesaurus_weight or empty_score are given and not between 0.0 and 1.0.
      • simpleQuery

        protected com.netrics.likeit.NetricsQuery simpleQuery​(SimpleQueryDef def)
        Generate a simple query. This generates a simple query object based on the definition given and the current input field data.

        Note on query name mappings: Two mappings are performed in the order given below:

        1. Map from default item name to current item name. This is the normal item name mapping controlled via the changeItemName or changeItemNames methods of ANetricsQueryBuilder. Querylet names defined in a query configuration are automatically registered as item names under the ANetricsQueryBuilder.QUERYLET_NAME object type by the GeneralQueryBuilder and classes generated by it.
        2. Apply input field value mapping. This substitutes in the current field values using the same ${field-name} convention as used for the query strings. Typically this is used to get unique names based on the record key value.
        Parameters:
        def - - definition of the simple query. Not null.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
      • cognateQuery

        @Deprecated
        protected com.netrics.likeit.NetricsQuery cognateQuery​(java.lang.String query_name,
                                                               java.lang.String group_name,
                                                               ANetricsQueryBuilderBuilderBase.CognateQueryField[] fields,
                                                               java.lang.String thesaurus_name,
                                                               java.lang.Double thesaurus_weight,
                                                               java.lang.Double empty_score,
                                                               java.lang.Integer score_type,
                                                               java.lang.Double non_cognate_weight,
                                                               java.lang.Double empty_field_penalty)
        Generate a cognate query. This generates a cognate query object based on the arguments given and the current input field data.
        Parameters:
        query_name - a unique name for this querylet. See simpleQuery(java.lang.String, java.lang.String, java.lang.String, com.tibco.patterns.qbp.ANetricsQueryBuilderBuilderBase.SimpleQueryField[], java.lang.String, java.lang.Double, java.lang.Double, java.lang.Integer) for an explaination of the query name mappings performed. This may be null in which case no query name is set.
        group_name - the group this querylet belongs to. If null this querylet is not assigned to a group.
        fields - the fields the cognate query is to query. The field names are the default output field names. This contains the data specification for each field.
        thesaurus_name - name of the thesaurus to use, null if none. If this matches a default thesaurus item name it is translated to the current name.
        thesaurus_weight - penalty factor for thesaurus matches, if null defaults to 1.0.
        empty_score - the score to assign if the record or query data is empty. This may be null.
        score_type - this is one of the score types defined in NetricsSearchOpts. If null defaults to SCORE_NORMAL.
        non_cognate_weight - the non-cognate penalty factor for this cognate query. If null this defaults to 1.0.
        empty_field_penalty - the empty field penalty factor. If null the full penalty is applied.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
        java.lang.IllegalArgumentException - if fields is null or zero length, or if thesaurus_weight, empty_score, non_cognate_weight or empty_field_penalty are given and not between 0.0 and 1.0.
      • cognateQuery

        protected com.netrics.likeit.NetricsQuery cognateQuery​(CognateQueryDef def)
        Generate a cognate query. This generates a cognate query object based on the definition given and the current input field data.
        Parameters:
        def - - definition of the simple query. Not null.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
      • dateQuery

        @Deprecated
        protected com.netrics.likeit.NetricsQuery dateQuery​(java.lang.String queryName,
                                                            java.lang.String groupName,
                                                            java.lang.String dataSourceSpec,
                                                            java.lang.String fieldName,
                                                            java.lang.Double invalidScore,
                                                            java.lang.Double emptyScore)
        Deprecated.
        Generate a custom date query. This generates a custom date query object based on the arguments given and the current input field data.
        Parameters:
        queryName - a unique name for this querylet. See simpleQuery(java.lang.String, java.lang.String, java.lang.String, com.tibco.patterns.qbp.ANetricsQueryBuilderBuilderBase.SimpleQueryField[], java.lang.String, java.lang.Double, java.lang.Double, java.lang.Integer) for an explaination of the query name mappings performed. This may be null in which case no query name is set.
        groupName - the group this querylet belongs to. If null this querylet is not assigned to a group.
        dataSourceSpec - this defines the content of the query string. Input fields can be specified using the ${dflt-input-field-name} convention.
        fieldName - the field the date query is to query. The field name must be a default output field name.
        invalidScore - the score to assign if the record or query data contains invalid data. This may be null.
        emptyScore - the score to assign if the record or query data is empty. This may be null.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
        java.lang.IllegalArgumentException - if fieldName or dataSourceSpec is null or zero length, or invalidScore or emptyScore are given and not between 0.0 and 1.0 or -1.0.
      • dateQuery

        protected com.netrics.likeit.NetricsQuery dateQuery​(DateQueryDef def)
        Generate a date query. This generates a date query object based on the definition given and the current input field data.
        Parameters:
        def - - definition of the date query. Not null.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
      • predicateQuery

        protected com.netrics.likeit.NetricsQuery predicateQuery​(java.lang.String query_name,
                                                                 java.lang.String group_name,
                                                                 java.lang.String predicate_expression,
                                                                 java.lang.Double invalid_score,
                                                                 java.lang.Double empty_score)
                                                          throws java.lang.IllegalArgumentException,
                                                                 java.lang.IllegalStateException
        Generate a predicate expression query object. This generates a predicate query object based on the arguments given and the current input field data.
        Parameters:
        query_name - a unique name for this querylet. See simpleQuery(java.lang.String, java.lang.String, java.lang.String, com.tibco.patterns.qbp.ANetricsQueryBuilderBuilderBase.SimpleQueryField[], java.lang.String, java.lang.Double, java.lang.Double, java.lang.Integer) for an explaination of the query name mappings performed. This may be null in which case no query name is set.
        group_name - the group this querylet belongs to. If null this querylet is not assigned to a group.
        predicate_expression - this is the predicate expression that is evaluated to produce the score. Input query record fields can be referenced using the ${dflt-input-field-name} convention.
        invalid_score - the score to assign if the record or query data contains invalid data. This may be null.
        empty_score - the score to assign if the record or query data is empty. This may be null.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
        java.lang.IllegalArgumentException - if predicate_expression is null or zero length, invalid_score or empty_score are given and not between 0.0 and 1.0.
      • weightByFieldQuery

        protected com.netrics.likeit.NetricsQuery weightByFieldQuery​(java.lang.String query_name,
                                                                     java.lang.String group_name,
                                                                     java.lang.String weight_field_name,
                                                                     com.netrics.likeit.NetricsQuery querylet)
                                                              throws java.lang.IllegalArgumentException,
                                                                     java.lang.IllegalStateException
        Generate a weight by score combiner query. This generates a weight by query score combiner query object. The weight by combiner takes exactly one querylet. This is normally obtained from previous calls to one of the query generator methods in this section.
        Parameters:
        query_name - a unique name for this querylet. See simpleQuery(java.lang.String, java.lang.String, java.lang.String, com.tibco.patterns.qbp.ANetricsQueryBuilderBuilderBase.SimpleQueryField[], java.lang.String, java.lang.Double, java.lang.Double, java.lang.Integer) for an explaination of the query name mappings performed. This may be null in which case no query name is set.
        group_name - the group this querylet belongs to. If null this querylet is not assigned to a group.
        weight_field_name - this is the name of the field that contains the weighting factor. This must be populated with one of the default input field names.
        querylet - The input querylet for this weight by combiner.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
        java.lang.IllegalArgumentException - if querylets list is null or empty.
      • matchCaseQuery

        protected com.netrics.likeit.NetricsQuery matchCaseQuery​(java.lang.String query_name,
                                                                 java.lang.String group_name,
                                                                 java.lang.Double core_strength,
                                                                 ANetricsQueryBuilderBuilderBase.CoreMatchCaseQlt[] core_querylets,
                                                                 ANetricsQueryBuilderBuilderBase.SupportingMatchCaseQlt[] supporting_querylets)
                                                          throws java.lang.IllegalArgumentException,
                                                                 java.lang.IllegalStateException
        Generate a Match Case score combiner query. This generates a Match Case query score combiner query object. The input to this includes query objects for the querylets. These are normally obtained from previous calls to one of the query generator methods in this section.
        Parameters:
        query_name - a unique name for this querylet. See simpleQuery(java.lang.String, java.lang.String, java.lang.String, com.tibco.patterns.qbp.ANetricsQueryBuilderBuilderBase.SimpleQueryField[], java.lang.String, java.lang.Double, java.lang.Double, java.lang.Integer) for an explaination of the query name mappings performed. This may be null in which case no query name is set.
        group_name - the group this querylet belongs to. If null this querylet is not assigned to a group.
        core_strength - the score adjustment factor for this match case. If null a 1.0 factor is used.
        core_querylets - The input core querylets for this Match Case combiner.
        supporting_querylets - The input supporting querylets for this Match Case combiner.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
        java.lang.IllegalArgumentException - if the core querylets list is null or empty.
      • rlinkQuery

        protected com.netrics.likeit.NetricsQuery rlinkQuery​(java.lang.String query_name,
                                                             java.lang.String group_name,
                                                             java.lang.String rlink_model_name,
                                                             java.lang.Boolean use_rlink_threshold,
                                                             ANetricsQueryBuilderBuilderBase.ConfidenceType confidence_type,
                                                             com.netrics.likeit.NetricsQuery[] querylets)
                                                      throws java.lang.IllegalArgumentException,
                                                             java.lang.IllegalStateException
        Generate an RLINK score combiner query. This generates an RLINK query score combiner query object. The input to this includes query objects for the querylets. These are normally obtained from previous calls to one of the query generator methods in this section.
        Parameters:
        query_name - a unique name for this querylet. See simpleQuery(java.lang.String, java.lang.String, java.lang.String, com.tibco.patterns.qbp.ANetricsQueryBuilderBuilderBase.SimpleQueryField[], java.lang.String, java.lang.Double, java.lang.Double, java.lang.Integer) for an explaination of the query name mappings performed. This may be null in which case no query name is set.
        group_name - the group this querylet belongs to. If null this querylet is not assigned to a group.
        rlink_model_name - name of the RLINK model to use. This is required. If this matches a default RLINK model item name it is translated to the current name.
        use_rlink_threshold - if this is not null and true, then the threshold value in the model is used as the absolute cutoff score.
        confidence_type - the confidence measure to be returned. If null it defaults to the default measure.
        querylets - The input querylets for this RLINK combiner.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
        java.lang.IllegalArgumentException - if querylets list is null or empty.
      • firstValidQuery

        protected com.netrics.likeit.NetricsQuery firstValidQuery​(java.lang.String query_name,
                                                                  java.lang.String group_name,
                                                                  java.lang.Boolean invalid_only,
                                                                  ANetricsQueryBuilderBuilderBase.FirstValidQlt[] querylets)
                                                           throws java.lang.IllegalArgumentException,
                                                                  java.lang.IllegalStateException
        Generate a First Valid score combiner query. This generates a First Valid query score combiner query object. The input to this includes query objects for the querylets. These are normally obtained from previous calls to one of the query generator methods in this section.
        Parameters:
        query_name - a unique name for this querylet. See simpleQuery(java.lang.String, java.lang.String, java.lang.String, com.tibco.patterns.qbp.ANetricsQueryBuilderBuilderBase.SimpleQueryField[], java.lang.String, java.lang.Double, java.lang.Double, java.lang.Integer) for an explaination of the query name mappings performed. This may be null in which case no query name is set.
        group_name - the group this querylet belongs to. If null this querylet is not assigned to a group.
        invalid_only - if this is non-null and true then the first querylet below the confidence cutoff score is returned.
        querylets - The input querylets for this FirstValid combiner.
        Returns:
        the NetricsQuery object for the query.
        Throws:
        java.lang.IllegalStateException - if field values have not been set.
        java.lang.IllegalArgumentException - if querylets list is null or empty.