The DSECollection contains a human-readable label, and list of DSETriples, and is identified by Cite2Urn. You can construct one manually, as in this example.
usingCitablePhysicalTextusingCitableObjectusingCitableTextdseurn =Cite2Urn("urn:cite2:hmt:dse.v1:msBil4")dselabel ="Collection of DSE records for Venetus A text of Proclus, Chrestomathy"triplelines ="""urn:cts:greekLit:tlg4036.tlg023.va:Homer.title|urn:cite2:hmt:vaimg.2017a:VA001RN_0002@0.1580,0.1633,0.4740,0.05302|urn:cite2:hmt:msA.v1:1rurn:cts:greekLit:tlg4036.tlg023.va:Homer.1|urn:cite2:hmt:vaimg.2017a:VA001RN_0002@0.1335,0.2054,0.4637,0.04139|urn:cite2:hmt:msA.v1:1rurn:cts:greekLit:tlg4036.tlg023.va:Homer.2|urn:cite2:hmt:vaimg.2017a:VA001RN_0002@0.1553,0.2292,0.4508,0.04678|urn:cite2:hmt:msA.v1:1rurn:cts:greekLit:tlg4036.tlg023.va:Homer.3|urn:cite2:hmt:vaimg.2017a:VA001RN_0002@0.1449,0.2620,0.4641,0.05869|urn:cite2:hmt:msA.v1:1r"""triplelist =triples(triplelines)coll =DSECollection(dseurn, dselabel, triplelist)
urn:cite2:hmt:dse.v1:msBil4 Collection of DSE records for Venetus A text of Proclus, Chrestomathy
Alternatively, you can construct a DSECollection directly from a CEX source (as illustrated below, and on the following page).
A citable object
The DSECollection is a citable object, and therefore fufills traits for citation, comparison using URN logic, and CEX serialization, as you can verify with these functions from CitableBase.
usingCitableBasecitable(coll)
true
urncomparable(coll)
true
cexserializable(coll)
true
Citation
You can therefore apply the urn and label functions of CitableBase to it.
urn(coll)
urn:cite2:hmt:dse.v1:msBil4
label(coll)
"Collection of DSE records for Venetus A text of Proclus, Chrestomathy"
URN comparison
DSECollections can be compared using URN logic.
dupe = collurnequals(coll, dupe)
true
Since a DSECollection should be uniquely identified, however, it is more likely that you’ll want to compare a URN to the DSECollection’s URN.
common =dropobject(dseurn)urncontains(common, urn(coll))
true
urnsimilar(common, urn(coll))
true
CEX serialization
collcex =cex(coll)
"#!datamodels\nCollection|Model|Label|Description\nurn:cite2:hmt:dse.v1:msBil4|urn:cite2:cite:datamodels.v1:dsemodel|Passage of text in a digital scholarly edition|Relations of text, manuscript page and documentary image for all edited texts\n\n#!citerelationset\nurn|urn:cite2" ⋯ 393 bytes ⋯ "\nurn:cts:greekLit:tlg4036.tlg023.va:Homer.2|urn:cite2:hmt:vaimg.2017a:VA001RN_0002@0.1553,0.2292,0.4508,0.04678|urn:cite2:hmt:msA.v1:1r\nurn:cts:greekLit:tlg4036.tlg023.va:Homer.3|urn:cite2:hmt:vaimg.2017a:VA001RN_0002@0.1449,0.2620,0.4641,0.05869|urn:cite2:hmt:msA.v1:1r"