我正在尝试在 Turtle 文件中使用 OGC GeoSPARQL 词汇表。这是一个片段:
:spatialextent
a geosparql:Geometry;
geosparql:asGML "<gml:Polygon srsName="EPSG:28992"><gml:exterior><gml:LinearRing><gml:posList srsDimension="2">97372 487153 97372 580407 149636 580407 149636 487153 97372 487153</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon>"^^geosparql:gmlLiteral;
.
这个符号被我使用的在线 RDF 验证器拒绝: http://www.rdfabout.com/demo/validator/ ,由于双引号,例如“EPSG:28992”。可以通过将双引号更改为单引号来解决此问题。我认为这不会使 GML 失效。但我宁愿保留双引号,因为这是生成 GML 的方式。
在 RDF/XML 中,解决方案是使用 CDATA block ,如下所示(来自 GeoSPARQL 文档的示例。是的,它是 WKT,但适用相同的原则):
<sf:Polygon rdf:about="http://example.org/ApplicationSchema#AExactGeom">
<geo:asWKT rdf:datatype= "http://www.opengis.net/ont/geosparql#wktLiteral">
<![CDATA[<http://www.opengis.net/def/crs/OGC/1.3/CRS84> Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5,-83.6 34.5, -83.6 34.1))]]>
</geo:asWKT>
</sf:Polygon>
海龟有办法做到这样的事情吗?或者还有其他方法来处理这样的情况吗?
提前致谢!
最佳答案
就escape the offending characters ,将 "
替换为 \"
:
:spatialextent
a geosparql:Geometry;
geosparql:asGML
"<gml:Polygon srsName=\"EPSG:28992\"><gml:exterior><gml:LinearRing><gml:posList srsDimension=\"2\">97372 487153 97372 580407 149636 580407 149636 487153 97372 487153</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon>"^^geosparql:gmlLiteral;
.
关于rdf - Turtle 中的 GML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667432/