#!/ usr / bin / env Ġk script Ċ Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ import Ġjavax . xml . namespace . QName Ċ import Ġjavax . xml . stream . XML Input Factory Ċ import Ġjavax . xml . stream . XML Stream Constants Ċ import Ġjavax . xml . stream . XML StreamReader Ċ import Ġkotlin . system . exit Process Ċ Ċ if Ġ( args . isEmpty ()) Ġ{ ĊĠĠĠ ĠSystem . err . println (" ERROR : ĠNo ĠRDF Ġfile Ġprovided .") ĊĠĠĠ Ġexit Process ( 1 ) Ċ } Ċ Ċ val Ġnamespaces Ġ= Ġmutable Map Of < String , ĠString >() Ċ Ċ val Ġinput Ġ= ĠFile ( args [ 0 ]) Ċ Ċ val Ġreader : ĠXML StreamReader Ġ= ĊĠĠĠ ĠXML Input Factory . newInstance () ĊĠĠĠĠĠĠĠ Ġ. create XML StreamReader ( FileInputStream ( input )) Ċ Ċ while Ġ( reader . hasNext ()) Ġ{ ĊĠĠĠ Ġif Ġ( reader . next () Ġ== ĠXML Stream Constants . START _ ELEMENT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġq Name Ġ= Ġreader . name ĊĠĠĠĠĠĠĠ Ġif Ġ( q Name ?. prefix . is Ne ither Null Nor Empty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespaces [ q Name . prefix ] Ġ= Ġq Name . namespace URI ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġcy pher Statement Ġ= Ġbuild String Ġ{ ĊĠĠĠ Ġappend (" CREATE Ġ(: Namespace Prefix Definition Ġ") ĊĠĠĠ Ġappend ( ĊĠĠĠĠĠĠĠ Ġnamespaces . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"` ${ it . value }` : Ġ'${ it . key } '" ĊĠĠĠĠĠĠĠ Ġ}. join ToString ( separator Ġ= Ġ", Ġ", Ġprefix Ġ= Ġ"{ ", Ġpostfix Ġ= Ġ" }") ĊĠĠĠ Ġ) ĊĠĠĠ Ġappend (" )") Ċ } Ċ Ċ println ( cy pher Statement ) Ċ Ċ // ĠEnd Ġof Ġscript . ĠHelper Ġfunctions Ġfollow . Ċ Ċ fun ĠString ?. is Ne ither Null Nor Empty () Ġ= ĊĠĠĠ Ġthis Ġ!= Ġnull Ġ// && Ġthis Ġ!= Ġ"" Ċ