アクセスするデータは、サブジェクトプロパティ (述語)オブジェクト( SPO ) 形式で格納されます。つまり、サブジェクトと、たとえばプロパティに関連付けられたオブジェクトがあることを意味します。<Albert_Einstein> <wasBornIn> <Germany>
通常、SPARQL を使用して、エンドポイント経由でこれらの SPO データベースにアクセスできます。SPARQL は SQL に似た言語であり、クエリを作成してデータにアクセスできます。幸いなことに、ウィキデータには、使用できる sparql エンドポイントもあります: https://query.wikidata.org/
以下は、rdf-schema ラベルを使用して参照されるすべてのサブジェクトを String "Titanic" にロードし、結果を 100 エントリに制限する簡単な例です。
select distinct ?a where {?a <http://www.w3.org/2000/01/rdf-schema#label> "Titanic"@en } LIMIT 100
Java でウィキデータにクエリを実行するには、Jenaを使用できます。これにより、SPARQL クエリとエンドポイントを使用してデータにアクセスできるようになります。
私の知る限り、http を使用してウィキデータにアクセスすることもできますが、SPARQL を使用するといくつかの利点があります。私が知っている他に 2 つの大きなデータベースがあり、どちらも SPARQL エンドポイントを備えています。したがって、他の 2 つのデータベースにアクセスするようにエンドポイントを変更するのは非常に簡単です。また、あるデータベースに別のデータベースへの参照が含まれている可能性もあります。これをたどって、より多くのデータを収集できます。
あなたは代替案も求めたので、私が言及した2つのデータベースは
DBpedia ( SPARQL-Endpoint ) とYago ( SPARQL-endpoint ) です。どちらもウィキペディアを使用して事実を抽出しているため、膨大な量になります。また、Yago は WordNet を使用して、データの分類に使用できる優れた分類法を構築します。一方、DBpedia には、使用できる他のサイトへの参照がたくさんあります。