2012-03-19 50 views
2

我自動從rdf文件生成java類(使用schemagen/jena)。該類只包含常數,即形式如何繞過「代碼太大」的錯誤(Java)?

public static final Resource foo = m_model.createResource("http://example.com/foo"); 

生成的Java類的大小930 KB的報表,因此它不會編譯。任何想法如何規避這個問題?我只能使用rdf文件的一部分作爲輸入,但使用整個文件會很方便。

+1

您是否可以不打破課程並生成一組具有邏輯分組子項的類? – Nim 2012-03-19 10:33:19

+0

你的詞彙/本體真的很大嗎?多少班?多少物業? – castagna 2012-03-19 19:44:51

+0

這是一個與skos建模的詞庫。所以這些都是個人。 – 2012-03-20 00:50:32

回答

1

有了這麼多的常量,你就不會全部使用它們,所以你不可能真的需要生成所有的類。

您遇到的限制是類文件格式所固有的。如果你要繼續生成類,你別無選擇,只能將常量分成多個類。

不過我建議你生成你的程序可以讀取文本文件:

  • 這可能是屬性的格式,這樣就可以將其加載到Properties對象。

  • 它可能是SQL,因此您可以將其批量插入到數據庫表中。

  • 它可以是任意數量的其他格式......包括RDF序列化之一。

+0

你說得對,我只需要其中的幾個。但編程時通過自動完成訪問這些常量非常方便。當rdf文件改變時,新的uri會自動反映到java類中。 – 2012-03-19 11:43:49

+0

@EmanResu - 是啊......也許你應該爲你的代碼依賴的RDF文件「條目」生成常量,並放棄自動完成的便利。正如我所說的,您遇到的限制是硬連接到文件格式和JVM /編譯器工具鏈。 – 2012-03-19 22:34:22

+0

@EmanResu - 認爲......生成文件中的註釋的數量/大小沒有限制。您無法自動完成評論,但IDE文本搜索將起作用。 – 2012-03-19 22:35:52