2016-08-09 165 views
-1

Ich bin neu im semantischen Web-Thema, und ich erstellt eine Ontologie, die ich brauche, um eine Website zu entwickeln, die die Ontologie lesen und die Informationen aus der OWL-Datei extrahieren kann und zeige es in der Website Ich habe einige Forschung darüber, welche Bibliothek ich verwenden muss, So fand ich, dass RDFdotnet in der besten Bibliothek muss ich es für das Lesen der Eulen-Datei verwenden auch ich fand einen Code, aber ich brauche einige erklären oder hilf mir mit diesem Code zum Lesen meiner Eulen-Datei. Ich möchte Dropdown-Liste und Button bitte jeden Vorschlag verwenden ???Vorschlag über das Lesen von RDF mit C# und asp.net

Dies ist der Code

//Define your Graph here - it may be better to use a QueryableGraph if you plan 
//on making lots of Queries against this Graph as that is marginally more performant 
IGraph g = new Graph(); 

//Load some data into your Graph using the LoadFromFile() extension method 
g.LoadFromFile("myfile.rdf"); 

//Use the extension method ExecuteQuery() to make the query against the Graph 
try 
{ 
    Object results = g.ExecuteQuery("SELECT * WHERE { ?s a ?type }"); 
    if (results is SparqlResultSet) 
    { 
    //SELECT/ASK queries give a SparqlResultSet 
    SparqlResultSet rset = (SparqlResultSet)results; 
    foreach (SparqlResult r in rset) 
    { 
     //Do whatever you want with each Result 
    } 
    } 
    else if (results is IGraph) 
    { 
    //CONSTRUCT/DESCRIBE queries give a IGraph 
    IGraph resGraph = (IGraph)results; 
    foreach (Triple t in resGraph.Triples) 
    { 
     //Do whatever you want with each Triple 
    } 
    } 
    else 
    { 
    //If you don't get a SparqlResutlSet or IGraph something went wrong 
    //but didn't throw an exception so you should handle it here 
    Console.WriteLine("ERROR"); 
    } 
} 
catch (RdfQueryException queryEx) 
{ 
    //There was an error executing the query so handle it here 
    Console.WriteLine(queryEx.Message); 
} 

Antwort

3

Für Ihre ASP.NET-Anwendung werden Sie wahrscheinlich ein abstraktes Modell als das RDF Graph müssen, dass dotNetRDF produziert. Wenn Sie die OWL-Datei analysieren, erhalten Sie ein Diagramm, das eine Sammlung von Tripeln enthält, aber für Ihre Anwendung möchten Sie wahrscheinlich etwas mehr wie eine Liste oder ein Wörterbuch von Objekten, die die Bits der Ontologie repräsentieren, die Sie anzeigen.

In der dotNetRDF-API gibt es verschiedene Methoden zum Lesen von Tripeln aus dem Graphen und Sie können diese verwenden, um die OWL-Klassen und ihre Eigenschaften zu finden. Weitere Informationen zum Arbeiten mit der IGraph-Schnittstelle finden Sie unter https://bitbucket.org/dotnetrdf/dotnetrdf/wiki/UserGuide/Working%20with%20Graphs. Alternativ können Sie mit SPARQL-Abfragen Informationen aus dem Diagramm extrahieren (siehe https://bitbucket.org/dotnetrdf/dotnetrdf/wiki/UserGuide/Querying%20with%20SPARQL).

Zusammenfassend bietet dotNetRDF die Werkzeuge, um Ihre OWL-Datei in ein Diagramm zu zerlegen und dann um dieses Diagramm herum zu suchen oder zu navigieren, um daraus Informationen zu extrahieren. Von da an denke ich, dass es ganz Ihnen überlassen ist, wie Sie das Modell für Ihre Anwendung genau strukturieren - basierend auf Ihren Anwendungsanforderungen.