2016-05-24 5 views
1

私は、グラフのようなもののために、次のXMLを書いた:さらにノード上RDF/XMLは

`Organization----->Title` 
<?xml version="1.0"?> 
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:dc="http://purl.org/dc/elements/1.1/" 
xmlns:foaf="http://www.example.org/terms/"> 

    <rdf:Description rdf:about="person"> 
    <foaf:name>Usman</foaf:name> 
    </rdf:Description> 

しかし、私は知らないい

`Person ------> Organization` 
`Person ------> name` 

と組織場所へさらなる子ノードをタイトルとしてorganizationノードに追加しますか?

答えて

2

RDF/XMLを手作業で書くのは非常にエラーがあります。私は、別の形式で記述してからRDF/XMLに変換することを強くお勧めします。 RDF/XMLは人間が読めるように設計されておらず、同じRDFグラフはさまざまな方法でRDF/XMLで表現できます。

私は(一例として)以下のタートルのドキュメントを書くことから始めたい

:あなたはRDF/XMLが必要な場合は、次のことが、そこにただのRDFライブラリーについて使用して、それを変換することができ、

@prefix : <http://example.org/> 

:john a :Person . 
:john :hasName "John" . 
:john :belongsTo :company42 . 

:company42 a :Company . 
:company42 :hasName "The Company" . 

その後取得:

<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns="http://example.org/"> 
    <Person rdf:about="http://example.org/john"> 
    <hasName>John</hasName> 
    <belongsTo> 
     <Company rdf:about="http://example.org/company42"> 
     <hasName>The Company</hasName> 
     </Company> 
    </belongsTo> 
    </Person> 
</rdf:RDF> 

は、RDF/XMLの可能性の変化を強調表示するには、ここではRDF/XMLではまだ、同じRDFグラフです:

<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns="http://example.org/" > 
    <rdf:Description rdf:about="http://example.org/john"> 
    <rdf:type rdf:resource="http://example.org/Person"/> 
    <hasName>John</hasName> 
    <belongsTo rdf:resource="http://example.org/company42"/> 
    </rdf:Description> 
    <rdf:Description rdf:about="http://example.org/company42"> 
    <rdf:type rdf:resource="http://example.org/Company"/> 
    <hasName>The Company</hasName> 
    </rdf:Description> 
</rdf:RDF> 

タートルのような人間が読めると人間が書いたのフォームを使用するほうがはるかに簡単です。あなたがタートルでより経験豊かになると、あなたはそれが許す便利な簡略表記を使うことができます。例えば、上のグラフはまた、いくつかの入力を保存する、次のように書くことができます。

@prefix : <http://example.org/> 

:john a :Person ; 
     :hasName "John" ; 
     :belongsTo :company42 . 

:company42 a :Company ; 
      :hasName "The Company" . 
+0

あなたが変換するのに使用することができます[RDF翻訳](http://rdf-translator.appspot.com/)もありますRDFシリアル化の間 –