我有簡單的RDF數據集,具有以下值:用戶,網址,時間和IP。我可以列出所有的數據使用:獲取具有特定屬性的所有數據SPARQL
SELECT DISTINCT * WHERE { ?s ?p ?o }
但現在我需要列出所有的數據與特定的用戶。如果來自查詢的數據與來自上面的查詢的數據格式相同但我們不需要,我將非常感激。
我想這和一些修改,這一點,但它沒有一個似乎工作:
SELECT DISTINCT * WHERE { ?s ?p ?o. ?u foaf:user username. }
我剛開始與耶拿和SPARQL和任何幫助的工作將非常感激。提前致謝。
編輯:@AKSW foaf:user
工作,因爲foaf
是我自己的前綴我定義。我努力使查詢工作,並不知道我在做什麼。這是我還沒有清理的東西。
我最終使用查詢SELECT DISTINCT * WHERE {?u foaf:name USER_NAME_LITERAL . ?u ?p ?o . }
這是你建議的,所以謝謝。如果您將其作爲回答發佈,我會將其標記爲已接受。
RDF中的資源由URI標識,因此您的用戶也是。 'SELECT DISTINCT * WHERE {?p?o}'。 –
AKSW
SPARQL查詢重新使用變量名稱,以便它們連接三重模式,並且一般會構建一個圖形。您的第二個查詢由兩個未連接的三元模式組成。 – AKSW
不知道'foaf:user'應該是什麼,但是在FOAF中沒有這樣的屬性。 'foaf:name'是一個常見的屬性:http://xmlns.com/foaf/spec/ – AKSW