Open Name Parser - Spectrum_OnDemand - 23.1

Spectrum Data Quality Guide

Product type
Software
Portfolio
Verify
Product family
Spectrum
Product
Spectrum > Quality > Spectrum Quality
Version
23.1
Language
English
Product name
Spectrum Data Quality
Title
Spectrum Data Quality Guide
Topic type
Overview
Reference
Tips
How Do I
First publish date
2007
ft:lastEdition
2024-03-04
ft:lastPublication
2024-03-04T22:52:13.486265

Open Name Parser breaks down personal and business names and other terms in the name data field into their component parts. These parsed name elements are then subsequently available to other automated operations such as name matching, name standardization, or multiple-record name consolidation.

Open Name Parser does the following:

  • Determines the type of a name in order to describe the function that the name performs. Name entity types are divided into two major groups: personal names and business names. Within each of these major groups are subgroups.
  • Determines the form of a name in order to understand which syntax the parser should follow for parsing. Personal names usually take on a natural (signature) order or a reverse order. Business names are usually ordered hierarchically.
  • Determines and labels the component parts of a name so that the syntactical relationship of each name part to the entire name is identified. The personal name syntax includes prefixes, first, middle, and last name parts, suffixes, and account description terms, among other personal name parts. The business name syntax includes the firm name and suffix terms.
  • Parses conjoined personal and business names and either retains them as one record or splits them into multiple records. Examples of conjoined names include "Mr. and Mrs. John Smith" and "Baltimore Gas & Electric dba Constellation Energy".
  • Parses output as records or as a list.
  • Enables you to use the Open Parser Domain Editor to create new domains that can be used in the Open Name Parser Advanced Options.
  • Assigns a parsing score that reflects the degree of confidence that the parsing is correct.

Resource URL

JSON endpoint:

http://server:port/rest/OpenNameParser/results.json

XML endpoint:

http://server:port/rest/OpenNameParser/results.xml
http://server:port/soap/OpenNameParser

Example with JSON Response

The following example requests a JSON response:

http://myserver:8080/rest/OpenNameParser/results.json?​Data.Name=John+Williams+Smith

The JSON returned by this request would be:

{"output_port": [{
   "Name": "John Williams Smith",
   "CultureCodeUsedToParse": "",
   "FirstName": "John",
   "LastName": "Smith",
   "MiddleName": "Williams",
   "Names": [],
   "IsParsed": true,
   "IsPersonal": true,
   "IsConjoined": false,
   "IsReverseOrder": false,
   "IsFirm": false,
   "NameScore": 100,
   "user_fields": []
}]}

Example with XML Response

The following example requests an XML response:

http://myserver:8080/rest/OpenNameParser/results.xml?​Data.Name=John+Williams+Smith

The XML returned by this request would be:

<ns2:xml.OpenNameParserResponse
xmlns:ns2="http://www.pb.com/spectrum/services/OpenNameParser">
   <ns2:output_port>
      <ns2:Result>
         <ns2:Name>John Williams Smith</ns2:Name>
         <ns2:CultureCodeUsedToParse/>
         <ns2:FirstName>John</ns2:FirstName>
         <ns2:LastName>Smith</ns2:LastName>
         <ns2:MiddleName>Williams</ns2:MiddleName>
         <ns2:Names/>
         <ns2:IsParsed>true</ns2:IsParsed>
         <ns2:IsPersonal>true</ns2:IsPersonal>
         <ns2:IsConjoined>false</ns2:IsConjoined>
         <ns2:IsReverseOrder>false</ns2:IsReverseOrder>
         <ns2:IsFirm>false</ns2:IsFirm>
         <ns2:NameScore>100</ns2:NameScore>
         <ns2:user_fields/>
      </ns2:Result>
   </ns2:output_port>
</ns2:xml.OpenNameParserResponse>

Example

The following shows a SOAP request:

<soapenv:Envelope
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:open="http://www.pb.com/spectrum/services/OpenNameParser">
	<soapenv:Header/>
	<soapenv:Body>
		<open:OpenNameParserRequest>
			<open:input_port>
				<!--Zero or more repetitions:-->
				<open:Input>
					<!--You may enter the following 3 items in any order-->
					<!--Optional:-->
					<open:Name>John Williams Smith</open:Name>
					<!--Optional:-->
					<open:CultureCode></open:CultureCode>
					<!--Optional:-->
					<open:user_fields>
						<!--Zero or more repetitions:-->
						<open:user_field>
							<open:name>?</open:name>
							<open:value>?</open:value>
						</open:user_field>
					</open:user_fields>
				</open:Input>
			</open:input_port>
		</open:OpenNameParserRequest>
	</soapenv:Body>
</soapenv:Envelope>

This would be the response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
   <ns3:OpenNameParserResponse xmlns:ns2="http://spectrum.pb.com/" ​xmlns:ns3="http://www.pb.com/spectrum/services/OpenNameParser">
         <ns3:output_port>
            <ns3:Result>
               <ns3:Name>John Williams Smith</ns3:Name>
               <ns3:CultureCodeUsedToParse/>
               <ns3:FirstName>John</ns3:FirstName>
               <ns3:LastName>Smith</ns3:LastName>
               <ns3:MiddleName>Williams</ns3:MiddleName>
               <ns3:Names/>
               <ns3:IsParsed>true</ns3:IsParsed>
               <ns3:IsPersonal>true</ns3:IsPersonal>
               <ns3:IsConjoined>false</ns3:IsConjoined>
               <ns3:IsReverseOrder>false</ns3:IsReverseOrder>
               <ns3:IsFirm>false</ns3:IsFirm>
               <ns3:NameScore>100</ns3:NameScore>
               <ns3:user_fields/>
            </ns3:Result>
         </ns3:output_port>
      </ns3:OpenNameParserResponse>
   </soap:Body>
</soap:Envelope>