rdf - Turtle 中的 GML 字符串

标签 rdf turtle-rdf gml-geographic-markup-lan

我正在尝试在 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/

相关文章:

database - 版本化的 RDF 存储

xml - 在XQuery中,如何保持字符串输出内容不翻译为实体?

java - 从 ANTLR 中的语法规则调用方法?

metadata - RDF文档元数据

xml - 使用 golang 编码/xml 解码 GML 时出错

rdf - 在RDF中自动添加具有增量值的记录

rdf - 如何区分描述表示对象的 OWL 属性和描述表示的属性?

sparql - 使用 SPARQL 从公开数据中下载 GeoJSON 边界

javascript - 将 ajax 响应转换为 ol3 GML 层

java - 如何从 Java 代码创建 gml 文件