Loading TOC...

cts:entity-dictionary

cts:entity-dictionary(
   $entities as cts:entity*,
   [$options as xs:string*]
) as cts:entity-dictionary

Summary

Returns a cts:entity-dictionary object.

Parameters
$entities The entities to put into the dictionary.
$options Options with which you can control the behavior of the entity dictionary. You can specify the following options. It is strongly recommended that you use the default option settings.
  • "case-sensitive" or "case-insensitive": Perform case-sensitive or case-insensitive matching of entities names. Specify one or the other. Default: "case-sensitive".
  • "remove-overlaps" or "allow-overlaps": Either eliminate entities with the overlapping names or allow them. Specify one or the other. Default: "allow-overlaps".
  • "whole-words" or "partial-words": Either require matches to align with token boundares, or allow matches to fall within token boundaries. Specify one or the other. Default: "whole-words".

Usage Notes

Use this function when creating ad hoc entity dictionaries, or as a prelude to saving an entity dictionary to the database.

See Also

Example

xquery version "1.0-ml";

let $dict := 
  cts:entity-dictionary(
    for $alt in ("ACA", "Obamacare", "Affordable Care Act")
    return cts:entity("E1", "ACA", $alt, "Law")
  )
return 
  cts:entity-highlight(<node>ACA is often called Obamacare</node>,
    element {$cts:entity-type} {attribute norm {$cts:normalized-text}, 
             $cts:text}, $dict)

(: Returns output such as the following:
 :
 : <node><Law norm="ACA">ACA</Law> is often called <Law norm="ACA">Obamacare</Law></node>
 :)

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.