SILK 框架:Restrict-to SPARQL 查询

SILK Framework: Restrict-to SPARQL query

我正在尝试在两个简单的 rdf 文件上测试 SILK 框架。我正确地导入了这两个文件,并创建了一个 LinkSpec 来生成一个简单的 sameAs link。前缀都正确,但是没有生成link。

以下是文件中相似的部分,应该link编辑:

1.

<gn:Feature rdf:about="http://sws.geonames.org/8286635/">
<rdfs:isDefinedBy rdf:resource="http://sws.geonames.org/8286635/about.rdf"/>
<gn:name>Champ de Mars Tour Eiffel Railway Station</gn:name>
<gn:neighbour rdf:resource="http://sws.geonames.org/6254976/"/>
</gn:Feature>

2.

<gn:Feature rdf:about="http://sws.geonames.org/8286635/">
<rdfs:isDefinedBy rdf:resource="http://sws.geonames.org/8286635/about.rdf"/>
<gn:name>Champ de Mars Tour Eiffel Railway Station</gn:name>
<gn:neighbour rdf:resource="http://sws.geonames.org/6254976/"/>
</gn:Feature>

下面是问题所在的 LinkSpec 文件:

<Interlinks>
 <Interlink id="link3">
  <SourceDataset dataSource="nearby" var="a" typeUri="RDF/XML">
   <RestrictTo>?c <http://www.geonames.org/ontology#name> ?a .</RestrictTo>
  </SourceDataset>
  <TargetDataset dataSource="neighbour" var="b" typeUri="RDF/XML">
   <RestrictTo>?d <http://www.geonames.org/ontology#name> ?b .</RestrictTo>
  </TargetDataset>
  <LinkageRule linkType="owl:sameAs">
   <Compare id="equality1" required="true" weight="1" metric="equality" threshold="0.0" indexing="true">
    <Input id="sourcePath1" path="/gn:name"/>
    <Input id="targetPath1" path="/gn:name"/>
   </Compare>
   <Filter/>
  </LinkageRule>
  <Outputs>
   <Output id="output"/>
  </Outputs>
 </Interlink>
</Interlinks> 

link 应该根据名称的相似性来赶上相似的特征。知道发生了什么事吗?

问题出在 Geonames 的前缀中:

<Prefix id="gn" namespace="http://www.geonames.org/ontology#"/>

而不是

<Prefix id="gn" namespace="http://www.geonames.org/ontology#/"/>