GraphDB Elasticsearch连接器

时间:2017-06-27 13:32:23

标签: graphdb

是否有一个工作示例可以在弹性搜索中将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 个答案:

答案 0 :(得分:1)

使用当前版本的GraphDB和Elasticsearch连接器将数据索引为geo_point的唯一方法是将纬度和经度放在单个文字中,例如:使用属性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"
        }
      ],
    }
  ''' .
}

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

我们目前正在寻找可能的方法来引入来自不同文字的纬度和经度支持。