2011-07-26 7 views
1

XMLスキーマを使用してFOAFのようなrdfボキャブラリを拡張することは可能ですが、そのようなボキャブラリのクラスを定義内でどのように使用できますか?基本的に私はfoaf:personに新しい要素を追加したいと思います。これらの要素を持つことは、このオブジェクトがfoafであることを意味します。XSDをXSLスキーマでfoafを使用するためにインポート

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/NewXMLSchema" xmlns:foaf="http://xmlns.com/foaf/0.1/" elementFormDefault="qualified"> 

<xs:import foaf:namespace="http://xmlns.com/foaf/0.1/" foaf:schemaLocation="http://xmlns.com/foaf/spec/index.rdf"/> 

<xs:complexType ref="foaf:Person"> 
    <xs:sequence> 
     <xs:element name="owns"> 
      <xs:complexType> 
       <xs:sequence> 
        <xs:element name="device"> 
         <xs:complexType> 
          <xs:sequence> 
           <xs:element name="HereBeSomething"></xs:element> 
          </xs:sequence> 
         </xs:complexType> 
        </xs:element> 
       </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     <xs:element name="datapoints"> 
      <xs:complexType> 
       <xs:sequence> 
        <xs:element name="point" type="xs:string"></xs:element> 
       </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
    </xs:sequence> 
</xs:complexType> 

複合型は、tはFOAFも想定している:人、しかしerrrorこのarangement結果: - S4S-att-:この行で発見

「複数の注釈属性 'name'は要素 'complexType'に表示されている必要があります - s4s-att-not-allowed:属性 'ref'は要素 'complexType'には表示されません。

新しいスキーマの定義で他のRDFオントロジーのタイプを使用するにはどうすればよいですか?

答えて

2

私はそこに行きません。 XMLスキーマは、実際にはRDFデータを処理するための優れたツールではありません。多くの人々がRDFのXMLシリアライゼーションを見て、「ああ、XMLと同じように、いくつかの余分なRDF:thisとrdf:その属性が投げ込まれている」と思う。

RDFは、主述語 - オブジェクトトリプルの集合です。これらのトリプルをファイルに書き込むための構文は複数あります。 RDF/XMLはその1つです。タートルとNトリプルとRDFaは他のものです。

RDF/XMLの問題は、RDF/XMLファイルに同じトリプルセットを書き留めるさまざまな方法があることです。要約すると

<foaf:Person rdf:about="#cygri"> 
    <foaf:nick>cygri</foaf:nick> 
</foaf:Person> 

<rdf:Description rdf:ID="cygri"> 
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"> 
    <foaf:nick>cygri</foaf:nick> 
</foaf:Person> 

:たとえば、次の2つのスニペットが正確等価です私の推薦は、RDFデータを処理するためのXMLツールを使用するないです。 RDFツールを使用する。 FOAFのようなRDFスキーマを拡張するには、RDFスキーマを使用します。

関連する問題