在OWL中建模地理坐标

时间:2013-02-20 17:03:01

标签: semantic-web owl

我正在开发一个本体,需要对地理坐标(纬度/经度)进行建模,作为人的地址的一部分。 Geo Names是显而易见的选择,但它太大而且冗长,我使用了W3C Geo词汇(http://www.w3.org/2003/01/geo/)。

它有一个Point类,以及lat / long / alt属性,这些属性应该满足我的需要。但是,我无法找到它,更不用说在Protege中将其设置为属性。进一步的研究表明,“Point”是一个rdfs:Class,“lat / long / alt”是rdf:Properties。我猜这就是它没有出现在Protege中的原因。

有没有办法在OWL本体中使用这些属性?或者是否有其他词汇表可以让我指定地理点,行等?

谢谢,

1 个答案:

答案 0 :(得分:0)

假设您尝试打开页面wgs84_pos上的文件http://www.w3.org/2003/01/geo/,则表明属性使用的是Protege 4.1(普通RDF)无法理解的格式。看看第143行,你会看到:

<rdf:Property rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#lat">
  <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing" />
  <rdfs:label>latitude</rdfs:label>
 <rdfs:comment>The WGS84 latitude of a SpatialThing (decimal degrees).</rdfs:comment>
</rdf:Property>

rdf:Property不在OWL的范围内(太通用,在OWL属性中是对象或数据属性),因此Protege 4.1不会显示。

我建议您按照网页上的文档和查看RDF文件从头开始重新创建本体。只需添加您需要的属性(应该快速),保存,打开保存的文件并与下载的文件进行比较以查看差异。

使用Protege制作的本体的粗略结构如下所示:

<?xml version="1.0"?>
  <!DOCTYPE rdf:RDF [
  <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
  <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
  <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
  <!ENTITY wgs84_pos "http://www.w3.org/2003/01/geo/wgs84_pos#" >
  <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<rdf:RDF xmlns="http://www.w3.org/2003/01/geo/wgs84_pos#"
 xml:base="http://www.w3.org/2003/01/geo/wgs84_pos"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:wgs84_pos="http://www.w3.org/2003/01/geo/wgs84_pos#"
 xmlns:owl="http://www.w3.org/2002/07/owl#"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Ontology rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#"/>

<owl:DatatypeProperty rdf:about="&wgs84_pos;lat">
    <rdfs:domain rdf:resource="&wgs84_pos;SpatialThing"/>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="&wgs84_pos;long">
    <rdfs:domain rdf:resource="&wgs84_pos;SpatialThing"/>
</owl:DatatypeProperty>

<owl:Class rdf:about="&wgs84_pos;Point">
    <rdfs:subClassOf rdf:resource="&wgs84_pos;SpatialThing"/>
</owl:Class>

<owl:Class rdf:about="&wgs84_pos;SpatialThing"/>