Skip to main content

%iKnow.Objects.DictionaryMatch

Class %iKnow.Objects.DictionaryMatch Extends %Persistent [ Deprecated, StorageStrategy = iKnowStorage, System = 4 ]

Note: the use of this class is no longer recommended for accessing elements of a specific domain. For those scenarios, %iKnow.Tables.Utils offers a more flexible and customizable way of projecting iKnow domain data to SQL

This is a read-only object representation wrapping the internal iKnow data structures for Dictionary Matches.

This class can be used from ObjectScript or SQL to access a single or small number of entries, but the storage mappings are not meant to support elaborate or complex queries targeting this SQL table.

Please use the predefined queries in %iKnow.Matching.MatchingAPI and other query classes to consult Dictionary Match data as the internal global structures are designed to optimize performance for these queries rather than general-purpose access.

Parameters

READONLY

Parameter READONLY = 1;

Properties

DomainId

Property DomainId As %Integer;

DictionaryMatchId

Property DictionaryMatchId As %Integer;

DictionaryId

Property DictionaryId As %Integer;

DictionaryItemId

Property DictionaryItemId As %Integer;

DictionaryTermId

Property DictionaryTermId As %Integer;

TargetType

Property TargetType As %Integer;

TargetTypeString

Property TargetTypeString As %String [ Calculated, SqlComputeCode = { set {TargetTypeString} = $case({TargetType}, $$$DMTARGETENTITY:"entity", $$$DMTARGETCRC:"crc", $$$DMTARGETPATH:"path")}, SqlComputed ];

TargetId

Property TargetId As %Integer;

MatchScore

Property MatchScore As %Numeric;

MatchedConceptCount

Property MatchedConceptCount As %Integer;

MatchedRelationCount

Property MatchedRelationCount As %Integer;

PartialMatchCount

Property PartialMatchCount As %Integer;

FirstMatchedPositionInPath

Property FirstMatchedPositionInPath As %Integer;

LastMatchedPositionInPath

Property LastMatchedPositionInPath As %Integer;

IsOrdered

Property IsOrdered As %Boolean;

NegatedEntityCount

Property NegatedEntityCount As %Integer;

MatchedEntityCount

Property MatchedEntityCount As %Integer [ Calculated, SqlComputeCode = {set {MatchedEntityCount} = {MatchedConceptCount} + {MatchedRelationCount} }, SqlComputed ];

MatchedPathSectionLength

Property MatchedPathSectionLength As %Integer [ Calculated, SqlComputeCode = {set {MatchedPathSectionLength} = {LastMatchedPositionInPath} - {FirstMatchedPositionInPath} + 1 }, SqlComputed ];

Dictionary

Property Dictionary As %iKnow.Objects.Dictionary [ Calculated, SqlComputeCode = {set {Dictionary} = $s({DictionaryId}<0:0, 1:{DomainId}) _"||"_ $zabs({DictionaryId})}, SqlComputed ];

DictionaryItem

Property DictionaryItem As %iKnow.Objects.DictionaryItem [ Calculated, SqlComputeCode = {set {DictionaryItem} = $s({DictionaryId}<0:0, 1:{DomainId}) _"||"_ $zabs({DictionaryItemId})}, SqlComputed ];

DictionaryTerm

Property DictionaryTerm As %iKnow.Objects.DictionaryTerm [ Calculated, SqlComputeCode = {set {DictionaryTerm} = $s({DictionaryId}<0:0, 1:{DomainId}) _"||"_ $zabs({DictionaryTermId})}, SqlComputed ];

MatchedEntityOccurrence

Property MatchedEntityOccurrence As %iKnow.Objects.EntityOccurrence [ Calculated, SqlComputeCode = {set {MatchedEntityOccurrence} = $s({TargetType}=0:{DomainId} _"||"_{TargetId}, 1:"")}, SqlComputed ];

MatchedCrcOccurrence

Property MatchedCrcOccurrence As %iKnow.Objects.CrcOccurrence [ Calculated, SqlComputeCode = {set {MatchedCrcOccurrence} = $s({TargetType}=1:{DomainId} _"||"_{TargetId}, 1:"")}, SqlComputed ];

MatchedPath

Property MatchedPath As %iKnow.Objects.Path [ Calculated, SqlComputeCode = {set {MatchedPath} = $s({TargetType}=2:{DomainId} _"||"_{TargetId}, 1:"")}, SqlComputed ];

Sentence

Property Sentence As %iKnow.Objects.Sentence [ Calculated, SqlComputeCode = {set {Sentence} = {DomainId} _"||"_##class(%iKnow.Matching.MatchingAPI).GetSentenceIdForMatchTarget({DomainId},{TargetType},{TargetId}) }, SqlComputed ];