Экспорт в Jena: вложение элементов или добавление описания - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу экспортировать свою базу данных jena в файл, и когда я использую RDF / XML, я получаю объекты с rdf: Description.Когда я использую RDF / XML-ABBREV, я получаю свои объекты с правильным тегом, но они вложены.

dataset = TDBFactory.createDataset("C:\\Users\\PC\\Desktop\\db\\");
Model model = dataset.getDefaultModel();

outputPath ="C:\\Users\\PC\\Desktop\\file.xml";
writer = new FileWriter(outputPath);
model.write(writer, "RDF/XML-ABBREV");

Итак, кто-нибудь может сказать мне, как решить эту проблему ..

Iпробовал с this , но вот ответ:

Если я использую:

RDFDataMgr.write(System.out, model, RDFFormat.RDFXML_PRETTY);

, тогда он дает префиксы нормально, но объекты вложены:

<cim:VoltageLevel rdf:about="urn:uuid:0#_2ecd8d06-9088-4adc-8800-80d5e73c1b94">
 <cim:IdentifiedObject.name>Domžale 20kV</cim:IdentifiedObject.name>
 <cim:VoltageLevel.BaseVoltage>
  <cim:BaseVoltage rdf:about="urn:uuid:0#_5132f6db-1342-4f27-b701-2c446aba1590">
    <cim:IdentifiedObject.name>20kV</cim:IdentifiedObject.name>
    <cim:BaseVoltage.nominalVoltage>20000</cim:BaseVoltage.nominalVoltage>
  </cim:BaseVoltage>
</cim:VoltageLevel.BaseVoltage>
<cim:VoltageLevel.highVoltageLimit>22000</cim:VoltageLevel.highVoltageLimit>
<cim:VoltageLevel.lowVoltageLimit>18000</cim:VoltageLevel.lowVoltageLimit>
<cim:VoltageLevel.Substation>
  <cim:Substation rdf:about="urn:uuid:0#_dc3cd19e-3ea5-4f61-89db-656ee1b8684a">
    <cim:IdentifiedObject.name>RTP Domžale</cim:IdentifiedObject.name>
    <cim:Substation.Region rdf:resource="urn:uuid:0#_ee169401-9cef-417d-b01e-db2f9d3ce98b"/>
  </cim:Substation>
</cim:VoltageLevel.Substation>

Если я использую

model.write(System.out, "RDF/XML");

, я получаю объекты, как я хочу, но вместо описания я хочу, чтобы были правильные теги:

  <rdf:Description rdf:about="urn:uuid:0#_2ecd8d06-9088-4adc-8800-80d5e73c1b94">
<cim:IdentifiedObject.name>Domžale 20kV</cim:IdentifiedObject.name>
<rdf:type rdf:resource="http://iec.ch/TC57/2013/CIM-schema-cim16#VoltageLevel"/>
<cim:VoltageLevel.BaseVoltage rdf:resource="urn:uuid:0#_5132f6db-1342-4f27-b701-2c446aba1590"/>
<cim:VoltageLevel.highVoltageLimit>22000</cim:VoltageLevel.highVoltageLimit>
<cim:VoltageLevel.lowVoltageLimit>18000</cim:VoltageLevel.lowVoltageLimit>
 <cim:VoltageLevel.Substation rdf:resource="urn:uuid:0#_dc3cd19e-3ea5-4f61-89db-656ee1b8684a"/>
 </rdf:Description>
...