如何改进RDF文档?

如何改进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"?&

我正在建立一个化学品目录。下面的例子是2,4-D(一种杀虫剂)

长期目标是将许多RDF文件组合成一个具有推理能力的OWL“目录”

短期目标是一次构建一个RDF文件

然后,当RDF文件合并到OWL目录中时,将添加新的关系和推理规则

我的短期方法如下:

  • 声明本体论
  • 使用SKOS设置概念
  • 使用DBpedia设置广义术语
  • 使用DBpedia设置确切的术语
  • 确定准确和相似的项目
  • 定义资源映射和聚合
  • 逐项汇总
  • 以下是RDF:

    <?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
    
    我如何改进这种方法?例如:

  • 添加更具表现力的关系
  • 使它更紧凑
  • 建立本体的出处(使用);一 权威一个项目
  • 更好地组织文件,以便与其他RDF文件组合到OWL环境中
  • 感谢您的帮助。

    我相信,通过考虑从表示中删除模式样式元素,可以解决问题2和问题4。您提供的数据似乎混合了域概念的定义(即
    化学物质
    概念
    )和实例信息(
    “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) 生成机器可读的“标签”,使工业设备自动化。出处很重要,因为我们需要将“事实”的断言与“权威”联系起来。现在,我们想做一个简单的出处(如上所述)。这是一个有趣的问题,但我认为如上所述,它对于单堆栈溢出问题来说太宽泛了:“可能的答案太多,或者好的答案对于这种格式来说太长了。”不过,我认为你可以将其转化为一些主题问题,通过每个示例改进,展示一个您希望改进的输出类型的示例,并询问如何获得它。