海龟中的GML字符串
问题描述:
我想在海龟文件中使用OGC GeoSPARQL词汇表。这里是一个片段:海龟中的GML字符串
: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文档是的,这是高铁总站但同样的原则也适用。):
<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;
.