Skip to main content

%iKnow.Objects.Path

Class %iKnow.Objects.Path 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 Paths.

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.Queries.PathAPI and other query classes to consult Path data as the internal global structures are designed to optimize performance for these queries rather than general-purpose access.

NOTE: This object assumes all underlying data structures are present. Use domain-specific copies of these objects for domains where not all indices are built. See also the GenerateAllObjectsForDomain() method in %iKnow.Objects.Utils.

Parameters

READONLY

Parameter READONLY = 1;

Properties

DomainId

Property DomainId As %Integer;

PathId

Property PathId As %Integer;

Entities

Property Entities As %List [ Calculated, SqlComputeCode = { set {Entities} = ##class(%iKnow.Queries.PathAPI).GetEntIds({DomainId},{PathId}) }, SqlComputed ];

EntityOccurrences

Property EntityOccurrences As %List;

SentenceId

Property SentenceId As %Integer [ Calculated, SqlComputeCode = { set {SentenceId} = ##class(%iKnow.Queries.PathAPI).GetSentenceId({DomainId},{PathId})}, SqlComputed ];

Sentence

Property Sentence As %iKnow.Objects.Sentence [ Calculated, SqlComputeCode = {set {Sentence} = {DomainId} _"||"_ $list(^IRIS.IK.PathToSent({DomainId}, $order(^IRIS.IK.PathToSent({DomainId}, {PathId}),-1)))}, SqlComputed ];

SourceId

Property SourceId As %Integer [ Calculated, SqlComputeCode = { set {SourceId} = ##class(%iKnow.Queries.PathAPI).GetSourceId({DomainId},{PathId})}, SqlComputed ];

Source

Property Source As %iKnow.Objects.Source [ Calculated, SqlComputeCode = {set {Source} = {DomainId} _"||"_ $list(^IRIS.IK.PathToSrc({DomainId}, $order(^IRIS.IK.PathToSrc({DomainId}, {PathId}),-1)))}, SqlComputed ];