This page was generated
July 7, 2010
4:03 PM
XQuery Built-In and Modules Function Reference

Module: Entity Enrichment

The entity enrichment function module is installed as the following file:

  • install_dir/Modules/MarkLogic/enity.xqy

where install_dir is the directory in which MarkLogic Server is installed.

To use the entity.xqy module in your own XQuery modules, include the following line in your XQuery prolog:

import module namespace entity="http://marklogic.com/entity" at "/MarkLogic/entity.xqy"

The entity enrichment functions are used to add markup to XML for people, places, and other entities.

Function Summary
entity:enrich Returns the entity-enriched XML for the given XML node.
Function Detail
entity:enrich(
$node as node()
)  as  node()
Summary:

Returns the entity-enriched XML for the given XML node. The entities conform to the Mark Logic-recommended entity markup. If a text node that is being enriched has a parent element with a schema definition that does not allow element children, then that text node is not enriched (for example, style elements in an xhtml document).

Parameters:
$node : The XML node to be enriched.

Usage Notes:

The elements that are returned are in the http://marklogic.com/entity namespace, bound to the prefix e. The names and descriptions of the marked-up elements are as follows:

e:credit-card-number
A number representing a credit card number.
e:coordinate
Latitude and longitude coordinates.
e:date
Date-related.
e:email
Identifies an email address.
e:gpe
Geo-political entity. Differs from location because it has a person-made aspect to it (for example, California is a GPE because its boundaries were defined by a government).
e:facility
A place used as a facility.
e:id
A number identifying a social security number or other ID number.
e:location
A geographic location (Mount Everest, for example).
e:money
Identifies currency (dollars, euros, and so on).
e:nationality
The nationality of someone or something (for example, American).
e:organization
An organization.
e:percent
Identifes a number that is a percentage.
e:person
A person.
e:phone-number
A number identifying a telephone number.
e:religion
A religion.
e:url
A URL on the world wide web.
e:utm
A point in the Universal Transverse Mercator (UTM) coordinate system.
e:time
Time-related.

Example:
xquery version "1.0-ml";

import module namespace entity="http://marklogic.com/entity" 
    at "/MarkLogic/entity.xqy";

let $myxml := <node>George Washington never visited Norway.</node>
return
entity:enrich($myxml)

=> <node xmlns:e="http://marklogic.com/entity">
	<e:person>George Washington</e:person> never visited 
	<e:gpe>Norway</e:gpe>.
   </node>
   
Example:
xquery version "1.0-ml";

import module namespace entity="http://marklogic.com/entity" 
    at "/MarkLogic/entity.xqy";

let $myxhtml := 
  <p xmlns="http://www.w3.org/1999/xhtml">George 
   Washington never visited 
   <style>Norway</style>.
  </p>
return
entity:enrich($myxhtml)
(: 
   The text inside the style tag is not enriched because
   the xhtml schema does not allow element children
   inside style tags.
:)

=>
<p xmlns:e="http://marklogic.com/entity"><e:person>George 
   Washington</e:person> never visited 
  <style xmlns="http://www.w3.org/1999/xhtml">Norway</style>.
</p>