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 に答える