0

私はセマンティック Web の初心者です。私の質問は: Java プログラムで RDF スキーマを使用するにはどうすればよいですか? 変換に Java Jena API を使用することは想定されていません。そうする方法はありますか?Java プログラムに名前のリストがあり、それらを RDF スキーマに変換したいと考えています。どうぞよろしくお願いいたします。

4

1 に答える 1

0

コメントのいくつかの説明に基づいて、ここで必要なのは、基本的な RDF を表現する能力だけのようです。サポートするライブラリを使用せずに手動で RDF を作成する場合、使用する最も簡単な形式はN-Triplesです。すべてのリソースをプロパティで識別し、リテラル (通常の文字列、言語タグ付きの文字列、または文字列とデータ型のいずれか) の使用方法を学習する必要があります。これは、Person と Animal の 2 つのクラス、プロパティ hasPet を宣言し、FDR が Fala という名前のペットを飼っている (持っていた?) というステートメントを含む単純な RDF ドキュメントです。

<http://example.org/Fala> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/Animal> .
<http://example.org/Animal> <http://www.w3.org/2000/01/rdf-schema#label> "Animal"@en .
<http://example.org/Animal> <http://www.w3.org/2000/01/rdf-schema#comment> "The class of (non-human) animals"@en .
<http://example.org/Animal> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
<http://example.org/Person> <http://www.w3.org/2000/01/rdf-schema#label> "Person"@en .
<http://example.org/Person> <http://www.w3.org/2000/01/rdf-schema#comment> "The class of people." .
<http://example.org/Person> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
<http://dbpedia.org/resource/Franklin_D._Roosevelt> <http://example.org/hasPet> <http://example.org/Fala> .
<http://dbpedia.org/resource/Franklin_D._Roosevelt> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/Person> .
<http://example.org/hasPet> <http://www.w3.org/2000/01/rdf-schema#comment> "used to indicate that the object is a pet of the subject"@en .
<http://example.org/hasPet> <http://www.w3.org/2000/01/rdf-schema#label> "has pet"@en .
<http://example.org/hasPet> <http://www.w3.org/2000/01/rdf-schema#range> <http://example.org/Animal> .
<http://example.org/hasPet> <http://www.w3.org/2000/01/rdf-schema#domain> <http://example.org/Person> .
<http://example.org/hasPet> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .

本当にそれだけです。物事をURIで表現し、文章を書きます。ライブラリを使用してRDFを生成する方がはるかに一般的です.そうしないと、URIで許可されている文字などについて心配する必要がありますが、適切なライブラリはそのような問題のチェックを処理します. とにかく、これを生成できますが、通常は Java でテキスト出力を生成します。

参考までに、Turtle と RDF/XML の同じ RDF グラフが続きます。Turtle は人間にとってより読みやすく、手で書くのはそれほど難しくありませんが、プログラムで書くのは N-Triples ほど簡単ではありません。RDF/XML は手で書くべきではありません。

@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ex:      <http://example.org/> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix dbpedia:  <http://dbpedia.org/resource/> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

ex:Animal
      a       rdfs:Class ;
      rdfs:comment "The class of (non-human) animals"@en ;
      rdfs:label "Animal"@en .

ex:Fala
      a       ex:Animal .

ex:hasPet
      a       rdf:Property ;
      rdfs:comment "used to indicate that the object is a pet of the subject"@en ;
      rdfs:domain ex:Person ;
      rdfs:label "has pet"@en ;
      rdfs:range ex:Animal .

<http://dbpedia.org/resource/Franklin_D._Roosevelt>
      a       ex:Person ;
      ex:hasPet ex:Fala .

ex:Person
      a       rdfs:Class ;
      rdfs:comment "The class of people." ;
      rdfs:label "Person"@en .
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:ex="http://example.org/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:dbpedia="http://dbpedia.org/resource/"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <rdfs:Class rdf:about="http://example.org/Animal">
    <rdfs:label xml:lang="en">Animal</rdfs:label>
    <rdfs:comment xml:lang="en">The class of (non-human) animals</rdfs:comment>
  </rdfs:Class>
  <rdfs:Class rdf:about="http://example.org/Person">
    <rdfs:label xml:lang="en">Person</rdfs:label>
    <rdfs:comment>The class of people.</rdfs:comment>
  </rdfs:Class>
  <rdf:Property rdf:about="http://example.org/hasPet">
    <rdfs:comment xml:lang="en">used to indicate that the object is a pet of the subject</rdfs:comment>
    <rdfs:label xml:lang="en">has pet</rdfs:label>
    <rdfs:range rdf:resource="http://example.org/Animal"/>
    <rdfs:domain rdf:resource="http://example.org/Person"/>
  </rdf:Property>
  <ex:Person rdf:about="http://dbpedia.org/resource/Franklin_D._Roosevelt">
    <ex:hasPet>
      <ex:Animal rdf:about="http://example.org/Fala"/>
    </ex:hasPet>
  </ex:Person>
</rdf:RDF>
于 2013-10-10T01:07:09.883 に答える