Sandbox: Difference between revisions

m (update queryforms)
(→‎Personal Section: test alternative external data syntax)
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Note|type=warn|text=A test text}}
<imagemap>
File:Graph-simple.png|400px|alt=Test
default [[Main Page|Go home]]
</imagemap>
== External Data ==
{{#get_web_data:url=https://query.wikidata.org/sparql?query=SELECT%20%3Fitem%20%3FitemLabel%20%3Fsymbol%20%3FatomicNumber%20%28%20YEAR%28%20%3FdiscoveryDate%20%29%20AS%20%3FdiscoveryYear%20%29%20%3Fdiscoverer%20%3FdiscovererLabel%0AWHERE%20%7B%0A%20%20VALUES%20%3Fitem%20%7B%20wd%3AQ654%20%7D%20.%0A%20%20%3Fitem%20wdt%3AP246%20%3Fsymbol%20.%0A%20%20%3Fitem%20wdt%3AP1086%20%3FatomicNumber%20.%0A%20%20%3Fitem%20wdt%3AP575%20%3FdiscoveryDate%20.%0A%20%20%3Fitem%20wdt%3AP61%20%3Fdiscoverer%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20"en".%20%7D%0A%7D&format=json
|format=json
|use jsonpath
|data=itemLabel=$.results.bindings[0].itemLabel.value,
symbol=$.results.bindings[0].symbol.value,
atomicNumber=$.results.bindings[0].atomicNumber.value,
discoveryYear=$.results.bindings[0].discoveryYear.value,
discovererURL=$.results.bindings[*].discoverer.value,
discovererLabel=$.results.bindings[*].discovererLabel.value,
}}
Info for '''Q654''':
* Name: {{#external_value:itemLabel}}
* Symbol: {{#external_value:symbol}}
* Atomic number: {{#external_value:atomicNumber}}
* Year discovered: {{#external_value:discoveryYear}}
* Discoverers: {{#for_external_table:[{{{discovererURL}}} {{{discovererLabel}}}], <nowiki />}}
via: https://discoursedb.org/wiki/Wikidata_querying_demo
{{#get_web_data:url=http://query.graphit.ur.de/proxy/wdqs/bigdata/namespace/wdq/sparql?query=%23defaultView%3ATable%0APREFIX%20wd%3A%20%20%3Chttps%3A%2F%2Fgraphit.ur.de%2Fentity%3E%0APREFIX%20wdt%3A%20%3Chttps%3A%2F%2Fgraphit.ur.de%2Fprop%2Fdirect%2F%3E%0ASELECT%20(COUNT(*)%20as%20%3Fitems)%20%0AWHERE%20%7B%0A%20%20%3Fitem%20wikibase%3Aidentifiers%20%3Fi.%20%23%20get%20only%20items%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D&format=json
|format=json
|use jsonpath
|data=items=$.results.bindings[0].items.value
}}
Anzahl Items: {{#external_value:items}}
== Course Query ==
{{SPARQL2|query=
#defaultView:Graph
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT distinct ?topic ?topicLabel ?rgb ?dependency ?dependencyLabel ?category ?categoryLabel
WHERE {
{
  # get all categories of the course
  BIND (wd:Q468 as ?course).
  ?course wdt:P14 ?category.
  Minus {?category wdt:P3 wd:Q427}
  { SELECT ?category ?categoryLabel ?topic ?topicLabel WHERE {
    {
    ?category wdt:P14 ?topic.
    }
  }
  }
  Union
  # get all dependencies of the topics
  { SELECT ?topic ?topicLabel ?dependency ?dependencyLabel WHERE {
    {
    ?topic wdt:P1 ?dependency. 
    }
  }
  }
  ?category wdt:P14 ?topic.
  ?topic wdt:P1 ?dependency.
 
  bind (if(?category = wd:Q472, "e8fcff", # (blue)  f3fdff
          if(?category = wd:Q473, "e3ffd9", # (green)
          if(?category = wd:Q474, "ffeec2", # (orange)
          if(?category = wd:Q475, "DCCDE0", # (purple)
          if(?category = wd:Q476, "F9DCDF", # (pink)
          if(?category = wd:Q477, "E7DEDA", # (brown)
          if(?category = wd:Q478,  "ECEDFF", # (lavender)
      "FFFFFF" ))))))) as ?rgb).
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
}
| caption=Query includes dependencies between items
}}
{{SPARQL2|query=
#defaultView:Graph
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT distinct
?category ?categoryLabel ?topic ?topicLabel ?rgb
WHERE {
  BIND (wd:Q468 as ?course).
  ?course wdt:P14 ?category.
  Minus {?category wdt:P3 wd:Q427}
  BIND (rdf:type as ?id)
  ?category wdt:P14 ?topic.
 
  # Color coding
    bind (if(?category = wd:Q472, "e8fcff", # (blue)  f3fdff
          if(?category = wd:Q473, "e3ffd9", # (green)
          if(?category = wd:Q474, "ffeec2", # (orange)
          if(?category = wd:Q475, "DCCDE0", # (purple)
          if(?category = wd:Q476, "F9DCDF", # (pink)
          if(?category = wd:Q477, "E7DEDA", # (brown)
          if(?category = wd:Q478,  "ECEDFF", # (lavender)
      "FFFFFF" ))))))) as ?rgb).
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
| caption=Query shows the included items in a category
}}
== Linked RunQuery ==
== Linked RunQuery ==
{{#queryformlink:form=Learning Path|link text=Try running the query :D|link type=button|tooltip=This is a test}}
{{#queryformlink:form=Learning Path|link text=Try running the query :D|link type=button|tooltip=This is a test}}


Follow https://graphit.ur.de/wiki/Special:RunQuery/Learning_Path?Learning_Path[quiz]=Q444&_run for preloaded query
{{#queryformlink:form=Learning Path|query string=Learning_Path[quiz]=Q444&_run}}


== Embedded RunQuery ==
== Embedded RunQuery ==
Line 10: Line 126:
Run this query to get the full graph  
Run this query to get the full graph  
{{Special:RunQuery/FullGraph}}
{{Special:RunQuery/FullGraph}}
== Personal Section ==
(Test for EIMI)
<!--
{{#get_web_data:url=http://query.graphit.ur.de/proxy/wdqs/bigdata/namespace/wdq/sparql?query=%23defaultView%3ATable%0APREFIX%20wd%3A%20%3Chttps%3A%2F%2Fgraphit.ur.de%2Fentity%2F%3E%0APREFIX%20wdt%3A%20%3Chttps%3A%2F%2Fgraphit.ur.de%2Fprop%2Fdirect%2F%3E%0ASELECT%20DISTINCT%20%3Fcompletions%20%3Fitems%20WHERE%20%7B%0A%20%20%20%20%20%20%0A%20%20%7B%20SELECT%20(COUNT%20(DISTINCT%20%3Fcomplete)%20AS%20%3Fcompletions)%20WHERE%20%7B%0A%20%20%20%20%3Fuser%20rdfs%3Alabel%20%22%7B%7B%23username%3AMax%20Mustermann%7D%7D%22%40en.%0A%20%20%20%20wd%3AQ2113%20wdt%3AP14%2Fwdt%3AP14%20%3Fcomplete.%0A%20%20%20%20%3Fuser%20wdt%3AP12%20%3Fcomplete.%0A%20%20%7D%7D%0A%20%20%0A%20%20%7B%20SELECT%20(COUNT%20(DISTINCT%20%3Fitem)%20AS%20%3Fitems)%20WHERE%20%7B%0A%20%20%20%20wd%3AQ2113%20wdt%3AP14%2Fwdt%3AP14%20%3Fitem.%0A%20%20%7D%20%7D%0A%20%20%20%20%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D&format=json
|format=json
|use jsonpath
|data=
completions=$.results.bindings[0].completions.value,
items=$.results.bindings[0].items.value,
}}
-->
{{#get_web_data:url=http://query.graphit.ur.de/proxy/wdqs/bigdata/namespace/wdq/sparql?query={{urlencode:PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT DISTINCT ?completions ?items WHERE { 
  { SELECT (COUNT (DISTINCT ?complete) AS ?completions) WHERE {
    ?user rdfs:label "{{#username:Max Mustermann}}"@en.
    wd:Q2113 wdt:P14/wdt:P14 ?complete.
    ?user wdt:P12 ?complete.
  } }
  { SELECT (COUNT (DISTINCT ?item) AS ?items) WHERE {
    wd:Q2113 wdt:P14/wdt:P14 ?item.
  } }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}}}&format=json
|format=json
|use jsonpath
|data=
completions=$.results.bindings[0].completions.value,
items=$.results.bindings[0].items.value,
}}
Du ({{#username:Max Mustermann}}) hast '''{{#external_value:completions}}''' von {{#external_value:items}} Lerninhalten geschafft.
<progress value="{{#external_value:completions}}" max="{{#external_value:items}}"> {{#external_value:completions}} </progress>
'''{{#external_value:completions}}''' / {{#external_value:items}} Lerninhalten
{{#widget:Progressbar|value={{#external_value:completions}}|max={{#external_value:items}}|text={{#external_value:completions}} }}
{{#widget:Progressbar|value=4|max=10|text=test}}
{{SPARQL2|query=
#defaultView:Graph
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT distinct ?item ?itemLabel ?shape1 ?rgb1
?dependency ?dependencyLabel ?rgb2 ?shape2
WHERE {
  wd:Q2113 wdt:P14 ?session.
  ?session wdt:P3 wd:Q427.
  ?session wdt:P14 ?item.
  ?user rdfs:label "{{#username:Max Mustermann}}"@en.
 
  OPTIONAL{
    ?item wdt:P1 ?dependency.
    ?session wdt:P14 ?dependency.   
    BIND (IF(EXISTS{?user wdt:P12 ?dependency}, "008F0E", "ffffff") as ?rgb2)
    BIND (IF(EXISTS{?user wdt:P12 ?dependency}, "dot", "ellipse") as ?shape2)
  }
  BIND (IF(EXISTS{?user wdt:P12 ?item}, "008F0E", "ffffff") as ?rgb1)
  BIND (IF(EXISTS{?user wdt:P12 ?item}, "dot", "ellipse") as ?shape1)
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} LIMIT 500
| caption=Alle Items des Kurses EIMI 25WS. Grün markierte Items, sind von dir "completed"
}}
{{SPARQL2|query=
#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
WHERE {
  # size the items according to their indegrees and mark all "completed" items of a user green
 
  ?user rdfs:label "Leonie"@en.
  { wd:Q2113 wdt:P14/wdt:P14 ?topic.
    OPTIONAL {
      ?topic wdt:P1 ?dependency
      BIND (IF(EXISTS{?user wdt:P12 ?dependency}, "008F0E", "ffffff") as ?rgb2)
    }
  } UNION {
    # get all dependencies not directly included ( for sizing they need to be in the same column as ?topic ()
    wd:Q2113 wdt:P14/wdt:P14 ?item.
    ?item wdt:P1 ?topic.
    FILTER NOT EXISTS {  wd:Q2113 wdt:P14/wdt:P14 ?topic. }
  }
   
  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).
 
  BIND (IF(EXISTS{?user wdt:P12 ?topic}, "008F0E", "ffffff") as ?rgb1)
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
|caption=Alle Items aus EIMI. Größe = wieviel andere Items haben es als Vorwissen. Grün = Completion
}}

Latest revision as of 15:20, 3 November 2025


⚠️ A test text


Test
About this image


External Data

Info for Q654:

via: https://discoursedb.org/wiki/Wikidata_querying_demo



Anzahl Items: 2640

Course Query

Items used: Wissenschaftliches Arbeiten 23/24WS (Q468), Session (Q427), Instrumente und Methoden (Q472), Was ist Wissenschaft (Q473), Ablauf Bachelorarbeit (Q474), Statistik (Q475), Wissenschaftliches Schreiben (Q476), Studiendesign und -durchführung (Q477), Literaturrecherche (Q478)

Properties used: includes (P14), instance of (P3), depends on (P1)

#defaultView:Graph
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT distinct ?topic ?topicLabel ?rgb ?dependency ?dependencyLabel ?category ?categoryLabel
WHERE {
{
  # get all categories of the course
  BIND (wd:Q468 as ?course). 
  ?course wdt:P14 ?category.
  Minus {?category wdt:P3 wd:Q427}
  { SELECT ?category ?categoryLabel ?topic ?topicLabel WHERE {
    {
    ?category wdt:P14 ?topic.
    }
  }
  }
  Union
  # get all dependencies of the topics
  { SELECT ?topic ?topicLabel ?dependency ?dependencyLabel WHERE {
    {
     ?topic wdt:P1 ?dependency.  
    } 
  }
  }
  ?category wdt:P14 ?topic.
  ?topic wdt:P1 ?dependency.
  
  bind (if(?category = wd:Q472, "e8fcff", # (blue)  f3fdff
          if(?category = wd:Q473, "e3ffd9", # (green) 
          if(?category = wd:Q474, "ffeec2", # (orange)
          if(?category = wd:Q475, "DCCDE0", # (purple) 
          if(?category = wd:Q476, "F9DCDF", # (pink)
          if(?category = wd:Q477, "E7DEDA", # (brown) 
          if(?category = wd:Q478,  "ECEDFF", # (lavender)
       "FFFFFF" ))))))) as ?rgb).

  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
}

Try it!


Items used: Wissenschaftliches Arbeiten 23/24WS (Q468), Session (Q427), Instrumente und Methoden (Q472), Was ist Wissenschaft (Q473), Ablauf Bachelorarbeit (Q474), Statistik (Q475), Wissenschaftliches Schreiben (Q476), Studiendesign und -durchführung (Q477), Literaturrecherche (Q478)

Properties used: includes (P14), instance of (P3)

#defaultView:Graph
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT distinct 
?category ?categoryLabel ?topic ?topicLabel ?rgb 
WHERE {
  BIND (wd:Q468 as ?course). 
  ?course wdt:P14 ?category.
  Minus {?category wdt:P3 wd:Q427}
  BIND (rdf:type as ?id) 
  ?category wdt:P14 ?topic.
  
  # Color coding 
    bind (if(?category = wd:Q472, "e8fcff", # (blue)  f3fdff
          if(?category = wd:Q473, "e3ffd9", # (green) 
          if(?category = wd:Q474, "ffeec2", # (orange)
          if(?category = wd:Q475, "DCCDE0", # (purple) 
          if(?category = wd:Q476, "F9DCDF", # (pink)
          if(?category = wd:Q477, "E7DEDA", # (brown) 
          if(?category = wd:Q478,  "ECEDFF", # (lavender)
       "FFFFFF" ))))))) as ?rgb).
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

Try it!



Linked RunQuery

Follow https://graphit.ur.de/wiki/Special:RunQuery/Learning_Path?Learning_Path[quiz]=Q444&_run for preloaded query


Run query

Embedded RunQuery

Item:


Full Graph

Run this query to get the full graph


Personal Section

(Test for EIMI)


Du (Max Mustermann) hast 3 von 391 Lerninhalten geschafft. <progress value="3" max="391"> 3 </progress>

3 / 391 Lerninhalten



Items used: EIMI 25/26WS (Q2113), Session (Q427)

Properties used: includes (P14), instance of (P3), depends on (P1), has completed (P12)

#defaultView:Graph
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT distinct ?item ?itemLabel ?shape1 ?rgb1
?dependency ?dependencyLabel ?rgb2 ?shape2
WHERE {
  wd:Q2113 wdt:P14 ?session.
  ?session wdt:P3 wd:Q427.
  ?session wdt:P14 ?item.
  ?user rdfs:label "Max Mustermann"@en.
  
  OPTIONAL{
    ?item wdt:P1 ?dependency.
    ?session wdt:P14 ?dependency.     
    BIND (IF(EXISTS{?user wdt:P12 ?dependency}, "008F0E", "ffffff") as ?rgb2)
    BIND (IF(EXISTS{?user wdt:P12 ?dependency}, "dot", "ellipse") as ?shape2)
  }

  BIND (IF(EXISTS{?user wdt:P12 ?item}, "008F0E", "ffffff") as ?rgb1)
  BIND (IF(EXISTS{?user wdt:P12 ?item}, "dot", "ellipse") as ?shape1)
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} LIMIT 500

Try it!


Items used: EIMI 25/26WS (Q2113)

Properties used: includes (P14), depends on (P1), has completed (P12)

#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
WHERE {
  # size the items according to their indegrees and mark all "completed" items of a user green
  
  ?user rdfs:label "Leonie"@en.

  { wd:Q2113 wdt:P14/wdt:P14 ?topic. 
    OPTIONAL { 
      ?topic wdt:P1 ?dependency 
      BIND (IF(EXISTS{?user wdt:P12 ?dependency}, "008F0E", "ffffff") as ?rgb2)
    }
  } UNION {
    # get all dependencies not directly included ( for sizing they need to be in the same column as ?topic ()
    wd:Q2113 wdt:P14/wdt:P14 ?item.
    ?item wdt:P1 ?topic.
    FILTER NOT EXISTS {  wd:Q2113 wdt:P14/wdt:P14 ?topic. } 
  }
     
  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).
  
  BIND (IF(EXISTS{?user wdt:P12 ?topic}, "008F0E", "ffffff") as ?rgb1)
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

Try it!