我想用RDF清點我的葡萄酒收藏,但不知道如何指定葡萄酒可以包含幾個葡萄品種的百分比。下面是使用rdf:bag在Turtle語法中做的一個嘗試。什麼樣的RDF模式可以用來表示組件以及它們組成的百分比?
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix vin: <http://example.org/wine#> .
<http://example.org/wine/id#1001>
a <http://example.org/wine/ns#red> ;
vin:name "Quilceda Creek CVR" ;
vin:vintage "2014"^^xsd:gYear ;
vin:winery "Quilceda Creek"@en ;
vin:alcoholContent "0.15"^^xsd:decimal ;
vin:agedIn "French Oak"@en ;
vin:varietals rdf:_1, rdf:_2, rdf:_3, rdf:_4, [
a rdf:Bag ;
rdf:_1 "Cabernet Sauvignon"@en ;
rdf:_1 "0.76"^^xsd:decimal ;
rdf:_2 "Merlot"@en ;
rdf:_2 "0.20"^^xsd:decimal ;
rdf:_3 "Petit Verdot"@en ;
rdf:_3 "0.03"^^xsd:decimal ;
rdf:_4 "Malbec"@en ;
rdf:_4 "0.01"^^xsd:decimal ;
] .
當我將它轉換爲XML/RDF時,百分比的三元組被丟棄。這讓我覺得你不應該/不能多次使用袋子項目謂詞(例如rdf:_1)。
我也考慮過製作一袋袋子,每袋裝一個包含名稱和百分比的品種。這將涉及創建更多的空白節點,這對我來說似乎不正確。最終,我希望能夠檢索到所有含有特定品種至少一定百分比的葡萄酒。我不確定如果品種名稱和百分比對沒有定義的關係,而不是定義在同一個包中,是否能夠。
我是新來的,但有一種感覺,我需要看看RDF Schema和本體的這個問題。也就是說,我也不想跳槽,直到我完全明白爲什麼我需要。
如果可能,RDF如何用來表示葡萄酒具有不同品種的某些百分比?
您必須爲袋子中的每個物品使用空白節點或URI,然後才能將相應信息附加到物品上。 'rdf:_1 vin:entry1'和'vin:entry1 rdfs:label「Cabernet Sauvignon」@en; vin:grapePortion「0.76」^^ xsd:decimal .' – AKSW
這個效果很好。我做了一個額外的修改,就是用'rdf:Seq'替換'rdf:Bag',這樣輸入的數據就會從最大到最小的百分比排列。 – Kelly