/ / Jak odwzorować wykres RDF na docelowy schemat XML? - xml, jaxb, mapowanie, rdf, rdf-xml

Jak odwzorować wykres RDF na docelowy schemat XML? - xml, jaxb, mapping, rdf, rdf-xml

Biorąc pod uwagę wykres danych RDF i ontologię OWLopisując klasy i właściwości używane na tym wykresie danych, czy istnieje algorytm, narzędzie lub język mapowania, który może serializować te dane w dokumencie XML odpowiadającym docelowemu schematowi XML?

Myślę o adnotacjach podobnych do JAXB na klasach ontologii i właściwościach do kierowania serializacją XML.

Zwykle biorąc pod uwagę ten wykres

@prefix data: <http://exemple.fr/data/>
@prefix onto: <http://exemple.fr/ontology.owl#>

data:1 a onto:Work .
data:1 onto:type "book" .
data:1 onto:date "2017-01-01"^^xsd:date .
data:1 onto:has_expression data:2 .
data:2 a onto:Expression .
data:2 onto:language "fr" .

Chciałbym stworzyć XML podobny do następującego:

<Work URI="http://exemple.fr/data/1" date="2017-01-01">
<type>book</type>
<Expression URI="http://exemple.fr/data/2">
<lang>fr</lang>
</Expression>
</Work>

Zwróć uwagę, jak różni się to od oczekiwanej serializacji RDF / XML: atrybut niestandardowy przechowuje identyfikator URI zamiast rdf:about; niektóre właściwości są serializowane jako atrybuty XML, inne jako elementy XML; onto:has_expression nie jest serializowany; element "lang„jest używany zamiast”language".

Zauważ, że szukam mapowania „RDF2XML” i nie dla mapowania / konwersji XML2RDF lub mapowania „Object2RDF”.

Nic nie mogłem znaleźć. Przyjąłbym odpowiedź „Nie, czegoś takiego nie ma”, gdyby inni już tego szukali na próżno.

Odpowiedzi:

4 dla odpowiedzi № 1

Istnieje kilka opcji. Oczywiście, możesz po prostu użyć dowolnego języka programowania, dla którego istnieje parser RDF i biblioteka DOM i zbudować swoje drzewo XML w sposób ad hoc.

Ale najlepszym narzędziem, jakie przychodzi mi do głowy, jest XSPARQL, język, który rozszerza XQuery oSPARQL. Dzięki niemu powinieneś być w stanie łatwo odpytywać RDF i generować XML. Możesz także zrobić odwrotnie (użyj prymitywów XQuery do tworzenia zapytań XML i generowania trójek). XSPARQL był utrzymywany i rozszerzany do niedawna, ale wydaje mi się, że w ciągu ostatnich dwóch lat nic nowego się nie wydarzyło, o ile wiem.

Inną opcją jest Szablon SPARQL. Z pewnością jest mniej znany niż XSPARQL imoże nie być tak stabilny. Zasada działania szablonu SPARQL polega na tym, że odpytuje on dane RDF i używa wyników do wygenerowania dowolnego ciągu znaków. Możesz więc użyć go do konwersji RDF na dowolny format, o ile format ma pewną regularność.

Zauważ, że nie jestem w żaden sposób zaangażowany wrozwój tych dwóch technologii. Weź również pod uwagę, że są to głównie prace naukowców akademickich, co oznacza, że ​​nie są (jeszcze?) Na etapie produktów gotowych do przemysłu.