Question

Je recherche une bibliothèque capable de gérer les données RDF et OWL.

Jusqu'à présent, j'ai trouvé:

  • semweb (aucun support hibou pour tout ce que je sais)
  • rowlex (plus d'une application de "navigateur")

Vos recommandations:

Était-ce utile?

La solution

ROWLEX est en fait très cool (utilise SemWeb en interne). Ce n'est pas simplement une application de navigateur, mais plutôt un SDK écrit en C #. Si vous utilisez ROWLEX, vous n'interagissez plus directement avec les tripples de RDF (si vous le pouvez), mais vous donne une apparence orientée objet. Il existe deux scénarios d'utilisation principaux:

  1. Première classe d'entreprise: vos classes d'entreprise .NET. Vous ajoutez de manière déclarative des attributs à vos classes de la même manière que vous le faites avec des attributs de sérialisation XML. Ensuite, ROWLEX peut extraire l’ontologie correspondant à vos classes d’entreprise et / ou sérialiser vos objets d’entreprise dans RDF.
  2. Ontologie en premier: vos ontologies et ROWLEX sont générés. Des classes .NET que vous pouvez utiliser pour construire / parcourir des documents RDF. Le grand avantage est que ces classes générées automatiquement sont bien meilleures que les résultats typiques des générateurs de code. Ils sont à l'aise pour utiliser et imiter la fonctionnalité d'héritage multiple de OWL en fournissant des opérateurs de conversion implicites et explicites couvrant l'ensemble du graphe d'héritage.

L’utilisation typique est la première approche ontologique. Par exemple, supposons que votre ontologie décrit le scénario d'héritage multiple suivant:

  

Car isSubClassOf Vehicle

     

Car isSubClassOf CompanyAsset

À l’aide de ROWLEX, vous obtiendrez des classes .NET pour Car, Vehicle et CompanyAsset. Le code C # suivant sera compilé sans problème:

    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());

Ceci afficherait:

myCarUri typeOf Car 
myCarUri WheelCount 4 
myCarUri MonetaryValue 15000

La " voiture " L'objet métier est représenté dans le fichier RdfDocument sous forme de triples. Les classes C # / VB générées automatiquement se comportent comme des vues. Vous pouvez avoir plusieurs vues C #, chacune d'un type complètement différent, sur le même objet métier. Lorsque vous interagissez avec ces vues, vous modifiez réellement le document Rdf.

Autres conseils

BrightstarDB est un triple magasin natif .NET NoSQL RDF, avec prise en charge de SPARQL, un framework d’entités .NET avec prise en charge de LINQ et OData. Il est gratuit pour les développeurs et les projets open source et a un faible coût d’exécution pour une utilisation commerciale.

BrightstarDB fournit trois niveaux d’API.

  1. Requête SPARQL et API de transaction simple.
  2. Une API d'objet générique qui regroupe des collections de triples en objets de données
  3. Une intégration Visual Studio qui utilise les définitions d'interface et génère un modèle de domaine .NET fortement typé qui stocke ses données sous forme de fichier RDF dans une instance BrightstarDB. Le modèle .NET prend en charge LINQ et peut également être exposé en tant que service OData.

Toute la documentation BrightstarDB est en ligne et le logiciel est disponible au téléchargement sans inscription à http://www.brightstardb.com

Je produis une bibliothèque open source dotNetRDF - La prise en charge de OWL est actuellement quelque peu limitée, mais peut ne pas être idéale pour vos projets. utilise

Je me suis renseigné à ce sujet il y a quelques mois. L'un des plus intéressants Les projets que j'ai pu trouver sont: http://www.hookedonlinq.com/linqtordf.ashx

Essayez RDFSharp sur Codeplex. Cela semble jeune mais prometteur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top