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

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 

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!