Skip to content

Commit 39a0f27

Browse files
committed
Added diagram source in plantuml format to make it easier to edit
1 parent bdcc277 commit 39a0f27

11 files changed

+439
-11
lines changed

Makefile

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
md:
2-
node make-profile.js ; pandoc profile/profile.md -o profile/test.html
2+
plantuml profile/media/*.puml -tsvg
3+
node make-profile.js
4+
pandoc profile/profile.md -o profile/test.html

profile-text/profile.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ The structural elements of a Language Data Commons RO-Crate are:
6666

6767
- A Collection / Object hierarchy to allow language data to be
6868
grouped - for example a corpus with sub-corpora, or collections of
69-
items (objects) from a particualr region.
69+
items (objects) from a particular region.
7070

7171
- Dataset and File entities (as per RO-Crate). Files may be referenced
7272
locally or via URI - eg from an API. If an RO-Crate contains files
@@ -85,7 +85,7 @@ A conformant RO-Crate:
8585

8686
${rules.Dataset}
8787

88-
![](media/image4.png)
88+
![](media/structure.svg)
8989

9090
A collection such as a corpus may be stored in a repository or
9191
transmitted either as
@@ -101,15 +101,15 @@ Distributed Collections MAY reference member collections or Objects in
101101
hasMember property but SHOULD NOT include descriptions of Objects that
102102
are stored elsewhere in the repository.
103103

104-
![](media/image2.png)
104+
![](media/bundled-crate.svg)
105105

106106
Objects MUST be linked to collections using memberOf and MAY
107107
additionally be linked to collections using hasMember references.
108108

109109
Which linking strategy is used is an implementation choice for
110110
repository developers.
111111

112-
![](media/image5.png)
112+
![](media/distributed-crates.svg)
113113

114114
## When to choose collection-as-crate ("bundled") vs collection-in-multiple crates ("distributed")
115115

@@ -204,7 +204,7 @@ the object and its files (and the contextual metadata of a Person who
204204
takes the role of the speaker/informant (discussed in more detail
205205
below).
206206

207-
![](media/image1.png)
207+
![](media/object-structure.svg)
208208

209209
There are a number of terms that can be used to characterize resources -
210210
these use the schema.org mechanism of DefinedTerm and DefinedTermSet.

profile/media/bundled-crate.puml

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
@startuml
3+
title: Self contained corpus crate with all resources
4+
package "ROCrate: My Corpus" {
5+
rectangle "RepositoryCollection: MyCorpus" as cc {
6+
7+
}
8+
rectangle "RepositoryObject, Dialogue: #1" as o1 {
9+
10+
}
11+
rectangle "RepositoryObject, Dialogue: #2" as o2 {
12+
13+
}
14+
rectangle "File, Audio: files/audio1.wav" as a1
15+
rectangle "File, OthographicTranscription: files/csv1.csv" as csv1
16+
rectangle "Dataset: files" as files
17+
18+
19+
20+
rectangle "RepositoryCollection: Collection A" as c2 {
21+
22+
}
23+
cc -down-> c2 : hasMember
24+
25+
c2 -down-> o1 : hasMember
26+
c2 -down-> o2 : hasMember
27+
28+
o1 -down-> a1 : hasPart
29+
o1 -down-> csv1 : hasPart
30+
31+
32+
cc -down-> files : hasPart
33+
files -down-> csv1 : hasPart
34+
files -down-> a1 : hasPart
35+
36+
37+
}
38+
39+
@enduml

profile/media/bundled-crate.svg

+64
Loading

profile/media/distributed-crates.puml

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
2+
@startuml
3+
title: Complete corpus collection metadata-only crate w/ links to object packages
4+
package "name My Corpus" as mc {
5+
rectangle "@type: [Dataset, RepositoryCollection]\nconformsTo: ./#Collection" as cc {
6+
7+
}
8+
}
9+
10+
package "ROCrate: Collection A" as cAc {
11+
12+
rectangle "@type: [Dataset, RepositoryCollection]\nconformsTo: ./#Collection" as ca {
13+
14+
}
15+
16+
}
17+
18+
19+
package "ROCrate: Collection B" as cBc {
20+
21+
rectangle "@type: [Dataset, RepositoryCollection]\nconformsTo: ./#Collection" as cb {
22+
23+
}
24+
25+
}
26+
27+
28+
package "RO Crate: Interview #1" as ec2 {
29+
rectangle "@type: RepositoryObject\nconformsTo: ./#Object\nmodailty: Speech\nlingusiticGenre: Interview" as eo1 {
30+
31+
}
32+
rectangle "@type: [File, PrinaryText]: files/audio1.wav" as ea1
33+
rectangle "@type: [File, Annotation]: files/csv1.csv" as ecsv1
34+
}
35+
36+
37+
38+
eo1 -down-> ea1 : hasPart
39+
eo1 -down-> ecsv1 : hasPart
40+
41+
eo1 -up-> ca : memberOf
42+
ca -up-> cc : memberOf
43+
cb -up-> cc : memberOf
44+
45+
note right of cc : Repository Collection:\n- MUST contain descriptive metadata\n for the corpus/collection\n- MAY contain hasMember relationships\n listing child Collections or Objects
46+
47+
48+
note bottom of ec2 : Individual object with file data
49+
50+
@enduml

0 commit comments

Comments
 (0)