2014-02-06 70 views
2

上午建立了一個化學品目錄。下面的例子是2,4-D(農藥)。如何改進RDF文檔?

長期目標是將許多RDF文件合併到具有推理能力的OWL「目錄」中。

短期目標是一次構建一個RDF文件。

然後,當RDF文件合併到OWL目錄中時,將添加新的關係和推理規則。下面

我的短期做法是:

  1. 申報本體。
  2. 使用SKOS設置概念。
  3. 使用DBpedia設置廣義術語。
  4. 使用DBpedia來設置確切的術語。
  5. 確定確切的和類似的項目。
  6. 定義資源圖和聚合。
  7. 分項集合。

這裏是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> 

我怎麼能在這種方法改善?例如:

  1. 添加更多表達關係。
  2. 使其更加緊湊。
  3. 爲本體建立起源(使用http://www.w3.org/TR/prov-o/);一個 權限;一個物品?
  4. 更好地組織與其他RDF文件組合到一個OWL環境的文件?

謝謝你在這裏的幫助。

+0

你有什麼理由要結合RDF和OWL嗎? OWL的RDF序列化並不特別好。此外,SKOS有點像「窮人的貓頭鷹」,你如何以及爲什麼要將它們結合起來?什麼是您創建的最終結果的用例?你真的需要出處嗎?究竟是什麼?爲什麼? –

+0

思想是從小規模(RDF斷言)開始,然後在OWL DL環境中聚合它們以表達項目之間更復雜的關係。當然,如果這樣會導致問題出現,那麼肯定可以使用替代本體(例如SKOS的替代品)。示例用例爲:「區域」中的「規定」所設置的「限制」(數值範圍)內的「植物」(特定物種)「hasPest」(特定物種),其中Plant「is ProtectedBy」「Chemical」。 –

+0

這聽起來很合理,但對我來說,似乎在某些時候,您將不得不將數據從RDF/S遷移到OWL,這樣可以嗎?您提供的示例將被我簡單的RDF/S覆蓋。無論如何,我更想知道如何在現實世界中使用結果?你想解決什麼問題?你有什麼工具?你需要某種推理嗎?它是否以統一格式交換數據的目的完成? –

回答

1

我相信問題#2和#4可以通過考慮從您的表示中刪除架構樣式元素的想法來解決。您提供的數據似乎將域概念的定義(即:ChemicalSubstanceConcept)與實例信息(http://dbpedia.org/resource/2,4-Dichlorophenoxyacetic_acid http://schema.org/name "2,4-Dichlorophenoxyacetic acid")混合在一起。這裏的一個最佳實踐是保留單個詞彙/本體來描述將用於表示單個化學品實例數據的主幹結構。

我還想在表面層面注意,看起來你可能不會一直使用rdf:type來定義班級成員資格。此外,您可能正在使用rdf:type,而您可能更願意使用rdfs:subClassOf

我建議將這些不同的文檔存儲在RDF dataset的命名圖中。使用一些一致的約定爲每個化學圖創建一個有意義的IRI。

#3(來源信息)最簡單的方法可能是存儲描述與每個文檔(名爲圖)存儲在一起的owl:Ontologyxthese examples)的三元組。這遵循現有的慣例,但如果組合了命名圖(因爲每個圖的三元組不一定需要註釋以描述包含它們的本體)。根據偏好,一個小的變化就是將出處信息存儲在數據存儲的默認圖表中,以便將化學元信息與描述分開。