Package com.tibco.patterns.qbp
Class ANetricsQueryBuilderBuilderBase
- java.lang.Object
-
- com.netrics.likeit.ANetricsQueryBuilder
-
- com.tibco.patterns.qbp.ANetricsQueryBuilderBuilderBase
-
- Direct Known Subclasses:
GeneralQueryBuilder
public abstract class ANetricsQueryBuilderBuilderBase extends com.netrics.likeit.ANetricsQueryBuilderThis 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classANetricsQueryBuilderBuilderBase.AndQltDefine one querylet of an AND score combiner.protected static classANetricsQueryBuilderBuilderBase.CognateQueryFieldDefine the field data for a cognate query.protected static classANetricsQueryBuilderBuilderBase.ConfidenceTypeCode values for supported types of confidence measures.protected static classANetricsQueryBuilderBuilderBase.CoreMatchCaseQltDefine a core querylet/feature of a match case query.protected static classANetricsQueryBuilderBuilderBase.FirstValidQltDefine a querylet for the FirstValid score combiner.protected static classANetricsQueryBuilderBuilderBase.OrQltDefine one querylet of an OR score combiner.protected static classANetricsQueryBuilderBuilderBase.SimpleQueryFieldDefine the field data for a simple query.protected static classANetricsQueryBuilderBuilderBase.SupportingMatchCaseQltDefine a supporting querylet/feature of a match case query.
-
Constructor Summary
Constructors Constructor Description ANetricsQueryBuilderBuilderBase()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected com.netrics.likeit.NetricsQueryandQuery(java.lang.String query_name, java.lang.String group_name, ANetricsQueryBuilderBuilderBase.AndQlt[] querylets)Generate an AND score combiner query.protected com.netrics.likeit.NetricsQuerycognateQuery(CognateQueryDef def)Generate a cognate query.protected com.netrics.likeit.NetricsQuerycognateQuery(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)Deprecated.protected com.netrics.likeit.NetricsQuerydateQuery(DateQueryDef def)Generate a date query.protected com.netrics.likeit.NetricsQuerydateQuery(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.NetricsQueryfirstValidQuery(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.NetricsQuerymatchCaseQuery(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.NetricsQueryorQuery(java.lang.String query_name, java.lang.String group_name, ANetricsQueryBuilderBuilderBase.OrQlt[] querylets)Generate an OR score combiner query.protected com.netrics.likeit.NetricsQuerypredicateQuery(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.NetricsQueryreferenceQuery(java.lang.String query_name)Generate a reference query.protected com.netrics.likeit.NetricsQueryrlinkQuery(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.NetricsQuerysimpleQuery(SimpleQueryDef def)Generate a simple query.protected com.netrics.likeit.NetricsQuerysimpleQuery(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)Deprecated.protected com.netrics.likeit.NetricsQueryweightByFieldQuery(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
-
-
-
-
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)Deprecated.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:
- 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.
- 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)Deprecated.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. SeesimpleQuery(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. SeesimpleQuery(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.IllegalStateExceptionGenerate 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. SeesimpleQuery(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.
-
andQuery
protected com.netrics.likeit.NetricsQuery andQuery(java.lang.String query_name, java.lang.String group_name, ANetricsQueryBuilderBuilderBase.AndQlt[] querylets) throws java.lang.IllegalArgumentException, java.lang.IllegalStateExceptionGenerate an AND score combiner query. This generates an AND 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. SeesimpleQuery(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.querylets- The input querylets for this AND 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.
-
orQuery
protected com.netrics.likeit.NetricsQuery orQuery(java.lang.String query_name, java.lang.String group_name, ANetricsQueryBuilderBuilderBase.OrQlt[] querylets) throws java.lang.IllegalArgumentException, java.lang.IllegalStateExceptionGenerate an OR score combiner query. This generates an OR 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. SeesimpleQuery(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.querylets- The input querylets for this OR 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.
-
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.IllegalStateExceptionGenerate 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. SeesimpleQuery(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.IllegalStateExceptionGenerate 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. SeesimpleQuery(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.IllegalStateExceptionGenerate 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. SeesimpleQuery(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.IllegalStateExceptionGenerate 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. SeesimpleQuery(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.
-
referenceQuery
protected com.netrics.likeit.NetricsQuery referenceQuery(java.lang.String query_name) throws java.lang.IllegalArgumentExceptionGenerate a reference query. This generates a reference to another named querylet.- Parameters:
query_name- this is required. It should match the query_name assigned to one of the other querylets generated. SeesimpleQuery(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.- Returns:
- the NetricsQuery object for the reference query.
- Throws:
java.lang.IllegalArgumentException- if query_name is null or empty.
-
-