.net用の優れたRDFライブラリとは何ですか? [閉まっている]
-
04-07-2019 - |
解決
ROWLEX は実際には非常にクールです( SemWeb (内部)。これは単なるブラウザアプリではなく、C#で記述されたSDKです。 ROWLEXを使用する場合、RDFのトリプルと直接対話することはできませんが(可能ですが)、オブジェクト指向のルックアンドフィールを提供します。 2つの主な使用シナリオがあります。
- 最初にビジネスクラス: .NETビジネスクラスがあります。 XMLシリアル化属性の場合と同様に、クラスに宣言的に属性を追加します。この後、ROWLEXはビジネスクラスに対応するオントロジーを抽出したり、ビジネスオブジェクトをRDFにシリアル化したりできます。
- オントロジーが最初:オントロジーがあり、 ROWLEX が生成しますRDFドキュメントの構築/閲覧に使用できる.NETクラス。すばらしいことは、これらの自動生成されたクラスが、コード生成プログラムの典型的な結果よりもはるかに優れていることです。暗黙的および明示的なキャスト演算子を提供して継承グラフ全体をカバーすることにより、OWLの多重継承機能を快適に使用および模倣できます。
一般的な使用法は、オントロジーの最初のアプローチです。たとえば、オントロジーが次の多重継承シナリオを記述しているとしましょう:
Car isSubClassOf Vehicle
Car isSubClassOf CompanyAsset
ROWLEXを使用すると、Car、Vehicle、およびCompanyAssetの.NETクラスを取得できます。次のC#コードは問題なくコンパイルされます。
RdfDocument rdfDoc = new RdfDocument();
Car car = new Car("myCarUri", rdfDoc);
Vehicle vehicle = car; // implicit casting
CompanyAsset companyAsset = car; // implicit casting
vehicle.WheelCount = 4;
companyAsset.MonetaryValue = 15000;
Console.WriteLine(rdfDoc.ToN3());
これは次のように印刷されます。
myCarUri typeOf Car
myCarUri WheelCount 4
myCarUri MonetaryValue 15000
「車」ビジネスオブジェクトは、RdfDocument内でトリプルとして表されます。自動生成されたC#/ VBクラスはビューとして動作します。同じビジネスオブジェクト上に、完全に異なるタイプの複数のC#ビューを持つことができます。これらのビューを操作するとき、実際にRdfDocumentを変更します。
他のヒント
BrightstarDBは、SPARQLサポート、LINQおよびODataサポートを備えた.NETエンティティフレームワークを備えた、ネイティブの.NET NoSQL RDFトリプルストアです。開発者とオープンソースプロジェクトは無料で、商用利用のランタイム費用はわずかです。
BrightstarDBは3つのレベルのAPIを提供します。
- SPARQLクエリと単純なトランザクションAPI。
- トリプルのコレクションをデータオブジェクトにグループ化する汎用オブジェクトAPI
- インターフェイス定義を取得し、BrightstarDBインスタンスにRDFとしてデータを保存する厳密に型指定された.NETドメインモデルを生成するVisual Studio統合。 .NETモデルはLINQをサポートしており、ODataサービスとして公開することもできます。
すべてのBrightstarDBドキュメントはオンラインであり、ソフトウェアは http://www.brightstardb.com で登録なしでダウンロードできます
私はオープンソースライブラリを作成しています dotNetRDF -OWLサポートは現在多少制限されていますが、あなたには理想的ではないかもしれません使用
私はこれをほんの数か月前に調査しました。より興味深いものの一つ 私が見つけることができたプロジェクトは次のとおりです。 http://www.hookedonlinq.com/linqtordf.ashx
Codeplexで RDFSharp をお試しください。若そうだが有望だ。