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#/"/>
我正在尝试在两个简单的 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#/"/>