2010-10-27 48 views
2

今年我和一位朋友不得不爲大學的最後一年製作一個項目。計劃是製作一個允許存儲本體和RDF的代理/服務器,通過這種方式,這些數據被「鏈接」到一個Web上,因此您可以向該Web發送請求,並且代理將向您發送包含元數據的主頁。python語義代理/服務器,使用哪個框架?

我們一直在考慮使用python和rdflib,而對於Web我們不知道哪個框架是最好的。我們想到了django,但我們認爲這對於我們的目標來說非常重要,並且我們認爲webpy或web2py是更好的選擇。

我們沒有任何python編碼經驗,這將是我們第一次。我們一直使用C++和java進行編程。

因此,考慮到我們提到的所有問題,我們的問題是,這將是我們項目的最佳Web框架? rdflib會適合這個框架嗎?

謝謝:)

回答

3

我已經開發出多種Web應用程序與Python framworks消費RDF數據。選擇總是取決於所需的性能以及您必須處理的數據量。

如果你要處理的三元組的數量在幾千的數量級上,那麼你可以很容易地把一個框架與RDFlib + Django放在一起。我已經將這個選擇用於玩具應用程序,但是一旦你必須處理大量數據,你會意識到它並不會擴展。不是因爲Django,主要問題是RDFlib實現了三重商店 - 這不是很好。

如果您對C/C++很熟悉,我建議您看看Redland libraries。它們是用C語言編寫的,並且你有Python綁定,所以你仍然可以用Django開發你的Web層,並用Python提取RDF數據。我們這樣做很多,通常是有效的。這個選項會擴大一點,但不會很好。

萬一你的數據增長到數百萬倍,那麼我建議你去一個可伸縮的三重商店。您可以通過SPARQL和HTTP訪問它們。我的選擇永遠是4store。在這裏你有一個Python客戶端發出查詢並聲明/刪除數據4store Python Client