Skip to main content

%iKnow.DeepSee.CubeUtils

class %iKnow.DeepSee.CubeUtils extends %Library.RegisteredObject

This class offers a number of utility options for interacting with DeepSee-managed domains.

Method Inventory

Methods

classmethod CreateEOCube(pCube As %String, pIKnowMeasure As %String, pBuild As %Boolean = 1) as %Status

This method creates a new DeepSee Cube definition representing the entities occurring in the textual contents of an iKnow measure pIKnowMeasure in cube pCube. The generated cube will have a set of meaningful dimensions for this entity occurrence level as well as a relationship to pCube, so all of its dimensions are also available for the new cube. The name of this cube will be "pCube > pIKnowMeasure > Entity Occurrences" and can be used or modified just like any other DeepSee cube after creation.

Setting pBuild to 1 will automatically build the cube.

NOTE: some of the functionality exposed by this cube can be achieved by using the iKnow plugin exposing numerical query results %DeepSee.PlugIn.iKnow as a calculated measure, without the need to create any additional cubes.

classmethod CreateMRCube(pCube As %String, pIKnowMeasure As %String, pBuild As %Boolean = 1) as %Status

This method creates a new DeepSee Cube definition representing the matching results occurring in the textual contents of an iKnow measure pIKnowMeasure in cube pCube. The generated cube will have a set of meaningful dimensions for this dictionary match level as well as a relationship to pCube, so all of its dimensions are also available for the new cube. The name of this cube will be "pCube > pIKnowMeasure > Matching Results" and can be used or modified just like any other DeepSee cube after creation.

Setting pBuild to 1 will automatically build the cube.

NOTE: most of the functionality exposed by this cube can be achieved by using the iKnow plugin for Dictionaries %DeepSee.PlugIn.iKnowDictionary as a calculated measure, without the need to create any additional cubes.

classmethod GetDomainId(pCube As %String, pMeasure As %String, Output pSC As %Status = $$$OK) as %Integer [ SQLProc = CubeUtils_GetDomainId ]
Projected as the stored procedure: CubeUtils_GetDomainId
Returns the domain ID for the supplied combination of cube name (pCube) and iKnow measure name (pMeasure).
classmethod GetIKnowMeasures(pCube As %String, Output pList, pIncludeRelatedToOne As %Boolean = 0, pIncludeRelatedToMany As %Boolean = 0) as %Status
Returns all iKnow Measures for cube pCube in the form pList(n) = $lb(measureName, iKnowSourceType, cubeCaption)
classmethod GetMeasureInfo(pCube As %String, pMeasure As %String, Output pSourceType As %String = "", Output pDomainId As %Integer = "", Output pDomainName As %Integer = "", Output pDomainType As %String = "", Output pParams As %String = "", Output pDictionaries As %String = "") as %Status

Fetches measure info from the cube definition:

  • pSourceType: the value of the iKnowSource attribute
  • pDomainId: the iKnow domain (ID) containing the data for this measure
  • pDomainName: the iKnow domain (name) containing the data for this measure
  • pDomainType: "iKnow" for an iKnow-managed domain, "DeepSee" for a DeepSee-managed one
  • pParams: the semicolon-delimited list of domain parameter name/value pairs to use apply to the domain instantiated for this measure
  • pDictionaries: the comma-delimited list of Term Lists to match against.
classmethod GetSummary(pCube As %String, pMeasure As %String, pSourceObjectId As %String, pLength As %Integer = 5) as %String [ SQLProc = CubeUtils_GetSummary ]
Projected as the stored procedure: CubeUtils_GetSummary

Shorthand method to retrieve a summary of the iKnow measure value for pMeasure in cube pCube for the record identified by pSourceObjectId. Using pLength, the user can supply a desired summary length (in sentences).

This method is available as a SQL stored procedure and can be invoked in a Listing through using the $$$IKSUMMARY keyword.

classmethod LoadTermListAsBlackList(pCube As %String, pMeasure As %String, pTermList As %String = "") as %Status

Loads the elements of a Term List as a BlackList into a given iKnow measures domain, using just the key as a string to be blacklisted. The Terms will all be added to a single blacklist named after this Term List.
If a BlackList with the given name already exists, its contents will be replaced by the contents of the supplied Term List. If no value is supplied for pTermList, its value will be derived from the value of the domain parameter $$$IKPDSBLACKLIST.

classmethod LoadTermListAsDictionary(pCube As %String, pMeasure As %String, pTermList As %String, pMatch As %Integer = 1, pClear As %Integer = 1) as %Status

Loads the elements of a TermList as Dictionary Terms into a given iKnow measures domain, taking the key as the Term string and value as the items name. The Terms will all be added to a single dictionary named after this TermList.
The following fields will be interpreted along the way, if present:

  • "URI": the unique identifier for the Item level the value field refers to. If not present, a URI of the form :pTermList:value will be created.
  • "language": the two-letter language code to use for this term. Defaults to English ("en") if not present.

If pMatch is 1, the newly created dictionary will be matched against the contents of the domain. If set to 2, all existing dictionaries will be matched and if set to 0, no matching will occur as part of this method invocation.

If pClear is 1, any existing dictionary named pTermList will be deleted prior to loading this Term List. If set to 0, none will be dropped. The option to clear all dictionaries using the value 2 is discontinued as from 2013.2.

classmethod UpdateDictionary(pTermList As %String, pCube As %String = "", pMeasure As %String = "", pClearFirst As %Boolean = 0) as %Status

This method will update matching results for the Term List identified by pTermList to reflect the changes made to the Term List entries. If pCube is left blank, this method will be invoked for all cubes in this namespace. If pMeasure is left blank, it will be called for all iKnow measures in pCube.

Using pClearFirst, the user can specify whether or not the existing dictionary should first be dropped before reloading it from the Term List. Leave pClearFirst at 0 if you only appended to the Term List and use 1 if any existing terms were changed or removed.

classmethod UpdateMatching(pCubeName As %String, pMeasureName As %String) as %Status

Inherited Members

Inherited Methods

FeedbackOpens in a new tab