如何使用RDFLIB将多边形坐标存储为WKT文字值?

2024-06-07 07:17:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理GEOSPARQL查询。我想使用RDF图形(RDFLIB python)将多边形坐标存储为wktLiteral值。目前我正在使用下面的代码来做这件事

GEO=名称空间(“http://www.opengis.net/ont/geosparql#”)

if name == "wkt":
   self._graph.add((image, GEO["asWKT"], rl.Literal(value, datatype=GEO.wktGeneral)))

但当我在ApacheFuseki服务器中看到结果时。我无法看到“多边形(())坐标”的正确数据类型。如果缺少什么,请告诉我。多谢各位

Results Image


Tags: 代码opengis名称http图形netwww空间
1条回答
网友
1楼 · 发布于 2024-06-07 07:17:00

请尝试以下代码:

from rdflib import Graph, Literal, URIRef, Namespace

GEO = Namespace("http://www.opengis.net/ont/geosparql#")

g = Graph()
g.bind("geo", GEO)
x = URIRef("x:")
g.add((x, GEO["asWKT"], Literal("value", datatype=GEO.wktLiteral)))


print(g.serialize(format="turtle").decode("utf-8"))

这会很好地返回数据类型

  • 您需要将类型设置为wktLiteral,而不是wktGeneral
  • 您需要直接使用Literal(),而不是rl.Literal()

可能还有其他事情,但您没有提供足够的代码让我告诉您

相关问题 更多 >