2

我正在尝试在 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 块,如下所示(来自 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>

乌龟有没有办法解决这样的事情?或者有没有其他方法可以处理这样的案件?

提前致谢!

4

1 回答 1

2

只需转义有问题的字符,替换"\"

: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;
.
于 2013-05-21T12:45:48.377 回答