如何改进RDF文档?
我正在建立一个化学品目录。下面的例子是2,4-D(一种杀虫剂) 长期目标是将许多RDF文件组合成一个具有推理能力的OWL“目录” 短期目标是一次构建一个RDF文件 然后,当RDF文件合并到OWL目录中时,将添加新的关系和推理规则 我的短期方法如下:如何改进RDF文档?,rdf,semantic-web,owl,Rdf,Semantic Web,Owl,我正在建立一个化学品目录。下面的例子是2,4-D(一种杀虫剂) 长期目标是将许多RDF文件组合成一个具有推理能力的OWL“目录” 短期目标是一次构建一个RDF文件 然后,当RDF文件合并到OWL目录中时,将添加新的关系和推理规则 我的短期方法如下: 声明本体论 使用SKOS设置概念 使用DBpedia设置广义术语 使用DBpedia设置确切的术语 确定准确和相似的项目 定义资源映射和聚合 逐项汇总 以下是RDF: <?xml version="1.0" encoding="utf-8"?&
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:agrontology="http://aims.fao.org/aos/agrontology#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cheminf="http://semantiscience.org/resource/"
xmlns:dbp="http://dbpedia.org/resource/"
xmlns:ore="http://www.openarchives.org/ore/terms/"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:schema="http://schema.org/">
<skos:Concept rdf:about="http://dbpedia.org/resource/Chemical_substance">
<ore:aggregatedBy rdf:resource="http://dbpedia.org/resource/Chemical_substance#Aggregation" />
</skos:Concept>
<ore:aggregates rdf:about="http://dbpedia.org/resource/Chemical_substance">
<cheminf:CHEMINF_000266>chemical substance</cheminf:CHEMINF_000266>
</ore:aggregates>
<ore:ResourceMap rdf:about="http://dbpedia.org/resource/Chemical_substance#ResourceMap">
<ore:describes rdf:resource="http://dbpedia.org/resource/Chemical_substance#Aggregation" />
</ore:ResourceMap>
<dbp:Chemical rdf:about="http://dbpedia.org/resource/2,4-Dichlorophenoxyacetic_acid">
<schema:name>2,4-Dichlorophenoxyacetic acid</schema:name>
</dbp:Chemical>
<cheminf:CHEMINF_000140 rdf:about="http://pubchem.ncbi.nlm.nih.gov/rest/rdf/compound/CID1486">
<schema:name>PubChem CID:1486</schema:name>
<rdf:type rdf:resource="http://dbpedia.org/resource/Chemical"/>
</cheminf:CHEMINF_000140>
<dbp:Chemical rdf:about="http://id.loc.gov/authorities/subjects/sh85037669">
<schema:name>LCSH:85037669</schema:name>
<skos:closeMatch>
<cheminf:CHEMINF_000140 rdf:about="http://pubchem.ncbi.nlm.nih.gov/rest/rdf/compound/CID1486">
<schema:name>PubChem CID:1486</schema:name>
<rdf:type rdf:resource="http://dbpedia.org/resource/Chemical"/>
</cheminf:CHEMINF_000140>
</skos:closeMatch>
</dbp:Chemical>
<dbp:Chemical rdf:about="http://lod.nal.usda.gov/nalt/1353">
<schema:name>NALT:1353</schema:name>
<schema:sameAs rdf:resource="http://pubchem.ncbi.nlm.nih.gov/rest/rdf/compound/CID1486"/>
</dbp:Chemical>
<dbp:Chemical rdf:about="http://aims.fao.org/aos/agrovoc/c_8543">
<schema:name>Agrovoc:8543</schema:name>
<schema:sameAs rdf:resource="http://pubchem.ncbi.nlm.nih.gov/rest/rdf/compound/CID1486"/>
<rdf:type rdf:resource="http://aims.fao.org/aos/agrontology#hasCodeAgrovoc"/>
</dbp:Chemical>
<ore:Aggregation rdf:about="http://dbpedia.org/resource/Chemical_substance#Aggregation">
<ore:describedBy rdf:resource="http://dbpedia.org/resource/Chemical_substance#ResourceMap" />
<ore:aggregates rdf:resource="http://pubchem.ncbi.nlm.nih.gov/rest/rdf/compound/CID1486" />
<ore:aggregates rdf:resource="http://aims.fao.org/aos/agrovoc/c_8543" />
<ore:aggregates rdf:resource="http://dbpedia.org/resource/2,4-Dichlorophenoxyacetic_acid" />
<ore:aggregates rdf:resource="http://id.loc.gov/authorities/subjects/sh85037669" />
<ore:aggregates rdf:resource="http://lod.nal.usda.gov/nalt/1353" />
</ore:Aggregation>
</rdf:RDF>
化学物质
2,4-二氯苯氧基乙酸
PubChem CID:1486
立法会:85037669
PubChem CID:1486
NALT:1353
Agrovoc:8543
我如何改进这种方法?例如:
化学物质是概念)和实例信息(“2,4-二氯苯氧乙酸”
)。这里的最佳实践是保留一个词汇表/本体来描述主干结构,您将使用主干结构来表示单个化学品的实例数据
我还想从表面上指出,您可能没有始终如一地使用rdf:type
来定义类成员资格。此外,您可能会使用rdf:type
,而您可能更喜欢使用它
我建议将这些不同的文档中的每一个存储在。使用一些一致的约定为每个化学图创建一个有意义的IRI
#3(出处信息)最简单的方法是存储描述与每个文档(命名图)一起存储的owl:Ontology
(中的x
in)的三元组。这遵循现有约定,但如果您组合命名图,则可能会出现故障(因为每个图的三元组不一定要注释以描述本体包含它们的内容)。一个小的变化,包括偏好,是在数据存储的默认图中存储出处信息,以便将化学元信息与描述分开。您有什么理由要结合RDF和OWL吗?OWL的RDF序列化不是特别好。另外,SKOS有点像“穷人的猫头鹰”,你想如何以及为什么将它们结合起来?您创建的最终结果的用例是什么?你真的需要出处吗?到底是什么原因?为什么呢?我们的想法是从小型(RDF断言)开始,然后在OWL DL环境中聚合它们,以表示项之间更复杂的关系。当然可以使用替代本体(例如,SKOS的替代品),如果这会带来问题的话。一个示例用例是:一个“植物”(特定物种)“有害生物”(特定物种),其中植物“受到”区域“法规”设置的“限制”(数字范围)内的“化学物质”的保护。这听起来很合理,但对我来说,似乎在某个时候您必须将数据从RDF/S迁移到OWL,可以吗?我想您给出的示例将包含在简单的RDF/S中。不管怎样,我想知道更多的关于你如何想象在现实世界中使用结果?你想解决什么问题?你想用什么工具?你需要某种推理吗?这样做是为了以统一格式交换数据吗?是的,计划从RDF/S迁移到OWL。有两个应用程序。(1) 在OWL中正确建模所有对象、对象属性等(“模型正确吗?”)。(2) 生成机器可读的“标签”,使工业设备自动化。出处很重要,因为我们需要将“事实”的断言与“权威”联系起来。现在,我们想做一个简单的出处(如上所述)。这是一个有趣的问题,但我认为如上所述,它对于单堆栈溢出问题来说太宽泛了:“可能的答案太多,或者好的答案对于这种格式来说太长了。”不过,我认为你可以将其转化为一些主题问题,通过每个示例改进,展示一个您希望改进的输出类型的示例,并询问如何获得它。