我正在製作一個java應用程序,它通過逐行讀取.ttl
文件並創建graphml
文件來表示本體。BufferedReader並枚舉Java中的多行
我在計算如何枚舉某個節時遇到了一些麻煩。
我使用BufferedReader
來讀取每一行。
例如,我有以下幾點:
else if (line.contains("owl:oneOf")){
// insert code to enumerate list contained in ()
}
這是.ttl是什麼樣子的oneOf:
owl:oneOf (GUIFlow:ExactlyOne
GUIFlow:OneOrMore
GUIFlow:ZeroOrMore
GUIFlow:ZeroOrOne)
我需要返回的4個對象作爲一個清單,被用作本體的圖形表示的一部分。
你會根據當前狀態解析行並解釋行內容,也就是說,如果你以前遇到過'owl:oneOf('你知道你有元素'owl:oneOf'和列表的開始,那麼接下來是列表元素,直到遇到相應的')'。 – Thomas
我建議不要從頭開始編寫Turtle解析器。有各種API已經允許解析,其中許多是開源的,所以你可以直接使用它們,或者擴展/重用代碼來適應你的應用程序。芝加哥和耶拿在大衛 - 索羅科的回答中提到,是兩個很好的起點。 – Ignazio