Class Reference
Cache for UNIX 2018.1.3
InterSystems: The power behind what matters   
Documentation  Search
Private  Storage  

class %iKnow.Matching.MatchingQAPI extends %iKnow.Queries.AbstractQAPI

This is an automatically generated class, offering a functionally equivalent set of methods and queries as %iKnow.Matching.MatchingAPI, exposed as SqlProc methods.

See the classdocs for %iKnow.Matching.MatchingAPI for more information.

This class was generated by %iKnow.Matching.MatchingAPI.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
72 22


Summary

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
ClearLogs GetSentenceIdForMatchTarget GetSourceIdForMatchTarget InvalidateMatchingResults
MatchSource MatchSources


Methods

• classmethod ClearLogs(domainId As %Integer) as %Boolean [ SQLProc = ]
Clears any matching-related logfiles for the specified domain.
• classmethod GetSentenceIdForMatchTarget(domainId As %Integer, targetType As %Integer, targetId As %Integer, vSrcId As %Integer = 0) as %Library.Integer [ SQLProc = ]
Utility method to retrieve the Sentence ID for a given match target, as specified by its target type (either of $$$DMTARGETENTITY, $$$DMTARGETCRC, $$$DMTARGETPATH or $$$DMTARGETSENT) and ID.
• classmethod GetSourceIdForMatchTarget(domainId As %Integer, targetType As %Integer, targetId As %Integer) as %Library.Integer [ SQLProc = ]
Utility method to retrieve the Source ID for a given match target, as specified by its target type (either of $$$DMTARGETENTITY, $$$DMTARGETCRC, $$$DMTARGETPATH or $$$DMTARGETSENT) and ID.
• classmethod InvalidateMatchingResults(domainId As %Integer, dictIds As %String(MAXLEN=32767)="", pMode As %Integer = 0) as %Boolean [ SQLProc = ]

Deletes all current matching results for the list of Dictionary IDs passed in dictIds.

Specifying "" for dictIds will drop results for all Dictionaries in this domain.

pMode can be used to specify whether to keep intermediary (not source-related) matching results as follows:

  • 0: only source-related matching results are erased (default)
  • 1: the matching results for unique entities are also erased
  • 2: the matching results for unique entities and indexing results for dictionary terms are all erased (only available if dictIds="")
This parameter is mostly for internal use.

Note: pMode=2 will not erase the indexing results for dictionary terms of cross-domain dictionaries.
Note: matching results for virtual sources are always completely dropped, regardless of the value of dictIds and with the same effect as pMode=1

• classmethod MatchSource(domainId As %Integer, srcId As %Integer, dictIds As %String(MAXLEN=32767)="", overrideProfile As %iKnow.Matching.MatchingProfile = "") as %Boolean [ SQLProc = ]

Matches an individual source against the list of Dictionary IDs passed in dictIds. Use negative numbers to identify any cross-domain dictionaries to match against. A Matching Profile to calculate match scores can be specified either by passing in an %iKnow.Matching.MatchingProfile object, or a Matching Profile ID. When passing in the ID, a negative number is treated as a namespace-wide profile, whereas a positive ID will be looked up within the context of the domain.

Specifying "" for dictIds will match against all Dictionaries in this domain and passing $$$ALLXDOMDICTIONARIES will match against all cross-domain dictionaries.

A negative Source ID is interpreted as a Virtual Source.

• classmethod MatchSources(domainId As %Integer, filter As %String(MAXLEN=32767)="", dictIds As %String(MAXLEN=32767)="", overrideProfile As %iKnow.Matching.MatchingProfile = "") as %Boolean [ SQLProc = ]

Matches all sources in the domain, optionally restricted to those satisfying the criteria of a %iKnow.Filters.Filter object provided as filter, against the list of Dictionary IDs passed in dictIds. Use negative numbers to mark cross-domain dictionaries.

A Matching Profile to calculate match scores can be specified either by passing in an %iKnow.Matching.MatchingProfile object, or a Matching Profile ID. When passing in the ID, a negative number is treated as a namespace-wide profile, whereas a positive ID will be looked up within the context of the domain.

Specifying "" for dictIds will match against all Dictionaries in this domain and passing $$$ALLXDOMDICTIONARIES will match against all cross-domain dictionaries.


Queries

• query GetDictionaryMatches(domainId As %Integer, string As %String(MAXLEN=32767), dictIds As %String(MAXLEN=32767)="", page As %Integer = 1, pageSize As %Integer = 10, fullMatchOnly As %Integer = -1, profile As %iKnow.Matching.MatchingProfile = "", language As %String(MAXLEN=32767)="", nGramMatches As %Integer = -1)
Selects dictId As %Integer, dictItemId As %Integer, dictItemURI As %String(MAXLEN=32767), dictTermId As %String(MAXLEN=32767), dictTerm As %String(MAXLEN=32767), dictElementId As %String(MAXLEN=32767), type As %String(MAXLEN=32767), matchScore As %Numeric, matchedWordBits As %String(MAXLEN=32767), isScattered As %Boolean, formatOutput As %String(MAXLEN=32767)

Returns all potential matches for a given string. This string is treated as if it were a single entity and matched against single-entity Dictionary Terms. To find the matches for a full sentence, first index it and then call GetMatchesBySource using the source ID corresponding to the indexed sentence.

A Matching Profile to be used when calculating match scores can be specified either by passing in an %iKnow.Matching.MatchingProfile object, or a Matching Profile ID. When passing in the ID, a negative number is treated as a namespace-wide profile, whereas a positive ID will be looked up within the context of the domain. If no profile is specified, the default profile for this domain will be used.

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetDictionaryMatchesById(domainId As %Integer, entUniId As %Integer, dictIds As %String(MAXLEN=32767)="", page As %Integer = 1, pageSize As %Integer = 10, fullMatchOnly As %Integer = -1, profile As %iKnow.Matching.MatchingProfile = "", language As %String(MAXLEN=32767)="")
Selects dictId As %Integer, dictItemId As %Integer, dictItemURI As %String(MAXLEN=32767), dictTermId As %String(MAXLEN=32767), dictTerm As %String(MAXLEN=32767), dictElementId As %String(MAXLEN=32767), type As %String(MAXLEN=32767), matchScore As %Numeric, matchedWordBits As %String(MAXLEN=32767), isScattered As %Boolean, formatOutput As %String(MAXLEN=32767)

Returns all potential matches for the given entity ID.

A Matching Profile to be used when calculating match scores can be specified either by passing in an %iKnow.Matching.MatchingProfile object, or a Matching Profile ID. When passing in the ID, a negative number is treated as a namespace-wide profile, whereas a positive ID will be looked up within the context of the domain. If no profile is specified, the default profile for this domain will be used.

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetErrors(domainId As %Integer, since As %Date = 0)
Selects sourceId As %Integer, externalId As %String(MAXLEN=32767), errorMessage As %String(MAXLEN=32767), date As %Date
Returns any errors registered during the Matching process
• query GetMatchElements(domainId As %Integer, matchId As %Integer, vSrcId As %Integer = 0)
Selects position As %Integer, entOccId As %Integer, entUniId As %Integer, literal As %String(MAXLEN=32767), role As %Integer, matchScore As %Numeric, dictElementId As %Integer, dictElement As %String(MAXLEN=32767), matchedWordBits As %String(MAXLEN=32767), isScattered As %Boolean, formatOutput As %String(MAXLEN=32767), negated As %Boolean

Returns a detailed overview of all the elements in the match target, be it an entity-level, CRC-level or path-level match. The elements that are matched get annotated with the matched elements ID, value and eventually the output from a %iKnow.Matching.Formats.Format class if it was responsible for the match.

If a Virtual Source ID is supplied, the query runs in the context of that virtual source.

• query GetMatchesByCrcOcc(domainId As %Integer, crcOccId As %Integer, dictIds As %String(MAXLEN=32767)="", page As %Integer = 1, pageSize As %Integer = 10, includeEntityMatches As %Boolean = 1, includePathMatches As %Boolean = 1, includeSentenceMatches As %Boolean = 1)
Selects matchId As %Integer, dictId As %Integer, dictItemId As %Integer, dictItemURI As %String(MAXLEN=32767), dictTermId As %Integer, targetType As %String(MAXLEN=32767), targetId As %Integer, matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

Returns all the matches for the given CRC Occurrence. Use includeEntityMatches, includePathMatches and includeSentenceMatches to also include any matches for the Entities this CRC is composed of and the Paths these Entities participate in.

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetMatchesByDictionaryItemId(domainId As %Integer, dictItemId As %Integer, page As %Integer = 1, pageSize As %Integer = 10, filter As %String(MAXLEN=32767)="", targetTypes As %String(MAXLEN=32767)="", ensureMatched As %Boolean = 1)
Selects matchId As %Integer, dictTermId As %Integer, sourceId As %Integer, externalId As %String(MAXLEN=32767), targetType As %String(MAXLEN=32767), targetId As %Integer, targetUniId As %Integer, targetValue As %String(MAXLEN=32767), matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

This query returns all the match occurrences for the Dictionary Item specified through dictItemId.

Specifying a %iKnow.Filters.Filter object as filter will restrict the search space to only those sources satisfying the filters criteria. Through targetTypes, the desired target types can be specified in a %List (defaults to all types).

• query GetMatchesByDictionaryItemURI(domainId As %Integer, dictItemURI As %String(MAXLEN=32767), page As %Integer = 1, pageSize As %Integer = 10, filter As %String(MAXLEN=32767)="", targetTypes As %String(MAXLEN=32767)="", xDomDicts As %Boolean = 0)
Selects matchId As %Integer, dictTermId As %Integer, sourceId As %Integer, externalId As %String(MAXLEN=32767), targetType As %String(MAXLEN=32767), targetId As %Integer, targetUniId As %Integer, targetValue As %String(MAXLEN=32767), matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

This query returns all the match occurrences for the Dictionary Item specified through dictItemURI.

Specifying a %iKnow.Filters.Filter object as filter will restrict the search space to only those sources satisfying the filters criteria. Through targetTypes, the desired target types can be specified in a %List (defaults to all types).

• query GetMatchesByDictionaryTermId(pDomainId As %Integer, pDictTermId As %Integer, pPage As %Integer = 1, pPageSize As %Integer = 10, pFilter As %String(MAXLEN=32767)="", pTargetTypes As %String(MAXLEN=32767)="", pEnsureMatched As %Boolean = 1)
Selects matchId As %Integer, sourceId As %Integer, externalId As %String(MAXLEN=32767), targetType As %String(MAXLEN=32767), targetId As %Integer, targetUniId As %Integer, targetValue As %String(MAXLEN=32767), matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

This query returns all the match occurrences for the Dictionary Term specified through pDictTermId.

Specifying a %iKnow.Filters.Filter object as pFilter will restrict the search space to only those sources satisfying the filters criteria. Through pTargetTypes, the desired target types can be specified in a %List (defaults to all types).

• query GetMatchesByEntOcc(domainId As %Integer, entOccId As %Integer, dictIds As %String(MAXLEN=32767)="", page As %Integer = 1, pageSize As %Integer = 10, includeCrcMatches As %Boolean = 1, includePathMatches As %Boolean = 1, includeSentenceMatches As %Boolean = 1, vSrcId As %Integer = 0)
Selects matchId As %Integer, dictId As %Integer, dictItemId As %Integer, dictItemURI As %String(MAXLEN=32767), dictTermId As %Integer, targetType As %String(MAXLEN=32767), targetId As %Integer, matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

Returns all the matches for the given Entity Occurrence. Use includeCrcMatches, includePathMatches and includeSentenceMatches to also include any matches for the CRC, Path or Sentence in which this Entity Occurrences participates.

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetMatchesByPath(domainId As %Integer, pathId As %Integer, dictIds As %String(MAXLEN=32767)="", page As %Integer = 1, pageSize As %Integer = 10, includeEntityMatches As %Boolean = 1, includeCrcMatches As %Boolean = 1, includeSentenceMatches As %Boolean = 1)
Selects matchId As %Integer, dictId As %Integer, dictItemId As %Integer, dictItemURI As %String(MAXLEN=32767), dictTermId As %Integer, targetType As %String(MAXLEN=32767), targetId As %Integer, matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

Returns all the matches for the given Path. Use includeEntityMatches, includeCRCMatches and includeSentenceMatches to also include any matches for the Entities this path is composed of and the CRCs or Sentences these Entities participate in.

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetMatchesBySentence(domainId As %Integer, sentenceId As %Integer, dictIds As %String(MAXLEN=32767)="", page As %Integer = 1, pageSize As %Integer = 10, includeEntityMatches As %Boolean = 1, includeCrcMatches As %Boolean = 1, includePathMatches As %Boolean = 1)
Selects matchId As %Integer, dictId As %Integer, dictItemId As %Integer, dictItemURI As %String(MAXLEN=32767), dictTermId As %Integer, targetType As %String(MAXLEN=32767), targetId As %Integer, matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

Returns all the matches for the given Sentence. Use includeEntityMatches, includeCrcMatches and includePathMatches to control which (target) types of matches should be included in the result.

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetMatchesBySource(domainId As %Integer, externalId As %String(MAXLEN=32767), dictIds As %String(MAXLEN=32767)="", page As %Integer = 1, pageSize As %Integer = 10)
Selects matchId As %Integer, dictId As %Integer, dictItemId As %Integer, dictItemURI As %String(MAXLEN=32767), dictTermId As %Integer, targetType As %String(MAXLEN=32767), targetId As %Integer, matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

Returns all the matches for the given Source, as identified by its external ID.

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetMatchesBySourceId(domainId As %Integer, srcId As %Integer, dictIds As %String(MAXLEN=32767)="", page As %Integer = 1, pageSize As %Integer = 10)
Selects matchId As %Integer, dictId As %Integer, dictItemId As %Integer, dictItemURI As %String(MAXLEN=32767), dictTermId As %Integer, targetType As %String(MAXLEN=32767), targetId As %Integer, matchScore As %Numeric, matchingConceptCount As %Integer, matchingRelationCount As %Integer, partialMatchCount As %Integer, firstMatchedPosInPath As %Integer, lastMatchedPosInPath As %Integer, isOrdered As %Boolean, negatedEntityCount As %Integer

Returns all the matches for the given Source, as identified by its Source ID (interpreted as a Virtual Source if a negative value is supplied).

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetTopItems(domainId As %Integer, page As %Integer = 1, pageSize As %Integer = 10, filter As %String(MAXLEN=32767)="", dictIds As %String(MAXLEN=32767)="", sortType As %Integer = $$$SORTBYFREQUENCY, vSrcId As %Integer = 0)
Selects dictId As %Integer, dictItemId As %Integer, name As %String(MAXLEN=32767), URI As %String(MAXLEN=32767), frequency As %Integer, spread As %Integer, score As %Numeric

Returns the Dictionary Items for which most matches have been found in this domain (optionally narrowed down through a %iKnow.Filters.Filter object passed in through filter). Result sort order is controlled by sortType:

  • $$$SORTBYFREQUENCY will sort by the number of actual matches for a Dictionary Item
  • $$$SORTBYSPREAD will sort by the number of distinct documents in which at least one match for the Dictionary Item occurs.
  • $$$SORTBYSCORE will sort by the total match score of all matches for a Dictionary Item

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetTopMatchesByDictionaryItemId(domainId As %Integer, dictItemId As %Integer, page As %Integer = 1, pageSize As %Integer = 10, filter As %String(MAXLEN=32767)="", targetTypes As %String(MAXLEN=32767)="", sortType As %Integer = $$$SORTBYDOMAINDEFAULT)
Selects targetType As %Integer, targetUniId As %Integer, targetValue As %String(MAXLEN=32767), frequency As %Integer, spread As %Integer, bestScore As %Numeric

This query returns the "best" matching results for the Dictionary Item specified through dictItemId, aggregated by matched unique target (entity, CRC, path or sentence). The meaning of "best" is defined by sortType: if set to $$$SORTBYFREQUENCY or $$$SORTBYSPREAD, results are sorted by decreasing number of matched occurrences, whereas $$$SORTBYSCORE will rank them according to the highest match score. The first two options will yield the most relevant results for entities and CRCs, with the score ranking a better fit for paths and sentences, as they inherently have frequency and spread equal to 1.

Specifying a %iKnow.Filters.Filter object as filter will restrict the search space to only those sources satisfying the filters criteria. Through targetTypes, the desired target types can be specified in a %List (defaults to all types).

• query GetTopMatchesByDictionaryItemURI(domainId As %Integer, dictItemURI As %String(MAXLEN=32767), page As %Integer = 1, pageSize As %Integer = 10, filter As %String(MAXLEN=32767)="", targetTypes As %String(MAXLEN=32767)="", sortType As %Integer = $$$SORTBYFREQUENCY, xDomDicts As %Boolean = 0)
Selects targetType As %Integer, targetUniId As %Integer, targetValue As %String(MAXLEN=32767), frequency As %Integer, spread As %Integer, bestScore As %Numeric

This query returns the "best" matching results for the Dictionary Item specified through dictItemURI, aggregated by matched unique target (entity, CRC, path or sentence). The meaning of "best" is defined by sortType: if set to $$$SORTBYFREQUENCY or $$$SORTBYSPREAD, results are sorted by decreasing number of matched occurrences, whereas $$$SORTBYSCORE will rank them according to the highest match score. The first two options will yield the most relevant results for entities and CRCs, with the score ranking a better fit for paths and sentences, as they inherently have frequency and spread equal to 1.

Specifying a %iKnow.Filters.Filter object as filter will restrict the search space to only those sources satisfying the filters criteria. Through targetTypes, the desired target types can be specified in a %List (defaults to all types).

• query GetTopSourcesByDictionary(pDomainId As %Integer, pDictIds As %String(MAXLEN=32767), pPage As %Integer = 1, pPageSize As %Integer = 10, pFilter As %String(MAXLEN=32767)="", pSortType As %Integer = $$$SORTBYFREQUENCY, pNormalizeLength As %Numeric = 0)
Selects srcId As %Integer, externalId As %String(MAXLEN=32767), matchCount As %Integer, totalScore As %Numeric

Returns the sources best matching a given list of dictionaries specified through pDictIds, optionally filtered through pFilter. "Best matching" is defined as having the highest number of matches (if pSortType = $$$SORTBYFREQUENCY) or the highest total match score (if pSortType = $$$SORTBYSCORE).

If pNormalizeLength is set to a nonzero value, this number is used as the power of the sources length in entities (occurrences) to normalize the score.

• query GetTopTermsByItemId(pDomainId As %Integer, pDictItemIds As %String(MAXLEN=32767), pFilter As %String(MAXLEN=32767)="", pSortType As %Integer = $$$SORTBYFREQUENCY, vSrcId As %Integer = 0)
Selects dictTermId As %Integer, name As %String(MAXLEN=32767), frequency As %Integer, spread As %Integer, score As %Numeric

For a given Dictionary Item, returns all its Dictionary Terms sorted by the number of matches they have, optionally narrowed down through a %iKnow.Filters.Filter object passed in through pFilter). Result sort order is controlled by pSortType:

  • $$$SORTBYFREQUENCY will sort by the number of actual matches for the Dictionary Term
  • $$$SORTBYSPREAD will sort by the number of distinct documents in which at least one match for the Dictionary Term occurs.
  • $$$SORTBYSCORE will sort by the total match score of all matches for a Dictionary Term
• query GetTotalDictionaryScoresBySource(domainId As %Integer, externalId As %String(MAXLEN=32767), sortType As %Integer = $$$SORTBYFREQUENCY)
Selects dictId As %Integer, dictionary As %String(MAXLEN=32767), matchCount As %Integer, totalScore As %Numeric
Returns summary information for all matches in a given source (identified by External ID), organized per Dictionary.
• query GetTotalDictionaryScoresBySourceId(domainId As %Integer, srcId As %Integer, sortType As %Integer = $$$SORTBYFREQUENCY)
Selects dictId As %Integer, dictionary As %String(MAXLEN=32767), matchCount As %Integer, totalScore As %Numeric
Returns summary information for all matches in a given source (identified by Source ID), organized per Dictionary.
• query GetTotalItemScoresBySource(domainId As %Integer, externalId As %String(MAXLEN=32767), dictIds As %String(MAXLEN=32767)="", sortType As %Integer = $$$SORTBYFREQUENCY)
Selects dictId As %Integer, dictionary As %String(MAXLEN=32767), dictItemId As %Integer, item As %String(MAXLEN=32767), URI As %String(MAXLEN=32767), matchCount As %Integer, totalScore As %Numeric

Returns summary information for all matches in a given source (identified by External ID), organized per Dictionary Item.

Specifying "" for dictIds will return results for all Dictionaries in this domain.

• query GetTotalItemScoresBySourceId(domainId As %Integer, srcId As %Integer, dictIds As %String(MAXLEN=32767)="", sortType As %Integer = $$$SORTBYFREQUENCY)
Selects dictId As %Integer, dictionary As %String(MAXLEN=32767), dictItemId As %Integer, item As %String(MAXLEN=32767), URI As %String(MAXLEN=32767), matchCount As %Integer, totalScore As %Numeric

Returns summary information for all matches in a given source (identified by Source ID), organized per Dictionary Item.

Specifying "" for dictIds will return results for all Dictionaries in this domain.



Copyright © 1997-2019, InterSystems Corporation