2012-08-29 16 views
4

這是我如何知道創造N3類:是否有在N3 /龜本體語言創建類的捷徑

:Person a rdfs:Class. 

這裏是如何指定一個特定的ressource是一個實例該類:

:Pat a :Person. 

問題:我想創建一個類20000多個實例(程序生成)。爲我的20000個實例編寫整個:Pat a :Person.使本體文件變得冗長。

問題:有沒有辦法使文件變小?

回答

2

可以定義爲完整的類URI的自定義前綴,那麼就使用前綴來引用類:

@prefix : <http://example.com/myOntology#>. 
@prefix x: <http://example.com/myOntology#MyClass>. 

:Alice a x: . 
:Bob a x: . 
:Charlie a x: . 

如此,因爲它會得到不完全可讀,但短。

我同意安託萬的觀點,這種欺騙是沒有意義的。磁盤空間很便宜,而且這些東西壓縮網絡傳輸很好,並且在應用程序中進行處理,它將被擴展。

+0

非常感謝這些答案。我喜歡前綴建議。我是否需要明確聲明「:Alice a x:。」如果愛麗絲涉及到一些關係?更確切地說,假設我有「x:Alice:hasSibling x:Bob」。這是否暗示Alice和Bob是x? – user14750

+0

關於爲什麼我問這個問題的評論。我非常喜歡圍繞語義網的工作,並相信它具有巨大的潛力,但未能提供使觀衆接受度更高的簡單性(可能是HTML在其時代被廣泛採用的方式)。所以,我正在調查可用的符號快捷方式。 現在,顯然20K的實例很難用「簡單」的方式來描述。但是,我的本體論有望被許多人閱讀和使用,我想用人類可讀的方式編寫它。 – user14750

+1

您的問題的簡短答案是:您需要明確輸入內容(除非您認爲數據的每個用戶都有支持推理的工具包,但通常情況並非如此)。不,「x:Alice:hasSibling x:Bob」並不意味着Alice和Bob是「x:」。 – cygri

6

如果你真的使用N3,而不是龜(我懷疑),你可以使用@is ... @of關鍵字,像這樣:

:Person a rdfs:Class; 
    @is a @of :Pat, :Bob, :Chris, :Cindy, :Suzy . 

幾乎不存在龜工具包,允許這一點。

[email protected] Mail Archives上還有一個關於將此功能添加到Turtle(由W3C當前發佈爲最後調用工作草案)的長論壇,從comment by Tim Berners-Lee開始。然後去了一個comment by Dave Beckett要求不是包括該功能,並再次長線程。然後在當前的RDF工作組中對海龜規範的編輯comment by Gavin Carothers做了一個很好的總結。

但是,我懷疑這將成爲龜最終標準化的一個特點。

順便說一句,當它以編程方式生成(我猜,解析)所有20,000記錄的問題是什麼?如果你需要通過網絡交換這麼多的數據,你可以很容易地壓縮它。或者,您可以使用緊湊的序列化語法,如HDT,但實現方式很少。

相關問題