我現在在學習RDFa Lite之後,現在自學RDFa Core 1.1。直接點,我不明白兩件事:property
和rel
之間的差異,以及resource
和about
之間的差異。在RDFa中,property =「」&rel =「」和resource =「」&about =「」之間的區別?
請比規範更簡單地給我解釋一下:)
我現在在學習RDFa Lite之後,現在自學RDFa Core 1.1。直接點,我不明白兩件事:property
和rel
之間的差異,以及resource
和about
之間的差異。在RDFa中,property =「」&rel =「」和resource =「」&about =「」之間的區別?
請比規範更簡單地給我解釋一下:)
我個人建議忽視/避免使用rel和一下,他們是不是真的有必要,如果你按照經驗法則來寫RDFa的你不應該試圖通過在給定的HTML元素中填充儘可能多的屬性來實現太聰明。出於向後兼容性的原因。然而,來自1.1的其他屬性值得學習:內容和數據類型。
由於這些原因,斯蒂芬的建議基本符合RDF Lite 1.1,其中不包括@rel
或@about
。
另一個很好的經驗法則是不要嘗試在給定元素上包含多個實體的標記,這通常是指定圖像許可證的示例。
@property
和@rel
兩者非常相似,但在RDFa 1.0中有不同的用途,但這是令人困惑的,即使是專家也是如此。 (以前,@rel
用於指定其他節點的對象,@property
用於指定文字值。雖然還有一些差異,但堅持非巧妙的標記,您可以使用@property
完成所有工作,您可以使用@rel
。
同樣,@about
可避免只使用@resource
。不同的是,@about
設置當前主題和@resource
當前對象,但對於子節點parent object
(從父母的current object
拍攝成爲current subject
。有另一有關@typeof
存在的細微差異,但如果您只使用@resource
,它幾乎做你想要的。
從RDFa的精簡版1.1總結最佳實踐,您還可以檢查出RDFa 1.1 Primer:
@vocab
,@prefix
,@property
,@resource
和@typeof
property
與rel
:
這兩個屬性均表示三元組的例如謂詞。 rel="http://purl.org/dc/terms/creator
,這是謂詞... has as a creator: ...
。
區別在於,他們從哪裏拿到他們的對象。稍微簡化一下,property
的規則是:該對象被拍攝...
content
屬性
datatype
attr爲存在於來自有效resource
屬性標籤:),或者,如果這不存在於標籤,datatype
attr爲存在於來自有效href
屬性標籤:),或者如果這是不存在於標籤,datatype
attr爲存在於從標籤:)一個有效的src
屬性,或者,如果這不在標籤中,略微簡化的,rel
不同在兩個方面:
resource
或href
或src
屬性。typeof
(參見2)一起使用,則property
可以誘發鏈接。about
resource
VS:
about
是指示受試者的三重的的屬性。 resource
的規則更加複雜:它可能表示一個主題或一個對象,並且鏈接也在這裏起作用。鏈接是RDFa中最複雜和最混亂的部分(並且不會給你比語法糖更多的東西)。我會避免鏈接。這可以通過避免屬性rel
,rev
,resource
和typeof
來實現,這會同時帶來一些進一步的簡化。因此,我只使用以下屬性:
about
爲受試者property
爲謂詞content
或href
或src
(或元件的內含量)爲對象,遵循上述規則lang
針對對象文字的語言標記,例如lang="en"
datatype
用於對象常量prefix
(但僅在文檔中一次),這樣我可以通過前綴縮寫網址,例如一個數據類型標籤property="dc:creator"
vocab
(在文檔中很少和最多一次),以便我可以隱式地縮寫URL,例如, property="creator"
。(我使用標籤<base href="...">
指示文檔的URL基值)。
這是一個嚴謹,安全,易於使用和易於解析的RDFa的子集,允許表達你想要的任何三元組。
感謝您的信息,但:「雖然還有一些差異......」&「還有一些細微的區別...」;你能否詳細說明一下? –
主要區別在於\ @property有或沒有\ @rel的行爲。如果沒有\ @rel,則可以將\ @property用於資源或文字。在1.0 \ @屬性只適用於文字。如果存在\ @about和@typeof,也有不同之處,主要是爲了滿足開發人員的期望。有些差異記錄在[規範]中(http://www.w3.org/TR/rdfa-syntax/#major-differences-with-rdfa-syntax-1.0)。主要建議是避免在單個元素上混合標記。有關建議的模式,請參見[RDFa Lite](http://www.w3.org/TR/rdfa-lite/)。 –