SlideShare a Scribd company logo
1 of 46
FamilySearch Place API
February 2015
What is the FamilySearch Place API?
RESTful Web Service for places
Backed by a database of millions of places
Type: City
Unique Id: 5413607
Jurisdiction: Salt Lake, Utah, United States
Official Name: Salt Lake City
Location: 40.76083, -111.89028
Start/End Years: 1896 – Present
Key Features
Historical Places
Database has about a million historical places
Place Dates
Allen’s Camp, Yavapai, Arizona Territory, United States 1876 – 1878
St. Joseph, Yavapai, Arizona Territory, United States 1878 – 1879
St. Joseph, Apache, Arizona Territory, United States 1879 – 1895
St. Joseph, Navajo, Arizona Territory, United States 1896 – 1912
St. Joseph, Navajo, Arizona, United States 1912 – 1923
Joseph City, Navajo, Arizona, United States 1923 – Present
Permanent, Unique Identifiers
For places and their historical representations
Type: City
Jurisdiction: Salt Lake, Utah, United States
Official Name: Salt Lake City
Location: 40.76083, -111.89028
Start/End Years: 1896 – Present
5413607
Search
Primary search types
Name (aka “Interpretation”)
Jurisdiction
Spatial (location)
Additional parameters
Year
Type
Resource Model
Map data produced via Google Maps API.
Place and Place Description Resources
Place Name Dates Id
Fraknó, Sopron, Hungary Unknown – 1921 1743233
Forchtenau, Mattersburg,
Burgenland, Austria
1921 – 1972 6748259
Forchtenstein,
Mattersburg, Burgenland,
Austria
1972 – Present 6748260
Place
(3798317)
Place Resource
Logical or conceptual place
 Unique identifier
 Variant names
 Start/End years
Acts as a container of historical
representations
5061618
/platform/places/{id}
Place Description Resource
Historical representation of a place
 Unique identifier
 Jurisdiction
 Start/End years within jurisdiction
 Location
 Type
 Official localized names
5061618
Cairo, Cairo Governorate, Egypt
(2241928)
/platform/places/description/{id}
Search Resource
/platform/places/search?q=<param1> <param2>…
Parameter Example
name:<place name> name:“Notts,Eng”
[+]date:<date or date range> +date:1900/1943
[+/-]parentId:<id>[~],<id>[~]… +parentId:1~
[+/-]typeId:<id>,<id>… +typeId:20
latitude:<latitude> latitude:40.1234
longitude:<longitude> longitude:111.2345
distance:<distance>[M/K] distance:5M
Places with Name “Notts,Eng”
(Example: Name Search or “Interpretation”)
Place Name of “Notts,Eng”
name:“Notts,Eng”
/platform/places/search?q=name:”Notts,Eng”
Nottinghamshire, England (County)
Nottingham, Nottinghamshire, England (Borough)
Place Name of “日本”
name:“日本”
/platform/places/search?q=name:”%E6%97%A5%E6%9C%AC”
Places with Name “日本”
(Example: Name Search with non-Latin Name)
Japan
Counties in California in 1860
(Example: Jurisdiction Search with Type and Date)
Type: County
+typeId:209
Jurisdiction: CA
+parentId:327
Date: 1860
+date:1860
/platform/places/search?q=+typeId:209 +parentId:327 +date:1860
Counties in 1860 Counties in 2015
Cemeteries Near Portland, Oregon
(Example: Location Search with Type and Jurisdiction)
Type: Cemetery
 +typeId:20
Jurisdiction: Oregon
 +parentId:375~
Location
 latitude:45.52361 longitude:-122.675 distance:10M
/platform/places/search?q=+typeId:20 +parentId:375~
latitude:45.52361 longitude:-122.675 distance:10M
With Jurisdiction Without Jurisdiction
Communes in France
(Example: Jurisdiction Versus Location Search)
 Jurisdiction: Bas-Rhin, Alsace, France (Department)
 +parentId:442056~
 Type: Commune and Populated Place
 +typeId:140,201
 Location
 49.00064, 7.893335
 Distance: 16K
/platform/places/search?q=+typeId:140,201 +parentId:442056~
latitude:49.00064 longitude:7.893335 distance:16K
Jurisdiction-Only
Location-Only
Jurisdiction and Location
Use Cases
Data Quality
Identifiers add meaning to your data
Name, location, etc. are not sufficient
Meaningful data improves the user
experience
Data Record Data Record
Data Quality – Example Issues
 Non-Unique place names
 Altrincham, Cheshire, England
 Parish, Civil Registry, or Populated Place?
 Salt Lake City, Salt Lake, Utah, United States
 Should that be Utah or Utah Territory (before or after 1896)?
 Place names with multiple meanings
 Daniel Smith
 Gerald Forrest
 Susan Mathews
 Eustace Henderson
 Zachary Lou
 Location (latitude, longitude) not unique (represents centroid)
Which of these is NOT a valid place name?
Display Places
San Ángel
Mexico
↓
Federal District of Mexico
↓
Alvaro Obregón
↓
San Ángel
Compare Data with Associated Places
Record A Record B
Record C Record D
3052984
São Paulo, São Paulo, Brazil
3052675, 5727, 141
Campinas, São Paulo, Brazil
3052984
São Paulo, São Paulo, Brazil
3052984, 5727, 141
São Paulo, São Paulo, Brazil
Exact Match:
Same Place
Description
Identifiers
Different Place,
Same Jurisdiction:
Same Place
Description
Identifiers of
Parent Jurisdiction
Compare Data with Associated Places
Comparison Type What To Use? Notes
Exact Match Place Description Id Simple Id Comparison
Same Place,
Different History
Place Id Simple Id Comparison
Jurisdiction
Commonality
Place Description Id
of Jurisdictions
Simple Id Comparison
Distance Location (latitude,
longitude)
Haversine formula
Similarity Type Id Compare Type Ids
Partner Examples
Use Place API to select:
• City
• County
• State
Use Place API:
• Use longitude and
latitude to put pins on
a map
Use Place API to provide a
person timeline:
• Identify City, County and State
• Use longitude and latitude to
put pins on a map
• Display official place names
Use Place API to provide a
migration map:
• Identify City, County and
State
• Use longitude and latitude
to put pins on a map
Other Product Ideas
Idea Description / Example
Travel Alerts Smartphone alert: “You’re 3.7 miles away from your great-
grandfather’s cemetery. Would you like directions?”
Place Research What was this place known as at a particular time? What was
its jurisdiction?
Find Books/Journals What books or journals were written about this place during
the time my grandparents lived there? Where can I buy them?
Find Stories Find stories about people that lived at the same time and near
my ancestor.
Data Research Clustering of surnames across census records for a particular
area.
DNA Map DNA data against locations. Cross-reference with census
and record data.
Future Plans
Feature Plans
 Additional attributes on place descriptions
 Notes
 Wikipedia links
 Population
 Sources/citations
 External references
 Examples: NGA, GeoNames
 Auto-transliteration
 Place Boundaries
Sample Application
Sample Application
GitHub Project
https://github.com/dshellman/FSPlaceSampleApp
AngularJS-Based Application
Performs Simple Searches
By name, date, jurisdiction, type, and location
Displays results in a table and on a map
Questions?
Contact Info
 Troy Wilde, Product Manager
 twilde@familysearch.org
 Dan Shellman, Software Development Manager
 dshellman@familysearch.org
 Documentation Link
 https://familysearch.org/developers/docs/guides/places
 Sample App (AngularJS-based)
 https://github.com/dshellman/FSPlaceSampleApp
Additional Materials
Place Resource – Example
{
"places" : [ { "id" : "5061618",
"links" : {
"place" : {
"href" : "https://.../platform/places/5061618"
}
},
"names" : [ {
"lang" : "en",
"value" : "Cairo"
}, {
"lang" : "fr",
"value" : "Le Caire"
},
...
Place Identifier
Place URL
Language of Variant Name
Variant Name
Place Description Resource – Example
{
"places" : [ { "id" : "2241928",
"links" : {
"description" : {
"href" : "https://.../platform/places/description/2241928"
},
"children" : {
"href" : "https://.../platform/places/description/2241928/children"
},
"place" : {
"href" : "https://.../platform/places/5061618"
}
},
"lang" : "en",
...
Place Description Identifier
Place URL
Place Description Children URL
Place Description URL
Place Description Resource – Example
...
"identifiers" : {
"http://gedcomx.org/Primary" : [
"https://.../platform/places/5061618" ] },
"names" : [ {
"lang" : "en",
"value" : "Cairo"
}, ... ],
"type" : "https://.../platform/places/types/140",
"latitude" : 30.05,
"longitude" : 31.25,
"jurisdiction" : {
"resource" : "#5968"
},
...
Place Type URL
Language of Official Name
Official Name
Location
Internal Link to Parent Jurisdiction
Place Description Resource – Example
...
"display" : {
"name" : "Cairo",
"fullName" : "Cairo, Cairo Governorate, Egypt",
"type" : "Populated Place"
}
}, {
"id" : "5968“,
...
Displayable Information
Parent Jurisdiction Id (Internally Linked)
Place Types
List of all place types: /platform/places/types
{
"@id" : "https://.../platform/places/types",
"title" : "Place Types",
"description" : "List of available place types.",
"elements" : [ { "id" : "186",
"@id" : "https://.../platform/places/types/186",
"labels" : [{ "@language" : "en", "@value" : "City" }],
"descriptions" : [ {
"@language" : "en",
"@value" : "..."
} ]
},
...
Language
Localized Value
Type Identifier
Type URL
Place Type Groups
List of all place types: /platform/places/type-groups
{
"@id" : "https://.../platform/places/type-groups",
"title" : "Place Type Groups",
"description" : "List of available place type groups.",
"elements" : [ { "id" : "26",
"@id" : "https://.../platform/places/type-groups/26",
"labels" : [ { "@language" : "en", "@value" : "Country-Like" } ],
"descriptions" : [ {
"@language" : "en",
"@value" : "..."
} ]
},
...
Language
Localized Value
Type Group Identifier
Type Group URL
Place Description Groups
List of all place types: /platform/places/groups/{id}
{
"sourceDescriptions" : [ {
"id" : "19",
"links" : {
"place-group" : {
"href" : "https://.../platform/places/groups/19"
}
},
"titles" : [ {
"lang" : "en",
"value" : "Continental Europe" } ],
...
Language
Localized Value
Group Identifier
Group URL
Place Description Groups – Page 2
"descriptions" : [ {
"lang" : "en",
"value" : "Countries in Continental Europe"
} ],
"places" : [ {
"id" : "278",
"links" : {
"description" : {
"href" : "https://.../platform/places/description/278" }
},
"names" : [ {
"lang" : "en",
"value" : "Czechoslovakia" } ]
},
...
Array of Contained Place Descriptions
Localized Place
Description Name
Localized Description
of the Group
Place Description URL
Place Description Identifier
Search Results Example: Page 1
{
"subtitle" : "Results of searching for places.",
"title" : "Place Search Results",
"entries" : [ {
"content" : {
"gedcomx" : {
"places" : [ {
"id" : "8696757",
"links" : {
"description" : {
"href" :
"https://.../platform/places/description/8696757"
}
},
"lang" : "en",
Array of all search results
Array of jurisdictions
Place Description Identifier
URL to Place Description Resource
Search Results Example: Page 2
"identifiers" : {
"http://gedcomx.org/Primary" : [
"https://.../platform/places/1828212" ]
},
"type" : "https://.../platform/places/types/20",
"temporalDescription" : {
"formal" : "+1896/"
},
"latitude" : 40.51472,
"longitude" : -111.97667,
"jurisdiction" : {
"resource" : "#5346810"
},
URL to Place Resource
URL to Type Resource
Date (gedcomx format)
Place Description Identifier
for Parent Jurisdiction
(Note: internal link)
Search Results Example: Page 3
"display" : {
"name" : "Wasatch Lawn Memorial Park South",
"fullName" : "Wasatch Lawn Memorial Park South,
Riverton, Salt Lake, Utah, United States",
"type" : "Cemetery"
}
},
...
Localized Type Name for Display
Localized Official Name for Display
Parent Jurisdictions
(Note: from internal links)
Search Results Example: Page 4
{
"id" : "5346810",
"links" : { …same as search result… },
"lang" : "en",
"identifiers" : { …same as search result… },
"names" : [ {
"value" : "Riverton"
} ],
"jurisdiction" : {
"resource" : "#393453"
}
},
"score" : 75.0
Localized Official Name for Display
Place Description Identifier
for Parent Jurisdiction
(Note: internal link)
Place Description Identifier for this Jurisdiction
Relevance Score

More Related Content

Similar to FamilySearch Place API

Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...Ícaro Medeiros
 
2014 Family Search Developer Conference Place 2.0 API
2014 Family Search Developer Conference Place 2.0 API2014 Family Search Developer Conference Place 2.0 API
2014 Family Search Developer Conference Place 2.0 APIdshellman
 
Huge Data, Little Screen: Assisting Mobile Users Finding Information Quickly ...
Huge Data, Little Screen: Assisting Mobile Users Finding Information Quickly ...Huge Data, Little Screen: Assisting Mobile Users Finding Information Quickly ...
Huge Data, Little Screen: Assisting Mobile Users Finding Information Quickly ...Melissa Cooper
 
Stanford Info Seminar March 07
Stanford Info Seminar March 07Stanford Info Seminar March 07
Stanford Info Seminar March 07mor
 
Google Your Family Tree
Google Your Family TreeGoogle Your Family Tree
Google Your Family TreeMay Chan
 
Plv Hal History Day
Plv Hal History DayPlv Hal History Day
Plv Hal History DayESU_THREE
 
Searching Your Family History with OurDigitalWorld
Searching Your Family History with OurDigitalWorldSearching Your Family History with OurDigitalWorld
Searching Your Family History with OurDigitalWorldOurDigitalWorld
 
Chalice / Edinburgh Geoparser at GISRUK
Chalice / Edinburgh Geoparser at GISRUKChalice / Edinburgh Geoparser at GISRUK
Chalice / Edinburgh Geoparser at GISRUKJo Walsh
 
LoCloud Historic Place Names Service, Rimvydas Laužikas, Justinas Jaronis and...
LoCloud Historic Place Names Service, Rimvydas Laužikas, Justinas Jaronis and...LoCloud Historic Place Names Service, Rimvydas Laužikas, Justinas Jaronis and...
LoCloud Historic Place Names Service, Rimvydas Laužikas, Justinas Jaronis and...locloud
 
Chalice / Edinburgh Geoparser at GISRUK with extra slides
Chalice / Edinburgh Geoparser at GISRUK with extra slidesChalice / Edinburgh Geoparser at GISRUK with extra slides
Chalice / Edinburgh Geoparser at GISRUK with extra slidesJo Walsh
 
Better Contextual Suggestions by Applying Domain Knowledge
Better Contextual Suggestions by Applying Domain KnowledgeBetter Contextual Suggestions by Applying Domain Knowledge
Better Contextual Suggestions by Applying Domain KnowledgeArjen de Vries
 
This is not your grandmother's online map: Advancing your mission with GIS tools
This is not your grandmother's online map: Advancing your mission with GIS toolsThis is not your grandmother's online map: Advancing your mission with GIS tools
This is not your grandmother's online map: Advancing your mission with GIS toolsChicago Technology Cooperative
 
Chalice / Edinburgh Geoparser at CA2011
Chalice / Edinburgh Geoparser at CA2011Chalice / Edinburgh Geoparser at CA2011
Chalice / Edinburgh Geoparser at CA2011Jo Walsh
 

Similar to FamilySearch Place API (14)

Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
 
2014 Family Search Developer Conference Place 2.0 API
2014 Family Search Developer Conference Place 2.0 API2014 Family Search Developer Conference Place 2.0 API
2014 Family Search Developer Conference Place 2.0 API
 
Huge Data, Little Screen: Assisting Mobile Users Finding Information Quickly ...
Huge Data, Little Screen: Assisting Mobile Users Finding Information Quickly ...Huge Data, Little Screen: Assisting Mobile Users Finding Information Quickly ...
Huge Data, Little Screen: Assisting Mobile Users Finding Information Quickly ...
 
Stanford Info Seminar March 07
Stanford Info Seminar March 07Stanford Info Seminar March 07
Stanford Info Seminar March 07
 
Google Your Family Tree
Google Your Family TreeGoogle Your Family Tree
Google Your Family Tree
 
Plv Hal History Day
Plv Hal History DayPlv Hal History Day
Plv Hal History Day
 
Searching Your Family History with OurDigitalWorld
Searching Your Family History with OurDigitalWorldSearching Your Family History with OurDigitalWorld
Searching Your Family History with OurDigitalWorld
 
Chalice / Edinburgh Geoparser at GISRUK
Chalice / Edinburgh Geoparser at GISRUKChalice / Edinburgh Geoparser at GISRUK
Chalice / Edinburgh Geoparser at GISRUK
 
LoCloud Historic Place Names Service, Rimvydas Laužikas, Justinas Jaronis and...
LoCloud Historic Place Names Service, Rimvydas Laužikas, Justinas Jaronis and...LoCloud Historic Place Names Service, Rimvydas Laužikas, Justinas Jaronis and...
LoCloud Historic Place Names Service, Rimvydas Laužikas, Justinas Jaronis and...
 
Chalice / Edinburgh Geoparser at GISRUK with extra slides
Chalice / Edinburgh Geoparser at GISRUK with extra slidesChalice / Edinburgh Geoparser at GISRUK with extra slides
Chalice / Edinburgh Geoparser at GISRUK with extra slides
 
Better Contextual Suggestions by Applying Domain Knowledge
Better Contextual Suggestions by Applying Domain KnowledgeBetter Contextual Suggestions by Applying Domain Knowledge
Better Contextual Suggestions by Applying Domain Knowledge
 
Data Strategy
Data StrategyData Strategy
Data Strategy
 
This is not your grandmother's online map: Advancing your mission with GIS tools
This is not your grandmother's online map: Advancing your mission with GIS toolsThis is not your grandmother's online map: Advancing your mission with GIS tools
This is not your grandmother's online map: Advancing your mission with GIS tools
 
Chalice / Edinburgh Geoparser at CA2011
Chalice / Edinburgh Geoparser at CA2011Chalice / Edinburgh Geoparser at CA2011
Chalice / Edinburgh Geoparser at CA2011
 

More from FamilySearch

From Startup to Unicorn - Ken Krogue
From Startup to Unicorn - Ken KrogueFrom Startup to Unicorn - Ken Krogue
From Startup to Unicorn - Ken KrogueFamilySearch
 
API Simplicity + Consistency == Speed: Designing APIs That Are Easy and Fun t...
API Simplicity + Consistency == Speed: Designing APIs That Are Easy and Fun t...API Simplicity + Consistency == Speed: Designing APIs That Are Easy and Fun t...
API Simplicity + Consistency == Speed: Designing APIs That Are Easy and Fun t...FamilySearch
 
Don't Re-Invent the Genealogy App Wheel
Don't Re-Invent the Genealogy App WheelDon't Re-Invent the Genealogy App Wheel
Don't Re-Invent the Genealogy App WheelFamilySearch
 
Mega Trends in Tech - Present and Future and How They'll Impact Your Top Line
Mega Trends in Tech - Present and Future and How They'll Impact Your Top LineMega Trends in Tech - Present and Future and How They'll Impact Your Top Line
Mega Trends in Tech - Present and Future and How They'll Impact Your Top LineFamilySearch
 
The Ecosystem of Genealogical Data Exchange
The Ecosystem of Genealogical Data ExchangeThe Ecosystem of Genealogical Data Exchange
The Ecosystem of Genealogical Data ExchangeFamilySearch
 
From Purple Prose to Machine-Checkable Proofs by Luther Tychonievich
From Purple Prose to Machine-Checkable Proofs by Luther TychonievichFrom Purple Prose to Machine-Checkable Proofs by Luther Tychonievich
From Purple Prose to Machine-Checkable Proofs by Luther TychonievichFamilySearch
 

More from FamilySearch (6)

From Startup to Unicorn - Ken Krogue
From Startup to Unicorn - Ken KrogueFrom Startup to Unicorn - Ken Krogue
From Startup to Unicorn - Ken Krogue
 
API Simplicity + Consistency == Speed: Designing APIs That Are Easy and Fun t...
API Simplicity + Consistency == Speed: Designing APIs That Are Easy and Fun t...API Simplicity + Consistency == Speed: Designing APIs That Are Easy and Fun t...
API Simplicity + Consistency == Speed: Designing APIs That Are Easy and Fun t...
 
Don't Re-Invent the Genealogy App Wheel
Don't Re-Invent the Genealogy App WheelDon't Re-Invent the Genealogy App Wheel
Don't Re-Invent the Genealogy App Wheel
 
Mega Trends in Tech - Present and Future and How They'll Impact Your Top Line
Mega Trends in Tech - Present and Future and How They'll Impact Your Top LineMega Trends in Tech - Present and Future and How They'll Impact Your Top Line
Mega Trends in Tech - Present and Future and How They'll Impact Your Top Line
 
The Ecosystem of Genealogical Data Exchange
The Ecosystem of Genealogical Data ExchangeThe Ecosystem of Genealogical Data Exchange
The Ecosystem of Genealogical Data Exchange
 
From Purple Prose to Machine-Checkable Proofs by Luther Tychonievich
From Purple Prose to Machine-Checkable Proofs by Luther TychonievichFrom Purple Prose to Machine-Checkable Proofs by Luther Tychonievich
From Purple Prose to Machine-Checkable Proofs by Luther Tychonievich
 

Recently uploaded

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Recently uploaded (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

FamilySearch Place API

  • 2. What is the FamilySearch Place API? RESTful Web Service for places Backed by a database of millions of places Type: City Unique Id: 5413607 Jurisdiction: Salt Lake, Utah, United States Official Name: Salt Lake City Location: 40.76083, -111.89028 Start/End Years: 1896 – Present
  • 4. Historical Places Database has about a million historical places Place Dates Allen’s Camp, Yavapai, Arizona Territory, United States 1876 – 1878 St. Joseph, Yavapai, Arizona Territory, United States 1878 – 1879 St. Joseph, Apache, Arizona Territory, United States 1879 – 1895 St. Joseph, Navajo, Arizona Territory, United States 1896 – 1912 St. Joseph, Navajo, Arizona, United States 1912 – 1923 Joseph City, Navajo, Arizona, United States 1923 – Present
  • 5. Permanent, Unique Identifiers For places and their historical representations Type: City Jurisdiction: Salt Lake, Utah, United States Official Name: Salt Lake City Location: 40.76083, -111.89028 Start/End Years: 1896 – Present 5413607
  • 6. Search Primary search types Name (aka “Interpretation”) Jurisdiction Spatial (location) Additional parameters Year Type
  • 7. Resource Model Map data produced via Google Maps API.
  • 8. Place and Place Description Resources Place Name Dates Id Fraknó, Sopron, Hungary Unknown – 1921 1743233 Forchtenau, Mattersburg, Burgenland, Austria 1921 – 1972 6748259 Forchtenstein, Mattersburg, Burgenland, Austria 1972 – Present 6748260 Place (3798317)
  • 9. Place Resource Logical or conceptual place  Unique identifier  Variant names  Start/End years Acts as a container of historical representations 5061618 /platform/places/{id}
  • 10. Place Description Resource Historical representation of a place  Unique identifier  Jurisdiction  Start/End years within jurisdiction  Location  Type  Official localized names 5061618 Cairo, Cairo Governorate, Egypt (2241928) /platform/places/description/{id}
  • 11. Search Resource /platform/places/search?q=<param1> <param2>… Parameter Example name:<place name> name:“Notts,Eng” [+]date:<date or date range> +date:1900/1943 [+/-]parentId:<id>[~],<id>[~]… +parentId:1~ [+/-]typeId:<id>,<id>… +typeId:20 latitude:<latitude> latitude:40.1234 longitude:<longitude> longitude:111.2345 distance:<distance>[M/K] distance:5M
  • 12. Places with Name “Notts,Eng” (Example: Name Search or “Interpretation”) Place Name of “Notts,Eng” name:“Notts,Eng” /platform/places/search?q=name:”Notts,Eng” Nottinghamshire, England (County) Nottingham, Nottinghamshire, England (Borough)
  • 13. Place Name of “日本” name:“日本” /platform/places/search?q=name:”%E6%97%A5%E6%9C%AC” Places with Name “日本” (Example: Name Search with non-Latin Name) Japan
  • 14. Counties in California in 1860 (Example: Jurisdiction Search with Type and Date) Type: County +typeId:209 Jurisdiction: CA +parentId:327 Date: 1860 +date:1860 /platform/places/search?q=+typeId:209 +parentId:327 +date:1860 Counties in 1860 Counties in 2015
  • 15. Cemeteries Near Portland, Oregon (Example: Location Search with Type and Jurisdiction) Type: Cemetery  +typeId:20 Jurisdiction: Oregon  +parentId:375~ Location  latitude:45.52361 longitude:-122.675 distance:10M /platform/places/search?q=+typeId:20 +parentId:375~ latitude:45.52361 longitude:-122.675 distance:10M With Jurisdiction Without Jurisdiction
  • 16. Communes in France (Example: Jurisdiction Versus Location Search)  Jurisdiction: Bas-Rhin, Alsace, France (Department)  +parentId:442056~  Type: Commune and Populated Place  +typeId:140,201  Location  49.00064, 7.893335  Distance: 16K /platform/places/search?q=+typeId:140,201 +parentId:442056~ latitude:49.00064 longitude:7.893335 distance:16K Jurisdiction-Only Location-Only Jurisdiction and Location
  • 18. Data Quality Identifiers add meaning to your data Name, location, etc. are not sufficient Meaningful data improves the user experience Data Record Data Record
  • 19. Data Quality – Example Issues  Non-Unique place names  Altrincham, Cheshire, England  Parish, Civil Registry, or Populated Place?  Salt Lake City, Salt Lake, Utah, United States  Should that be Utah or Utah Territory (before or after 1896)?  Place names with multiple meanings  Daniel Smith  Gerald Forrest  Susan Mathews  Eustace Henderson  Zachary Lou  Location (latitude, longitude) not unique (represents centroid) Which of these is NOT a valid place name?
  • 20. Display Places San Ángel Mexico ↓ Federal District of Mexico ↓ Alvaro Obregón ↓ San Ángel
  • 21. Compare Data with Associated Places Record A Record B Record C Record D 3052984 São Paulo, São Paulo, Brazil 3052675, 5727, 141 Campinas, São Paulo, Brazil 3052984 São Paulo, São Paulo, Brazil 3052984, 5727, 141 São Paulo, São Paulo, Brazil Exact Match: Same Place Description Identifiers Different Place, Same Jurisdiction: Same Place Description Identifiers of Parent Jurisdiction
  • 22. Compare Data with Associated Places Comparison Type What To Use? Notes Exact Match Place Description Id Simple Id Comparison Same Place, Different History Place Id Simple Id Comparison Jurisdiction Commonality Place Description Id of Jurisdictions Simple Id Comparison Distance Location (latitude, longitude) Haversine formula Similarity Type Id Compare Type Ids
  • 24. Use Place API to select: • City • County • State Use Place API: • Use longitude and latitude to put pins on a map
  • 25. Use Place API to provide a person timeline: • Identify City, County and State • Use longitude and latitude to put pins on a map • Display official place names
  • 26. Use Place API to provide a migration map: • Identify City, County and State • Use longitude and latitude to put pins on a map
  • 27. Other Product Ideas Idea Description / Example Travel Alerts Smartphone alert: “You’re 3.7 miles away from your great- grandfather’s cemetery. Would you like directions?” Place Research What was this place known as at a particular time? What was its jurisdiction? Find Books/Journals What books or journals were written about this place during the time my grandparents lived there? Where can I buy them? Find Stories Find stories about people that lived at the same time and near my ancestor. Data Research Clustering of surnames across census records for a particular area. DNA Map DNA data against locations. Cross-reference with census and record data.
  • 29. Feature Plans  Additional attributes on place descriptions  Notes  Wikipedia links  Population  Sources/citations  External references  Examples: NGA, GeoNames  Auto-transliteration  Place Boundaries
  • 31. Sample Application GitHub Project https://github.com/dshellman/FSPlaceSampleApp AngularJS-Based Application Performs Simple Searches By name, date, jurisdiction, type, and location Displays results in a table and on a map
  • 33. Contact Info  Troy Wilde, Product Manager  twilde@familysearch.org  Dan Shellman, Software Development Manager  dshellman@familysearch.org  Documentation Link  https://familysearch.org/developers/docs/guides/places  Sample App (AngularJS-based)  https://github.com/dshellman/FSPlaceSampleApp
  • 35. Place Resource – Example { "places" : [ { "id" : "5061618", "links" : { "place" : { "href" : "https://.../platform/places/5061618" } }, "names" : [ { "lang" : "en", "value" : "Cairo" }, { "lang" : "fr", "value" : "Le Caire" }, ... Place Identifier Place URL Language of Variant Name Variant Name
  • 36. Place Description Resource – Example { "places" : [ { "id" : "2241928", "links" : { "description" : { "href" : "https://.../platform/places/description/2241928" }, "children" : { "href" : "https://.../platform/places/description/2241928/children" }, "place" : { "href" : "https://.../platform/places/5061618" } }, "lang" : "en", ... Place Description Identifier Place URL Place Description Children URL Place Description URL
  • 37. Place Description Resource – Example ... "identifiers" : { "http://gedcomx.org/Primary" : [ "https://.../platform/places/5061618" ] }, "names" : [ { "lang" : "en", "value" : "Cairo" }, ... ], "type" : "https://.../platform/places/types/140", "latitude" : 30.05, "longitude" : 31.25, "jurisdiction" : { "resource" : "#5968" }, ... Place Type URL Language of Official Name Official Name Location Internal Link to Parent Jurisdiction
  • 38. Place Description Resource – Example ... "display" : { "name" : "Cairo", "fullName" : "Cairo, Cairo Governorate, Egypt", "type" : "Populated Place" } }, { "id" : "5968“, ... Displayable Information Parent Jurisdiction Id (Internally Linked)
  • 39. Place Types List of all place types: /platform/places/types { "@id" : "https://.../platform/places/types", "title" : "Place Types", "description" : "List of available place types.", "elements" : [ { "id" : "186", "@id" : "https://.../platform/places/types/186", "labels" : [{ "@language" : "en", "@value" : "City" }], "descriptions" : [ { "@language" : "en", "@value" : "..." } ] }, ... Language Localized Value Type Identifier Type URL
  • 40. Place Type Groups List of all place types: /platform/places/type-groups { "@id" : "https://.../platform/places/type-groups", "title" : "Place Type Groups", "description" : "List of available place type groups.", "elements" : [ { "id" : "26", "@id" : "https://.../platform/places/type-groups/26", "labels" : [ { "@language" : "en", "@value" : "Country-Like" } ], "descriptions" : [ { "@language" : "en", "@value" : "..." } ] }, ... Language Localized Value Type Group Identifier Type Group URL
  • 41. Place Description Groups List of all place types: /platform/places/groups/{id} { "sourceDescriptions" : [ { "id" : "19", "links" : { "place-group" : { "href" : "https://.../platform/places/groups/19" } }, "titles" : [ { "lang" : "en", "value" : "Continental Europe" } ], ... Language Localized Value Group Identifier Group URL
  • 42. Place Description Groups – Page 2 "descriptions" : [ { "lang" : "en", "value" : "Countries in Continental Europe" } ], "places" : [ { "id" : "278", "links" : { "description" : { "href" : "https://.../platform/places/description/278" } }, "names" : [ { "lang" : "en", "value" : "Czechoslovakia" } ] }, ... Array of Contained Place Descriptions Localized Place Description Name Localized Description of the Group Place Description URL Place Description Identifier
  • 43. Search Results Example: Page 1 { "subtitle" : "Results of searching for places.", "title" : "Place Search Results", "entries" : [ { "content" : { "gedcomx" : { "places" : [ { "id" : "8696757", "links" : { "description" : { "href" : "https://.../platform/places/description/8696757" } }, "lang" : "en", Array of all search results Array of jurisdictions Place Description Identifier URL to Place Description Resource
  • 44. Search Results Example: Page 2 "identifiers" : { "http://gedcomx.org/Primary" : [ "https://.../platform/places/1828212" ] }, "type" : "https://.../platform/places/types/20", "temporalDescription" : { "formal" : "+1896/" }, "latitude" : 40.51472, "longitude" : -111.97667, "jurisdiction" : { "resource" : "#5346810" }, URL to Place Resource URL to Type Resource Date (gedcomx format) Place Description Identifier for Parent Jurisdiction (Note: internal link)
  • 45. Search Results Example: Page 3 "display" : { "name" : "Wasatch Lawn Memorial Park South", "fullName" : "Wasatch Lawn Memorial Park South, Riverton, Salt Lake, Utah, United States", "type" : "Cemetery" } }, ... Localized Type Name for Display Localized Official Name for Display Parent Jurisdictions (Note: from internal links)
  • 46. Search Results Example: Page 4 { "id" : "5346810", "links" : { …same as search result… }, "lang" : "en", "identifiers" : { …same as search result… }, "names" : [ { "value" : "Riverton" } ], "jurisdiction" : { "resource" : "#393453" } }, "score" : 75.0 Localized Official Name for Display Place Description Identifier for Parent Jurisdiction (Note: internal link) Place Description Identifier for this Jurisdiction Relevance Score

Editor's Notes

  1. Uses Unauthenticated Session to make calls. Ask about “mistake” on the slide.
  2. Note that all of these are the same place, but they are also individual historical representations, so they are both the same and different.
  3. Note that a name interpretation may bring back multiple results. Results are ordered by the “best” answer (reference Relevance Score for each result). Note that other parameters may also apply, such as type, date, jurisdiction, and location.
  4. Note the need to perform URL encoding for the place name.
  5. Note the change in search results if the date parameter is changed.
  6. Note the change in results when the jurisdiction parameter is removed.
  7. How does meaningful data improve the user experience? Answer: many ways to display the place; ability to compare; creation of “shared meaning” between the user and system.
  8. Daniel Smith: Daniel, Smith, Mississippi, United States (Daniel is a PPL, Smith is a county) Susan Mathews: Susan, Mathews, Virginia, United States (Susan is a PPL, Mathews is a county) Eustace Henderson: Eustace, Henderson, Texas, United States (Eustace is a town, Henderson is a county) Zachary Lou: Zachary, East Baton Rouge, Louisiana, United States (Zachary is a city, Lou is another name for Louisiana) Centroids can be arbitrary (in their location and their precision). They may not even be available/known.
  9. Can also display history of place (by displaying multiple historical representations). In the future, can display additional information about a place, if it exists, such as population, links to Wikipedia, etc. Don’t forget that the name is localized, so if it’s known in other languages, it can be displayed in those languages.
  10. By “matching” two places, two data items can be associated together. For example, an event in a person’s life can be connected to an event in another person’s life if they happened at the same place (and time).
  11. Company Name: History Lines Contact: Jeff Haddon History Lines will create a “virtual” biography of your ancestor. It will provide a historical timeline of key events during your ancestor’s lifetime as well as tell you about the area and day to day life you ancestor may have experienced growing up.
  12. Company Name: Kinpoint Contact: Matt Brooks Kinpoint makes it easy to do Family History, even if you just have a few minutes. Their website is a certified partner with FamilySearch and they can easily help you identify people and things to work on in your research. This feature on their site will show you a timeline of the person you are researching.
  13. Company Name: RootsMapper Contact: Drew Withers and Mitch Withers This is a preview of their implementation of the Place API. RootsMapper integrates with FamilySearch and will present a migratory map of your ancestors.
  14. Reference to feedback?
  15. fix
  16. fix
  17. fix
  18. Need to use a different example!
  19. Need to use a different example!
  20. Need to use a different example!