私はセマンティック Web の初心者です。私の質問は: Java プログラムで RDF スキーマを使用するにはどうすればよいですか? 変換に Java Jena API を使用することは想定されていません。そうする方法はありますか?Java プログラムに名前のリストがあり、それらを RDF スキーマに変換したいと考えています。どうぞよろしくお願いいたします。
1 に答える
コメントのいくつかの説明に基づいて、ここで必要なのは、基本的な 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>