{
  "contentStorage": "postgres",
  "title": "Sullivan · ความสัมพันธ์",
  "description": "Sullivan（Sullivan）是美国新罕布什尔州下辖的村，人口约 795。",
  "url": "/th/places/nh-sullivan/relation.html",
  "entity": {
    "id": "place_us_nh_sullivan",
    "type": "place",
    "title": "Sullivan",
    "slug": "nh-sullivan",
    "summary": "Sullivan（Sullivan）是美国新罕布什尔州下辖的村，人口约 795。",
    "status": "published",
    "categories": [
      "category-geography"
    ],
    "tags": [
      "tag-admin-division"
    ],
    "sources": [
      {
        "id": "geonames",
        "title": "GeoNames US dataset (US.txt / admin2Codes.txt)",
        "url": "https://download.geonames.org/export/dump/US.zip"
      }
    ],
    "createdAt": "2026-10-29T11:17:56+08:00",
    "updatedAt": "2026-10-29T12:17:25+08:00",
    "updatedBy": "user:admin",
    "revision": 2,
    "body": "## 概况\n\nSullivan（Sullivan）是美国[[place_us_nh|新罕布什尔州]]，位于[[place_us_nh_cheshire_county|赤夏县]]境内下辖的村，人口约 795[^geonames]。\n\n## 地理\n\n- 坐标：43.0131, -72.2209",
    "url": "/places/nh-sullivan.html",
    "lang": "th",
    "fallback": true,
    "availableLangs": [
      "zh",
      "en"
    ],
    "placeKind": "village",
    "coordinates": {
      "latitude": 43.01314,
      "longitude": -72.22092
    },
    "adminArea": "美国 · 新罕布什尔州 · Sullivan"
  },
  "entities": null,
  "relations": [
    {
      "id": "rel_us_city_5093333",
      "fromId": "place_us_nh_sullivan",
      "relationType": "located_in",
      "toId": "place_us_nh_cheshire_county",
      "sourceRefs": [
        {
          "entityId": "place_us_nh_sullivan",
          "sourceId": "geonames"
        }
      ],
      "label": "Located in",
      "targetId": "place_us_nh_cheshire_county",
      "targetTitle": "赤夏县",
      "targetUrl": "/th/places/nh-cheshire-county.html",
      "incoming": false
    }
  ],
  "relationGroups": [
    {
      "type": "same_area",
      "label": "同区域",
      "hubId": "place_us_nh_cheshire_county",
      "hubTitle": "赤夏县",
      "hubUrl": "/th/places/nh-cheshire-county.html",
      "items": [
        {
          "id": "rel_us_city_5082595",
          "fromId": "place_us_nh_alstead",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_alstead",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_alstead",
          "targetTitle": "Alstead",
          "targetUrl": "/th/places/nh-alstead.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5084524",
          "fromId": "place_us_nh_chesterfield",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_chesterfield",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_chesterfield",
          "targetTitle": "Chesterfield",
          "targetUrl": "/th/places/nh-chesterfield.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5085564",
          "fromId": "place_us_nh_dublin",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_dublin",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_dublin",
          "targetTitle": "Dublin",
          "targetUrl": "/th/places/nh-dublin.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5086574",
          "fromId": "place_us_nh_gilsum",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_gilsum",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_gilsum",
          "targetTitle": "Gilsum",
          "targetUrl": "/th/places/nh-gilsum.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5087227",
          "fromId": "place_us_nh_harrisville",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_harrisville",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_harrisville",
          "targetTitle": "Harrisville",
          "targetUrl": "/th/places/nh-harrisville.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5087494",
          "fromId": "place_us_nh_hinsdale",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_hinsdale",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_hinsdale",
          "targetTitle": "Hinsdale",
          "targetUrl": "/th/places/nh-hinsdale.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5088061",
          "fromId": "place_us_nh_jaffrey",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_jaffrey",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_jaffrey",
          "targetTitle": "Jaffrey",
          "targetUrl": "/th/places/nh-jaffrey.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5089236",
          "fromId": "place_us_nh_marlborough",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_marlborough",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_marlborough",
          "targetTitle": "Marlborough",
          "targetUrl": "/th/places/nh-marlborough.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5089240",
          "fromId": "place_us_nh_marlow",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_marlow",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_marlow",
          "targetTitle": "Marlow",
          "targetUrl": "/th/places/nh-marlow.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5090441",
          "fromId": "place_us_nh_north_walpole",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_north_walpole",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_north_walpole",
          "targetTitle": "North Walpole",
          "targetUrl": "/th/places/nh-north-walpole.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5091729",
          "fromId": "place_us_nh_richmond",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_richmond",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_richmond",
          "targetTitle": "Richmond",
          "targetUrl": "/th/places/nh-richmond.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5091744",
          "fromId": "place_us_nh_rindge",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_rindge",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_rindge",
          "targetTitle": "Rindge",
          "targetUrl": "/th/places/nh-rindge.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5093183",
          "fromId": "place_us_nh_stoddard",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_stoddard",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_stoddard",
          "targetTitle": "Stoddard",
          "targetUrl": "/th/places/nh-stoddard.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5093401",
          "fromId": "place_us_nh_surry",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_surry",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_surry",
          "targetTitle": "Surry",
          "targetUrl": "/th/places/nh-surry.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5093422",
          "fromId": "place_us_nh_swanzey",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_swanzey",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_swanzey",
          "targetTitle": "Swanzey",
          "targetUrl": "/th/places/nh-swanzey.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5093821",
          "fromId": "place_us_nh_troy",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_troy",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_troy",
          "targetTitle": "Troy",
          "targetUrl": "/th/places/nh-troy.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5094235",
          "fromId": "place_us_nh_walpole",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_walpole",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_walpole",
          "targetTitle": "Walpole",
          "targetUrl": "/th/places/nh-walpole.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5094538",
          "fromId": "place_us_nh_west_swanzey",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_west_swanzey",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_west_swanzey",
          "targetTitle": "West Swanzey",
          "targetUrl": "/th/places/nh-west-swanzey.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5094550",
          "fromId": "place_us_nh_westmoreland",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_westmoreland",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_westmoreland",
          "targetTitle": "Westmoreland",
          "targetUrl": "/th/places/nh-westmoreland.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5094812",
          "fromId": "place_us_nh_winchester",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_winchester",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_winchester",
          "targetTitle": "Winchester",
          "targetUrl": "/th/places/nh-winchester.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5088262",
          "fromId": "place_us_nh_keene",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_keene",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_keene",
          "targetTitle": "基恩",
          "targetUrl": "/th/places/nh-keene.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5086182",
          "fromId": "place_us_nh_fitzwilliam",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_fitzwilliam",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_fitzwilliam",
          "targetTitle": "新罕布什尔州菲茨威廉",
          "targetUrl": "/th/places/nh-fitzwilliam.html",
          "incoming": true
        },
        {
          "id": "rel_us_city_5090084",
          "fromId": "place_us_nh_nelson",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_nelson",
              "sourceId": "geonames"
            }
          ],
          "label": "Contains places",
          "targetId": "place_us_nh_nelson",
          "targetTitle": "纳尔逊",
          "targetUrl": "/th/places/nh-nelson.html",
          "incoming": true
        }
      ]
    },
    {
      "type": "located_in",
      "label": "Located in",
      "items": [
        {
          "id": "rel_us_city_5093333",
          "fromId": "place_us_nh_sullivan",
          "relationType": "located_in",
          "toId": "place_us_nh_cheshire_county",
          "sourceRefs": [
            {
              "entityId": "place_us_nh_sullivan",
              "sourceId": "geonames"
            }
          ],
          "label": "Located in",
          "targetId": "place_us_nh_cheshire_county",
          "targetTitle": "赤夏县",
          "targetUrl": "/th/places/nh-cheshire-county.html",
          "incoming": false
        }
      ]
    }
  ],
  "lang": "th",
  "availableLangs": [
    "zh",
    "en"
  ],
  "fallback": true,
  "infoFields": [
    {
      "key": "place_kind",
      "label": "Place kind",
      "value": "Village"
    },
    {
      "key": "admin_area",
      "label": "Admin area",
      "value": "美国 · 新罕布什尔州 · Sullivan"
    },
    {
      "key": "coordinates",
      "label": "Coordinates",
      "value": "43.01314, -72.22092"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "total": 1,
    "pageCount": 1
  },
  "relationsTotal": 1
}