2010-09-01 56 views

回答

4

我不覺得有什麼在RDF數據模型,它允許你創建順序的URI。也許你可以看看RDF next steps,看看是否有東西來臨。最接近的事情可能是RDF列出我強烈不建議的,他們很難在應用程序級別處理。

我不會使用bNodes,因爲它們會以多種方式限制您的應用的能力。一旦創建對象,您將無法進一步鏈接對象。我總是儘可能避免創建bNode。

大多數時候都有可以用來創建URI的散列函數。舉例來說,如果你的應用程序處理唯一的用戶ID,那麼你可以這樣做:

user:msalvadores vocab:likes record:hashRecordId1 . 
user:significance vocab:likes record:hasRecordId2 . 

對於記錄,如果你有唯一的信息塊用它來生成URI或在最壞的情況下使用基於URI的時間戳。

這不是最聰明的解決方案,但它的工作原理。

+0

謝謝。所以如果我想添加一個順序編號的記錄,我想我必須先做一個計數查詢。 謝謝 – significance 2010-09-02 14:30:47

2

我不確定我是否正確理解了你所追求的內容。假設你要某種匿名資源爲主體user:n部分,你可以使用空白節點,如:

[] vocab:likes record:r123234 . 
[] vocab:likes record:r123234, record:r124534 . # this anon. user likes two records 
+1

@iaalto如果您創建空白節點,創建完成後將無法引用它們。一旦創建了空白節點,您就無法鏈接到空白節點,因爲您不知道它們的ID。 這是可能的解決辦法,但應該牢記這個問題。 – 2010-09-02 13:16:50

+2

@msalvadores:是的,當然。如果你想在Turtle中引用一個給定的空白節點,你可以像'_:user1'一樣明確地引用它,而不是讓Turtle分析器爲你生成空白ID。雖然,RDF處理器可以自由地重新映射空白ID,因爲他們認爲合適。一個空白的ID保證只在被處理文檔的範圍內引用相同的匿名資源。 – laalto 2010-09-02 18:36:27