首页 文章

GraphDB Elasticsearch 连接器

提问于
浏览
0

是否有一个工作示例将 lat 长属性从 graphdb 映射到弹性搜索的 geo_point 对象?

{
              "fieldName": "location",
              "propertyChain": [
                "http://example.com/coordinates"
              ],
              "objectFields": [
                {
                  "fieldName": "lat",
                  "propertyChain": [
                    "http://www.w3.org/2003/01/geo/wgs84_pos#lat"
                  ]
                },
                {
                  "fieldName": "lon",
                  "propertyChain": [
                    "http://www.w3.org/2003/01/geo/wgs84_pos#long"
                  ]
                }
              ]
            }

谢谢

1 回答

  • 1

    使用当前版本的 GraphDB 和 Elasticsearch 连接器将数据索引为 geo_point 的唯一方法是将纬度和经度放在单个文字 e.g 中。与财产http://www.w3.org/2003/01/geo/wgs84_pos#lat_long。连接器看起来像这样:

    PREFIX : <http://www.ontotext.com/connectors/elasticsearch#>
    PREFIX inst: <http://www.ontotext.com/connectors/elasticsearch/instance#>
    INSERT DATA {
      inst:geopoint :createConnector '''
        {
          "elasticsearchNode": "localhost:9300",
          "types": ["http://geopoint.ontotext.com/Point"],
          "fields": [
            {
              "fieldName": "location",
              "propertyChain": [
                "http://www.w3.org/2003/01/geo/wgs84_pos#lat_long"
              ],
              "datatype": "native:geo_point"
            }
          ],
        }
      ''' .
    }
    

    请注意,数据类型:“native:geo_point”很重要,因为它告诉 Elasticsearch 这是什么类型的数据。

    我们目前正在研究可能的方法来引入来自单独文字的纬度和经度支持。

相关问题