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>