Courses/CGBV SS24/Graph: Difference between revisions
(→All Categories: add link to query (better loading)) |
(→"Interests" and "Knowledge": convert to Try It!) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 28: | Line 28: | ||
== All Categories == | == All Categories == | ||
Returns a graph with all '''included in''' the course. | Returns a graph with all categories '''included in''' the course. | ||
See the query '''[https://tinyurl.com/yorv5zu2 here]''' | See the query '''[https://tinyurl.com/yorv5zu2 here]''' | ||
== Indegrees == | |||
Returns a graph that uses the indegrees to size items. I.e. the size of a node depends on how many prerequisites it has. | |||
{{#widget:SPARQLquery|code= | |||
#defaultView:Graph | |||
PREFIX wd: <https://graphit.ur.de/entity/> | |||
PREFIX wdt: <https://graphit.ur.de/prop/direct/> | |||
SELECT distinct ?topic ?topicLabel ?rgb1 # ?shape1 | |||
?dCount | |||
?dependency ?dependencyLabel # ?rgb2 ?shape2 | |||
?tCount | |||
# ?category ?categoryLabel ?rgb3 ?shape3 | |||
WHERE { | |||
wd:Q932 wdt:P14/wdt:P14 ?topic. | |||
OPTIONAL { ?topic wdt:P1 ?dependency } | |||
OPTIONAL { | |||
SELECT ?topic ?topicLabel (COUNT(DISTINCT ?pre) as ?dCount) WHERE { | |||
?pre wdt:P1 ?topic. | |||
} GROUP BY ?topic ?topicLabel | |||
} # number of items that -depend-on-> ?topic | |||
BIND(IF(!BOUND(?dCount), 0, ?dCount) as ?dCount). | |||
# STYLING # | |||
BIND (if(?dCount = 0, "FFFFFF", # white | |||
if(?dCount = 1, "e6e6e6", | |||
if(?dCount = 2, "DFDFDF", | |||
if(?dCount = 3, "b3b3b3", | |||
if(?dCount = 4, "9F9F9F", | |||
if(?dCount = 5, "808080", | |||
if(?dCount = 6, "606060", | |||
if(?dCount = 7, "4d4d4d", | |||
if(?dCount = 8, "333333", | |||
if(?dCount = 9, "1919191", | |||
if(?dCount = 10, "202020", | |||
if(?dCount > 10, "292929", | |||
"FFFFFF" )))))))))))) as ?rgb1). | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | |||
} | |||
}} | |||
<small> Nodes that aren't cicles are items, that are linked to course-items, but are themselves not included in the course.</small> | |||
== Items == | |||
=== Orphans === | |||
<!-- Floated Table that contains both orphan queries(32.5em)--> | |||
{| class="wikitable" | |||
! '''Unlinked Items''' !! '''No dependencies''' | |||
|- | |||
<!-- Linke Spalte --> | |||
| style="width: 50%" | {{#widget:SPARQLquery|code= | |||
# All items that don't link to another item (no dependency) | |||
#defaultView:Table | |||
PREFIX wdt: <https://graphit.ur.de/prop/direct/> | |||
PREFIX wd: <https://graphit.ur.de/entity/> | |||
SELECT DISTINCT ?item ?itemLabel # ?dependency | |||
WHERE { | |||
wd:Q932 wdt:P14/wdt:P14 ?item. | |||
MINUS {?dependency wdt:P1 ?item}. # Remove all items that have the ?source as a dependency | |||
MINUS {?item wdt:P1 ?dependency}. # Remove all ?source's that have a dependency | |||
service wikibase:label { bd:serviceParam wikibase:language "en" } | |||
} | |||
|caption=Items that don't depend on and aren't depended on | |||
|height=25vh | |||
}} | |||
<!-- Rechte Spalte --> | |||
| style="width: 50%" | {{#widget:SPARQLquery|code= | |||
#defaultView:Table | |||
# sources that don't -depend-on-> other item | |||
PREFIX wdt: <https://graphit.ur.de/prop/direct/> | |||
PREFIX wd: <https://graphit.ur.de/entity/> | |||
SELECT DISTINCT ?item ?itemLabel # ?dependency | |||
WHERE { | |||
wd:Q932 wdt:P14/wdt:P14 ?item. | |||
MINUS {?item wdt:P1 ?dependency.} | |||
service wikibase:label { bd:serviceParam wikibase:language "en" } | |||
} | |||
|caption=Items that don't depend on other items | |||
|height=25vh | |||
}} | |||
|- | |||
<!-- Linke Spalte --> | |||
| [https://tinyurl.com/2aryewso Link to the query] | |||
<!-- Rechte Spalte --> | |||
| [https://tinyurl.com/2c2sm43y Link to the query] | |||
|} | |||
=== Resources === | |||
==== All Resources ==== | |||
Returns a table with all resources that are linked to from inside the course. | |||
{{SPARQL2|query= | |||
#defaultView:Table | |||
PREFIX wdt: <https://graphit.ur.de/prop/direct/> | |||
PREFIX wd: <https://graphit.ur.de/entity/> | |||
SELECT DISTINCT ?item ?itemLabel ?resource ?resourceLabel ?alias ?url ?type ?typeLabel # ?resLabelLength | |||
WHERE { | |||
wd:Q932 wdt:P14/wdt:P14 ?item. | |||
?item wdt:P21 ?resource. | |||
OPTIONAL {?resource wdt:P20 ?link. | |||
BIND("true" as ?url) } | |||
OPTIONAL {?resource wdt:P3 ?type.} | |||
OPTIONAL {?resource skos:altLabel ?alias.} | |||
service wikibase:label { bd:serviceParam wikibase:language "en" } | |||
} ORDER BY ASC(?resourceLabel) | |||
}} | |||
==== Items without Resources ==== | |||
Returns a table with all items in the CGBV 24SS course, that don't link to a resource. | |||
{{#widget:SPARQLquery|code= | |||
#All CGBV-SS24 Items with no linked resources | |||
#defaultView:Table | |||
PREFIX wdt: <https://graphit.ur.de/prop/direct/> | |||
PREFIX wd: <https://graphit.ur.de/entity/> | |||
SELECT DISTINCT ?item ?itemLabel ?resource ?resourceLabel | |||
WHERE { | |||
wd:Q932 wdt:P14/wdt:P14 ?item. # select al course items | |||
MINUS {?item wdt:P21 ?resource.} # remove all with resources | |||
service wikibase:label { bd:serviceParam wikibase:language "en". } | |||
} | |||
}} | |||
== "Interests" and "Knowledge" == | |||
{{Note|text=The plot doesn't really show overlapping points}} | |||
{{SPARQL2|query= | |||
#defaultView:ScatterChart | |||
PREFIX wd: <https://graphit.ur.de/entity/> | |||
PREFIX wdt: <https://graphit.ur.de/prop/direct/> | |||
SELECT DISTINCT ?known ?interests ?item ?itemLabel # ?known ?interests ?item ?itemLabel | |||
WHERE { | |||
wd:Q932 wdt:P14/wdt:P14 ?item. | |||
OPTIONAL { | |||
SELECT ?item ?itemLabel (COUNT(DISTINCT ?student) as ?known) WHERE { | |||
?student wdt:P12 ?item. | |||
} GROUP BY ?item ?itemLabel | |||
} | |||
OPTIONAL { | |||
SELECT ?item ?itemLabel (COUNT(DISTINCT ?student) as ?interests) WHERE { | |||
?student wdt:P23 ?item. | |||
} GROUP BY ?item ?itemLabel | |||
}. | |||
BIND (IF(!BOUND(?interests), 0, ?interest) as ?interests). | |||
BIND (IF(!BOUND(?known), 0, ?known) as ?known). | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | |||
} | |||
}} | |||
'''Alternative Visualization''' | |||
{{#widget:SPARQLquery|code= | |||
#defaultView:Graph | |||
PREFIX wd: <https://graphit.ur.de/entity/> | |||
PREFIX wdt: <https://graphit.ur.de/prop/direct/> | |||
SELECT DISTINCT ?sum ?item ?itemLabel ?rgb ?known ?interests | |||
WHERE { | |||
wd:Q932 wdt:P14/wdt:P14 ?item. | |||
OPTIONAL { | |||
SELECT ?item ?itemLabel (COUNT(DISTINCT ?student) as ?known) WHERE { | |||
?student wdt:P12 ?item. | |||
} GROUP BY ?item ?itemLabel | |||
} | |||
OPTIONAL { | |||
SELECT ?item ?itemLabel (COUNT(DISTINCT ?student) as ?interests) WHERE { | |||
?student wdt:P23 ?item. | |||
} GROUP BY ?item ?itemLabel | |||
}. | |||
BIND (IF(!BOUND(?interests), 0, ?interest) as ?interests). | |||
BIND (IF(!BOUND(?known), 0, ?known) as ?known). | |||
BIND ( ?interests + ?known as ?sum) | |||
# STYLING # | |||
BIND (if(?interests = 0 && ?known = 0, "FFFFFF", # white | |||
if(?interests = ?known, "DFDFDF", # grey | |||
if(?interests = 1 && ?known = 0, "e3ffd9", # light green | |||
if(?interests = 0 && ?known = 1, "F9DCDF", # light red | |||
if(?interests+1 = ?known, "BECF96", # red+green -> both | |||
if(?interests < ?known, "9FE586", # green, bc. knowledge is "good" :D | |||
if(?interests > ?known, "F0A8AF", # red | |||
"FFFFFF" ))))))) as ?rgb). | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | |||
} ORDER BY DESC(?sum) | |||
}} | |||
<span style="background-color:#F0A8AF">'''Interests'''</span> and <span style="background-color:#9FE586">'''knowledge'''</span> are mapped to color and to size. | |||
The '''size''' equals to the sum of interest and knowledge. | |||
A <span style="background-color:#F0A8AF">red</span> node means that '''more''' students are <span style="background-color:#F0A8AF">interested</span> in a topic. | |||
A <span style="background-color:#9FE586">green</span> node means that '''more''' students <span style="background-color:#9FE586">know</span> a topic. | |||
A <span style="background-color:#BECF96">olive</span> node means that '''one more''' student knows a topic than are interested in. | |||
A <span style="background-color:#DFDFDF">gray</span> node meant that the '''same''' amount of students know/are interested in a topic |
Latest revision as of 11:53, 23 May 2024
Contains queries about the graph of the "CGBV SS24" course to help debug and structure it.
All Sessions
Returns a graph containing all sessions included in the course, as well as all included topics.
All Categories
Returns a graph with all categories included in the course. See the query here
Indegrees
Returns a graph that uses the indegrees to size items. I.e. the size of a node depends on how many prerequisites it has.
Nodes that aren't cicles are items, that are linked to course-items, but are themselves not included in the course.Items
Orphans
Unlinked Items | No dependencies |
---|---|
Link to the query | Link to the query |
Resources
All Resources
Returns a table with all resources that are linked to from inside the course.
Items used: CGBV 24SS (Q932)
Properties used: includes (P14), resource (P21), url (P20), instance of (P3)
#defaultView:Table
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
SELECT DISTINCT ?item ?itemLabel ?resource ?resourceLabel ?alias ?url ?type ?typeLabel # ?resLabelLength
WHERE {
wd:Q932 wdt:P14/wdt:P14 ?item.
?item wdt:P21 ?resource.
OPTIONAL {?resource wdt:P20 ?link.
BIND("true" as ?url) }
OPTIONAL {?resource wdt:P3 ?type.}
OPTIONAL {?resource skos:altLabel ?alias.}
service wikibase:label { bd:serviceParam wikibase:language "en" }
} ORDER BY ASC(?resourceLabel)
Items without Resources
Returns a table with all items in the CGBV 24SS course, that don't link to a resource.
"Interests" and "Knowledge"
✒️ Note: The plot doesn't really show overlapping points
Items used: CGBV 24SS (Q932)
Properties used: includes (P14), has completed (P12), interested in (P23)
#defaultView:ScatterChart
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT DISTINCT ?known ?interests ?item ?itemLabel # ?known ?interests ?item ?itemLabel
WHERE {
wd:Q932 wdt:P14/wdt:P14 ?item.
OPTIONAL {
SELECT ?item ?itemLabel (COUNT(DISTINCT ?student) as ?known) WHERE {
?student wdt:P12 ?item.
} GROUP BY ?item ?itemLabel
}
OPTIONAL {
SELECT ?item ?itemLabel (COUNT(DISTINCT ?student) as ?interests) WHERE {
?student wdt:P23 ?item.
} GROUP BY ?item ?itemLabel
}.
BIND (IF(!BOUND(?interests), 0, ?interest) as ?interests).
BIND (IF(!BOUND(?known), 0, ?known) as ?known).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Alternative Visualization
Interests and knowledge are mapped to color and to size. The size equals to the sum of interest and knowledge.A red node means that more students are interested in a topic. A green node means that more students know a topic.
A olive node means that one more student knows a topic than are interested in.
A gray node meant that the same amount of students know/are interested in a topic