Linked Data に変換し、集計データに対してクエリを実行する必要がある 4 つの異なる MySQL データベースがあります。D2RQ マップを個別に生成し、手動で 1 つのファイルにまとめてコピーしました。マップのカスタマイズに関するいくつかの資料を読みましたが、私の場合は次の理由でそうするのが難しいと感じています:
- オントロジー クラスはテーブル名に対応しません。実際、ほとんどのクラスは列ヘッダーです。
- Protege で結合されたマッピングを開くと、3 つのクラス (ClassMap、Database、および PropertyBridge) のみが生成され、すべての列ヘッダーがこれらのインスタンスとして一覧表示されます。
- このファイルをオントロジーにインポートすると、すべてが注釈になります。
これらのデータベースを私のオントロジーにマッピングすることによって形成される単一のグラフを生成する効率的な方法を提案してください。
ここに例があります。EEM オントロジーを使用して、D2RQ によって生成されたマッピング ファイルを改良しています。これは、マッピング ファイルのセクションです。
map:scan_event_scanDate a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:scan_event;
d2rq:property vocab:scan_event_scanDate;
d2rq:propertyDefinitionLabel "scan_event scanDate";
d2rq:column "scan_event.scanDate";
# Manually added
d2rq:datatype xsd:int;
.
map:scan_event_scanTime a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:scan_event;
d2rq:property vocab:scan_event_scanTime;
d2rq:propertyDefinitionLabel "scan_event scanTime";
d2rq:column "scan_event.scanTime";
# Manually added
d2rq:datatype xsd:time;
私が興味を持っているオントロジーには、次のものがあります。
Data property: eventOccurredAt
Domain: EPCISevent
Range: datetime
では、日付と時刻が 2 つの異なる関係になるように、マッピング ファイルをどのように変更すればよいでしょうか。