@@ -7,6 +7,189 @@ collectively called The Oresteia. For illustrative purposes, the characters
77of these ancient stories are given access to modern technology.
88
99
10+ ## Investigations
11+
12+ These are the multiple investigations illustrated in this example (with SPARQL source ` src/query-investgations.sparql ` ):
13+
14+ | | ?nInvestigation | ?lName | ?lDescription |
15+ | ----| --------------------------------------------------------------------------| ----------| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
16+ | 0 | http://example.org/kb/investigation-4586742a-710a-454f-bcb8-b60e230ec1b2 | Crime A | In Mycenae, Atreus killed two sons of Thyestes, cooked them (except for their hands and heads), fed them to Thyestes, and then taunted Thyestes with his murdered sons' hands and heads. |
17+ | 1 | http://example.org/kb/investigation-b05226da-eaef-4bc5-a139-ca12c94dbdfd | Crime B | In Mycenae, Thyestes raped his daughter Pelopia to have a son (Aegisthus) |
18+ | 2 | http://example.org/kb/investigation-ac9fd560-261e-4cd6-af64-8b83d100b9a8 | Crime C | In Mycenae, Aegisthus killed Atreus (Agamemnon's father) |
19+ | 3 | http://example.org/kb/investigation-2545442b-321c-454d-bcb8-c40d321ce2c2 | Crime D | In Aulis, Agamemnon killed his daughter Iphigenia as a sacrifice to the gods |
20+ | 4 | http://example.org/kb/investigation-952d677d-6b62-4e53-9bac-1b113d268ac5 | Crime E | In the Palace of Argos, Agamemnon and Cassandra were killed by Clytemnestra (accomplice Aegisthus) |
21+ | 5 | http://example.org/kb/investigation-5aa33dc6-7a39-4731-a754-62a9c41e5220 | Crime F | In the Palace of Argos, Clytemnestra and Aegisthus were killed by Orestes (accomplice Electra) |
22+
23+ <details >
24+
25+ <summary >SPARQL source - `query-investigations.sparql`</summary >
26+
27+ ``` sparql
28+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
29+ PREFIX case-investigation: <https://ontology.caseontology.org/case/investigation/>
30+ PREFIX uco-core: <https://ontology.unifiedcyberontology.org/uco/core/>
31+ SELECT ?nInvestigation ?lName ?lDescription
32+ WHERE {
33+ ?nInvestigation
34+ a/rdfs:subClassOf* case-investigation:Investigation ;
35+ .
36+ OPTIONAL {
37+ ?nInvestigation
38+ uco-core:name ?lName ;
39+ .
40+ }
41+ OPTIONAL {
42+ ?nInvestigation
43+ uco-core:description ?lDescription ;
44+ .
45+ }
46+ }
47+ ORDER BY ?lName
48+ ```
49+
50+ </details >
51+
52+
53+ ## People
54+
55+ These are the people mentioned throughout the graph:
56+
57+ | | ?nPerson | ?lName | ?lGivenName | ?lFamilyName |
58+ | ----| -------------------------------------------------------------------------| --------------| ---------------| ----------------|
59+ | 0 | http://example.org/kb/aegisthus-c7da5045-ad5f-4f3d-8a74-a7fd46e9628d | Aegisthus | | |
60+ | 1 | http://example.org/kb/aeschylus-1ab8a80e-39fb-4209-9781-b10bdbc5d0c2 | | Aeschylus | Bard |
61+ | 2 | http://example.org/kb/agamemnon-bf5ea2fe-a14b-4f13-9bd3-83063ff6397c | Agamemnon | | |
62+ | 3 | http://example.org/kb/atreus-5c9fc0ba-251a-47c4-a1ec-b49ae7e3bce1 | Atreus | | |
63+ | 4 | http://example.org/kb/cassandra-1b38d28a-f88f-471f-8f83-16877dedacc0 | | Cassandra | Troy |
64+ | 5 | http://example.org/kb/clytemnestra-9e13b5c3-1f27-4035-981a-0ec9a1548006 | Clytemnestra | | |
65+ | 6 | http://example.org/kb/electra-a960648e-c88e-4728-9853-7b7f06de8caa | | Electra | Argos |
66+ | 7 | http://example.org/kb/eoghan-4ebb2f2c-ab97-4ea1-bc49-dc4496877848 | | | |
67+ | 8 | http://example.org/kb/euripides-3696c710-161f-47af-9ae8-61b178611773 | | Euripides | Forte |
68+ | 9 | http://example.org/kb/iphigenia-323bc6bc-d64b-42d1-a9f5-d4452efdbae6 | Iphigenia | | |
69+ | 10 | http://example.org/kb/orestes-5e400330-677d-42c1-8b32-2836cda219bf | Orestes | | |
70+ | 11 | http://example.org/kb/pelopia-d4b29a40-998b-4660-b67e-2ebb9683893d | Pelopia | | |
71+ | 12 | http://example.org/kb/person-82684209-0ee5-45d9-b873-125d2ca63919 | Joachim Metz | | |
72+ | 13 | http://example.org/kb/thyestes-b9111c63-19a8-4bf4-8287-b14485f01b45 | | Thyestes | Mycenae |
73+ | 14 | http://example.org/kb/thyestes-son-2a869a9a-ab97-4fc9-95cf-63804fcf061f | | | |
74+ | 15 | http://example.org/kb/thyestes-son-e992bb12-2322-46e8-b8f4-5095a4767b14 | | | |
75+
76+ <details >
77+
78+ <summary >SPARQL source - `query-people.sparql`</summary >
79+
80+ ``` sparql
81+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
82+ PREFIX uco-core: <https://ontology.unifiedcyberontology.org/uco/core/>
83+ PREFIX uco-identity: <https://ontology.unifiedcyberontology.org/uco/identity/>
84+ SELECT ?nPerson ?lName ?lGivenName ?lFamilyName
85+ WHERE {
86+ ?nPerson
87+ a/rdfs:subClassOf* uco-identity:Person ;
88+ .
89+ OPTIONAL {
90+ ?nPerson
91+ uco-core:name ?lName ;
92+ .
93+ }
94+ OPTIONAL {
95+ ?nPerson
96+ uco-core:hasFacet / uco-identity:familyName ?lFamilyName ;
97+ .
98+ }
99+ OPTIONAL {
100+ ?nPerson
101+ uco-core:hasFacet / uco-identity:givenName ?lGivenName ;
102+ .
103+ }
104+ }
105+ ORDER BY ?nPerson
106+ ```
107+
108+ </details >
109+
110+ These are the investigations in which the people are generically linked:
111+
112+ | | ?lPersonName | ?lInA | ?lInB | ?lInC | ?lInD | ?lInE | ?lInF |
113+ | ----| ----------------| ---------| ---------| ---------| ---------| ---------| ---------|
114+ | 0 | | ✓ | | | | | |
115+ | 1 | | ✓ | | | | | |
116+ | 2 | Aegisthus | | ✓ | ✓ | | ✓ | ✓ |
117+ | 3 | Aeschylus | | | | | ✓ | |
118+ | 4 | Agamemnon | | | | ✓ | ✓ | |
119+ | 5 | Atreus | ✓ | | ✓ | | | |
120+ | 6 | Cassandra | | | | | ✓ | |
121+ | 7 | Clytemnestra | | | | | ✓ | ✓ |
122+ | 8 | Electra | | | | | ✓ | ✓ |
123+ | 9 | Euripides | | | | | ✓ | |
124+ | 10 | Iphigenia | | | | ✓ | | |
125+ | 11 | Joachim Metz | | | | | | |
126+ | 12 | Orestes | | | | | | ✓ |
127+ | 13 | Pelopia | | ✓ | | | | |
128+ | 14 | Thyestes | ✓ | ✓ | | | ✓ | |
129+
130+ <details >
131+
132+ <summary >SPARQL source - `query-people-investigations`</summary >
133+
134+ ``` sparql
135+ PREFIX kb: <http://example.org/kb/>
136+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
137+ PREFIX case-investigation: <https://ontology.caseontology.org/case/investigation/>
138+ PREFIX uco-core: <https://ontology.unifiedcyberontology.org/uco/core/>
139+ PREFIX uco-identity: <https://ontology.unifiedcyberontology.org/uco/identity/>
140+ SELECT ?lPersonName ?lInA ?lInB ?lInC ?lInD ?lInE ?lInF
141+ WHERE {
142+ ?nPerson
143+ a/rdfs:subClassOf* uco-identity:Person ;
144+ .
145+ OPTIONAL {
146+ ?nPerson
147+ uco-core:name ?lName ;
148+ .
149+ }
150+ OPTIONAL {
151+ ?nPerson
152+ uco-core:hasFacet / uco-identity:givenName ?lGivenName ;
153+ .
154+ }
155+ BIND(COALESCE(?lGivenName, ?lName) AS ?lPersonName)
156+
157+ OPTIONAL {
158+ kb:investigation-4586742a-710a-454f-bcb8-b60e230ec1b2 uco-core:object ?nPerson .
159+ BIND("✓" AS ?lInA)
160+ }
161+
162+ OPTIONAL {
163+ kb:investigation-b05226da-eaef-4bc5-a139-ca12c94dbdfd uco-core:object ?nPerson .
164+ BIND("✓" AS ?lInB)
165+ }
166+
167+ OPTIONAL {
168+ kb:investigation-ac9fd560-261e-4cd6-af64-8b83d100b9a8 uco-core:object ?nPerson .
169+ BIND("✓" AS ?lInC)
170+ }
171+
172+ OPTIONAL {
173+ kb:investigation-2545442b-321c-454d-bcb8-c40d321ce2c2 uco-core:object ?nPerson .
174+ BIND("✓" AS ?lInD)
175+ }
176+
177+ OPTIONAL {
178+ kb:investigation-952d677d-6b62-4e53-9bac-1b113d268ac5 uco-core:object ?nPerson .
179+ BIND("✓" AS ?lInE)
180+ }
181+
182+ OPTIONAL {
183+ kb:investigation-5aa33dc6-7a39-4731-a754-62a9c41e5220 uco-core:object ?nPerson .
184+ BIND("✓" AS ?lInF)
185+ }
186+ }
187+ ORDER BY ?lPersonName
188+ ```
189+
190+ </details >
191+
192+
10193## Relationship illustrations
11194
12195Using a proof-of-concept illustration system, a render of this scenario's ` uco-core:Relationship ` objects is available:
0 commit comments