入力XMLと出力OWL

昨日の日記のとおり、XMLからOWLを吐くプログラムを書いてみました。XMLは属性とかなしで、単純に階層を表現してるもの、出力するOWLはクラス階層のみで、プロパティや固体などはなし。

こんなXMLから (縦に長くなるから、第3階層は横に並べてます)

<?xml version="1.0" ?>
<ontology>
f:id:skelton_boy:20060803152715p:image<cocktail>
 <screwdriver/><gimlet/><florida/>  
</cocktail>
<juice>
 <grapefruit_juice/><lime_juice/><lemon_juice/><orange_juice/>
</juice>
<liqueur>
 <kahlua/><limoncello/>
</liqueur>
<spirits>
 <vodka/><gin/>
</spirits>
</ontology>

こういう感じのOWLを吐き出すと。下の画像はprotegeで作成したものです。