C # DotNetRDF Парсинг - PullRequest
       53

C # DotNetRDF Парсинг

0 голосов
/ 06 мая 2019

Просмотр библиотеки DotNetRDF для анализа файла схемы RDF, после чего я собираюсь отобразить проанализированные сущности на классы.Однако я не знаю, как получить доступ к конкретным объектам, чтобы отобразить их на модели.Ниже приведен пример файла схемы RDF:

  <rdf:Description rdf:about="#ACLineSegment">
    <rdfs:subClassOf rdf:resource="#Conductor"/>
    <cims:belongsToCategory rdf:resource="#Package_Wires"/>
    <cims:stereotype rdf:resource="http://langdale.com.au/2005/UML#concrete"/>
    <rdfs:comment>A wire or combination of wires, with consistent electrical characteristics, building a single electrical system, used to carry alternating current between points in the power system.</rdfs:comment>
    <rdfs:label>ACLineSegment</rdfs:label>
    <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  </rdf:Description>
  <rdf:Description rdf:about="#WireArrangement.ConductorInfo">
    <cims:stereotype rdf:resource="http://langdale.com.au/2005/UML#byreference"/>
    <rdfs:comment>Conductor data this wire arrangement belongs to.</rdfs:comment>
    <rdfs:label>ConductorInfo</rdfs:label>
    <rdfs:range rdf:resource="#ConductorInfo"/>
    <rdfs:domain rdf:resource="#WireArrangement"/>
    <cims:multiplicity rdf:resource="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#M:1"/>
    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
  </rdf:Description>

Пока мне удалось сделать это только:

        ConsoleUserInput cui = new ConsoleUserInput();
        string loc = cui.GetUserInput();

        //Create a Handler and use it for parsing
        CountHandler handler = new CountHandler();
        RdfXmlParser parser = new RdfXmlParser();
        parser.Load(handler, loc+"/rdfs.xml");

        //Print the resulting count
        Console.WriteLine(handler.Count + " Entity(s)");

        IGraph g = new Graph();
        FileLoader.Load(g, loc + "/rdfs.xml");
        //Assuming we have some Graph g find all the URI Nodes
        foreach (INode u in g.Nodes)
        {
            //Write the URI to the Console
            Console.WriteLine(u.ToString());
        }

Итак, мой вопрос, как бы яНапример, получить доступ ко всему, что мне нужно из сущности ACLineSegment из файла?Такие вещи, как имя, а также свойства subClassOf, assignToCategory, комментария, метки и т. Д. *

...