Class Reference
IRIS for UNIX 2019.3
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [%iKnow] >  [Queries] >  [SourceAPI]
Private  Storage   

class %iKnow.Queries.SourceAPI extends %iKnow.Queries.AbstractAPI

Main Query API for retrieving sources and related information.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
14 38


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
GetAttributes GetByCrcIds GetByCrcMask GetByCrcs
GetByDomain GetByEntities GetByEntityIds GetByPathIds
GetCountByCrcIds GetCountByCrcMask GetCountByCrcs GetCountByDomain
GetCountByEntities GetCountByEntityIds GetCountByPathIds GetExternalId
GetFullReference GetLanguages GetSimilar GetSourceId
GetSummary GetSummaryDirect GetSummaryForText GetTopLanguage


Parameters

• parameter GetAttributesRT = "attTypeId:%Integer,attType:%String,level:%Integer,targetId:%Integer,startPos:%Integer,span:%Integer,properties:%String";
• parameter GetByCrcIdsRT = "srcId:%Integer,externalId:%String";
• parameter GetByCrcMaskRT = "srcId:%Integer,externalId:%String";
• parameter GetByCrcsRT = "srcId:%Integer,externalId:%String";
• parameter GetByDomainRT = "srcId:%Integer,externalId:%String";
• parameter GetByEntitiesRT = "srcId:%Integer,externalId:%String";
• parameter GetByEntityIdsRT = "srcId:%Integer,externalId:%String";
• parameter GetByPathIdsRT = "srcId:%Integer,externalId:%String";
• parameter GetLanguagesRT = "language:%String,totalConfidence:%Numeric,sentenceCount:%Integer";
• parameter GetSimilarRT = "srcId:%Integer,extId:%String,percentageMatched:%Numeric,percentageNew:%Numeric,nbOfEntsInRefSrc:%Integer,nbOfEntsInCommon:%Integer,nbOfEntsInSimSrc:%Integer,score:%Numeric";
• parameter GetSummaryForTextRT = "sentId:%Integer,sentenceValue:%String,sentenceIsTruncated:%Boolean";
• parameter GetSummaryRT = "sentId:%Integer,sentenceValue:%String,sentenceIsTruncated:%Boolean";

Methods

• classmethod GetAttributes(ByRef pResult, pDomainId As %Integer, pSrcId As %Integer, pPage As %Integer = 1, pPageSize As %Integer = 10, pTypes As %List = "", pLevel As %Integer = $$$IKATTLVLANY) as %Status

Returns all the attributes of the Entity Occurrences, Paths and Sentences enclosed in the specified source, optionally filtered by level through pLevel and/or pType.

Please note the startPos and span result columns refer to positions within the path for path-level attributes (level=$$$IKATTLVLPATH) and sentence positions for the other attributes (level=$$$IKATTLVLSENT).

• classmethod GetByCrcIds(ByRef result, domainid As %Integer, crcidlist As %List, page As %Integer = 1, pagesize As %Integer = 10, filter As %iKnow.Filters.Filter = "", setop As %Integer = $$$UNION, sortByField As %String = "") as %Status

Retrieves all sources containing the given CRC ids.

See also GetByEntities for a description of the parameters.

• classmethod GetByCrcMask(ByRef result, domainid As %Integer, master As %String = $$$WILDCARD, relation As %String = $$$WILDCARD, slave As %String = $$$WILDCARD, page As %Integer = 1, pagesize As %Integer = 10, filter As %iKnow.Filters.Filter = "", sortByField As %String = "", pActualFormOnly As %Boolean = 0) as %Status

Retrieves all sources containing a CRC satisfying the given CRC Mask.

See also GetByEntities for a description of the parameters.

• classmethod GetByCrcs(ByRef result, domainid As %Integer, crclist As %List, page As %Integer = 1, pagesize As %Integer = 10, filter As %iKnow.Filters.Filter = "", setop As %Integer = $$$UNION, sortByField As %String = "") as %Status

Retrieves all sources containing the given CRCs.

See also GetByEntities for a description of the parameters.

• classmethod GetByDomain(ByRef result, domainid As %Integer, page As %Integer = 1, pagesize As %Integer = 10, filter As %iKnow.Filters.Filter = "", sortByField As %String = "") as %Status

Returns all sources within a domain, optionally filtered through a %iKnow.Filters.Filter object passed in as filter.

• classmethod GetByEntities(ByRef result, domainid As %Integer, entitylist As %List, page As %Integer = 1, pagesize As %Integer = 10, filter As %iKnow.Filters.Filter = "", setop As %Integer = $$$UNION, attributeFilter As %List = "", sortByField As %String = "", pActualFormOnly As %Boolean = 0) as %Status

This method will retrieve all sources containing any (if setop = $$$UNION) or all (if setop = $$$INTERSECT) of the entities supplied through entitylist.

The scope of this query can be limited through supplying a %iKnow.Filters.Filter object for the filter parameter to restrict the result to those sources satisfying the filter criteria.

By default, results are ordered by decreasing source id. You can override this by setting sortByField to the name of a metadata field (optionally appended with " ASC" or " DESC" for this domain to order by that field's value.

The attributeFilter argument can be used to filter the results to only those where the requested entities (entitylist) appear in the context of a particular (set of) attribute(s). By using the negative attribute ID, you can select only those occurrences NOT appearing in the context of that attribute. For example, passing in $lb($$$IKATTNEGATION) will restrict the result to only those entities in a negative context and $lb(-$$$IKATTNEGATION) the ones in an affirmative context. Note that the use of this argument may have a significant performance impact.

If stemming is enabled for this domain through $$$IKPSTEMMING, sources containing any actual form of the entities in entityList will be returned. Use pActualFormOnly=1 to retrieve only those sources containing the actual forms in entitylist. This argument is ignored if stemming is not enabled.

• classmethod GetByEntityIds(ByRef result, domainid As %Integer, entityidlist As %List, page As %Integer = 1, pagesize As %Integer = 10, filter As %iKnow.Filters.Filter = "", setop As %Integer = $$$UNION, attributeFilter As %List = "", sortByField As %String = "", pActualFormOnly As %Boolean = 0) as %Status

Retrieves all sources containing the given entity ids.

See also GetByEntities for a description of the parameters.

• classmethod GetByPathIds(ByRef result, domainid As %Integer, pathidlist As %List, page As %Integer = 1, pagesize As %Integer = 10, filter As %iKnow.Filters.Filter = "", sortByField As %String = "") as %Status

Retrieves all sources containing the given path ids.

See also GetByEntities for a description of the parameters.

• classmethod GetCountByCrcIds(domainid As %Integer, crcidlist As %List, filter As %iKnow.Filters.Filter = "", setop As %Integer = $$$UNION, Output sc As %Status = $$$OK) as %Integer

Retrieves the number of sources containing the given CRC ids.

See also GetByEntities for a description of the parameters.

• classmethod GetCountByCrcMask(domainid As %Integer, master As %String = $$$WILDCARD, relation As %String = $$$WILDCARD, slave As %String = $$$WILDCARD, filter As %iKnow.Filters.Filter = "", Output sc As %Status = $$$OK, pActualFormOnly As %Boolean = 0) as %Integer

Retrieves the number of sources containing a CRC satisfying the given CRC Mask.

See also GetByEntities for a description of the parameters.

• classmethod GetCountByCrcs(domainid As %Integer, crclist As %List, filter As %iKnow.Filters.Filter = "", setop As %Integer = $$$UNION, Output sc As %Status = $$$OK) as %Integer

Retrieves the number of sources containing the given CRCs.

See also GetByEntities for a description of the parameters.

• classmethod GetCountByDomain(domainid As %Integer, filter As %iKnow.Filters.Filter = "", Output sc As %Status = $$$OK) as %Integer

This method returns the total number of sources in the specified domain, optionally filtered through a %iKnow.Filters.Filter object passed in as filter.

• classmethod GetCountByEntities(domainid As %Integer, entitylist As %List, filter As %iKnow.Filters.Filter = "", setop As %Integer = $$$UNION, Output sc As %Status = $$$OK, pActualFormOnly As %Boolean = 0) as %Integer

Retrieves the number of sources containing the given entities.

See also GetByEntities for a description of the parameters.

• classmethod GetCountByEntityIds(domainid As %Integer, entityidlist As %List, filter As %iKnow.Filters.Filter = "", setop As %Integer = $$$UNION, Output sc As %Status = $$$OK, pActualFormOnly As %Boolean = 0) as %Integer

Retrieves the number of sources containing the given entity ids.

See also GetByEntities for a description of the parameters.

• classmethod GetCountByPathIds(domainid As %Integer, pathidlist As %List, filter As %iKnow.Filters.Filter = "", Output sc As %Status = $$$OK) as %Integer

Retrieves the number of sources containing the given path ids.

See also GetByEntities for a description of the parameters.

• classmethod GetExternalId(domainid As %Integer, srcId As %Integer, Output sc As %Status = $$$OK) as %String

Retrieves the external ID for the source identified by srcId.

A negative srcId is considered to refer to a Virtual Source.

• classmethod GetFullReference(domainId As %Integer, srcId As %Integer, Output sc As %Status = $$$OK) as %String

Retrieves the Full Reference for the source identified by srcId.

A negative srcId is considered to refer to a Virtual Source.

• classmethod GetLanguages(ByRef result, domainid As %Integer, sourceid As %Integer) as %Status

This method returns, for a given source, all languages the iKnow Automatic Language Identification algorithm has identified for the sentences it contains. For each language, it will list the sum of ALI confidence ratings when assigning the language to a sentence, plus the total number of sentences the language was assigned to. If ALI was disabled when indexing this source, confidence ratings will be set to 0.

A negative Source ID is interpreted as a Virtual Source.

• classmethod GetSimilar(ByRef result, domainid As %Integer, sourceid As %Integer, page As %Integer = 1, pagesize As %Integer = 10, filter As %iKnow.Filters.Filter = "", algorithm As %String = $$$SIMSRCSIMPLE, algorithmParams As %List = "", blackListIds As %List = "") as %Status

Retrieves those sources that have similar content to the one specified through the sourceId parameter. Similarity is expressed by the (approximated) ratio between the length of the source and the overlap with the starting source, based on the chosen algorithm (according to the algorithm-specific algorithmParams).

Note: whenever possible, use a filter object to limit the search space for this query to perform adequately.

If the supplied Source ID is negative, it is treated as a Virtual Source. While this allows looking for sources similar to a Virtual Source, the query will not verify against other Virtual Sources and they will therefore not appear in the results of this query.

The blackListIds parameter allows a user to select one or more BlackLists of which the elements should be completely ignored in the similarity algorithm. Blacklisted elements will be ignored both for selecting similar candidates AND the calculation of their similarity score.

The following algorithms are currently available:

  • $$$SIMSRCSIMPLE: basic algorithm simply looking at entities (or CRCs or CCs) present in the reference source.
    Parameters:
    1. targetType As %String - either "ent", "crc" or "cc" (case insensitive, defaults to "ent"). Please note this implies the result columns will represent the corresponding targets, despite being named "nbOfEnt***"
  • $$$SIMSRCDOMENTS starts looking for similar sources based on dominant terms in the reference source.
    Parameters:
    1. strict As %Boolean - whether or not to select only sources for which at least one of the reference source's dominant concepts are also dominant in a similar source. (defaults to 1)
• classmethod GetSourceId(domainid As %Integer, externalId As %String, Output sc As %Status = $$$OK) as %Integer

Retrieves the source ID for the source identified by externalId.

• classmethod GetSummary(ByRef result, domainId As %Integer, srcId As %Integer, length As %Integer = 5, summaryConfig As %String = "") as %Status

This method returns the most relevant sentences of the requested source, in their original order. The number of sentences returned is controlled by the length parameter.

A negative Source ID is interpreted as a Virtual Source.

• classmethod GetSummaryDirect(domainId As %Integer, sourceId As %Integer, length As %Integer = 5, Output isTruncated As %Boolean = 0, Output sc As %Status = $$$OK, separator As %String = " ... ", summaryConfig As %String = "") as %String

This is a utility wrapper method around GetSummary, returning the summary sentences as a single concatenated string.

The isTruncated output parameter indicates whether or not the returned string is complete or was truncated to avoid MAXSTRING errors. This can happen when either an individual sentence surpassed the maximum string length or when the concatenation of these sentences surpassed it.

• classmethod GetSummaryForText(ByRef pResult, pDomainId As %Integer = 0, pText As %String(MAXLEN=32000), pLength As %Integer = 5, pSummaryConfig As %String = "", pLanguage As %String = "en", pUserDict As %String = "") as %Status

This method returns the most relevant sentences of the supplied text, in their original order. The number of sentences returned is controlled by the length parameter.

Note: the value of pDomainId is ignored since 2013.2

• classmethod GetTopLanguage(domainid As %Integer, sourceid As %Integer, Output totalConfidence As %Numeric = "", Output numberOfSentences As %Integer = "", Output sc As %Status = $$$OK) as %String

This method returns the language of a given source, calculated as the one with the highest total confidence rating for the individual sentences in the source. This total confidence, as well as the number of sentences to which this language was assigned is provided through output variables totalConfidence and numberOfSentences.

A totalConfidence of 0 indicates ALI was switched off when indexing this source.

A negative Source ID is interpreted as a Virtual Source.



Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.