2016-04-12 20 views
0

Ich möchte RDF-Datei in XML konvertieren.RDF zu XML-Transformation

Beispiel:

aml:length aml:hasDataType "xs:double" ; 
     aml:hasValue  "35"^^xsd:double ; 
     rdf:type   aml:Attribute ; 
     schema:name  "length" . 

Ich möchte diese in zu XML umgewandelt werden:

<Attribute Name="length" DataType="xs:double"> 
       <Value>35</Value> 
      </Attribute> 

ich habe die Ontologie-Datei, die ich zu beschreiben verwenden können, um während der rdf zu lesen und es dann verwenden, um konstruiere das RDF.

Meine Frage ist, was ist der beste Ansatz, um in XML zu konvertieren. Ich benutze Apache jena, um die RDF zu verarbeiten. So ist mein RDF in jedem Format verfügbar.

1- XML-Stylesheet zum Konvertieren in XML verwenden.

2- Lesen Sie das rdf triple nach triple, beschreiben/fragen Abfrage auf Ontologie und versuchen Sie dann, XML-Tags zu konstruieren.

Vielen Dank für Ihre Hilfe.

+0

RDF hat ein Serialisierungsformat (auf das Sie nicht wirklich viel Kontrolle haben) RDF/XML aufrufen. Wenn Sie die volle Kontrolle über das Ausgabeformat haben und Jena verwenden möchten, ist es am einfachsten, eine Lib zum Erstellen von XML-Dokumenten zu verwenden (eine, die Sie kennen) und Methoden für die jena Model-Klasse zu verwenden. Methoden wie listStatements können hier helfen. –

Antwort

0

Der einfachste Weg ist wahrscheinlich die RDF zu RDF/XML mit Klasse/Eigenschaftsnamen als XML-Elemente zu transformieren, die Sie

<aml:Attribute> 
    <aml:hasDataType>xs:double</aml:hasDataType> 
    <aml:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#double">35</aml:hasValue> 
    <schema:name>length</schema:name> 
</aml:Attribute> 

Dann geben würden Sie dies mit XSLT-Transformation können die Namensräume zu entfernen, umbenennen/entfernen/atrributieren Elemente.

Stellen Sie sicher, dass Sie nicht die <rdf:Description> Variante von RDF/XML verwenden. Insbesondere, wenn Sie mehrere rdf:type für eine Klasse haben, wird dies brechen. Aber für einfache Fälle ist RDF/XML + XSLT für RDF-> XML nett, weil es deklarative Syntax verwendet und weitgehend verstanden wird.

+0

Ich habe noch nie XSLT verwendet. Kannst du mir einen Link geben, wo ich über das Bearbeiten durch XSLT lesen kann. –

+0

Google 'rdf2xml xslt' und ähnlich. Durchsuchen Sie Github nach XSLT-Dateien mit rdf in ihnen. Es gibt auch Fragen zu SO für rdf + xml + xslt. – kba