Graph Statistics

Revision as of 14:27, 29 November 2023 by Leonie (talk | contribs) (Added SessionOverlap)

A page to help show the structure of the graph using metrics and statistics. For similar pages reference:

Simple Metrics

ItemCount

Gives a count of all items in the Wikibase-instance.



#defaultView:Table
PREFIX wd:  <https://graphit.ur.de/entity>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT (COUNT(*) as ?items) 
WHERE {
  ?item wikibase:identifiers ?i. # get only items
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

Try it!


Make inline

PropertyCount

Gives a count of all properties in the Wikibase-instance



#defaultView:Table
PREFIX wd:  <https://graphit.ur.de/entity>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT (COUNT(*) as ?property) 
WHERE {
  ?property a wikibase:Property.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} LIMIT 28

Try it!


Make inline

ResourceCount

Gives the amount of Resources in the Wikibase-instance


Properties used: resource (P21)

#defaultView:Table
PREFIX wd:  <https://graphit.ur.de/entity>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT (COUNT(*) as ?resources) 
WHERE {
  ?item wdt:P21 ?resources.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

Try it!


Make inline

Course ResourceCount

Gives back the amount of Resources used in a specific course. Note: This query works with the "included in" dependencies.

Items used: Wissenschaftliches Arbeiten 23/24WS (Q468)

Properties used: includes (P14), resource (P21)

#defaultView:Table
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT (COUNT(DISTINCT ?resource) as ?resources) 
WHERE {
  BIND (wd:Q468 as ?course).
  ?course wdt:P14 / wdt:P14 ?item.
  OPTIONAL {?item wdt:P21 ?resource.}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

Try it!


Make inline

SessionCount

Gives back the amount of Sessions that exist for every course and the sum of topics used in the sessions.

Items used: Course (Q170), Session (Q427)

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

#defaultView:Table
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT ?course ?courseLabel 
(COUNT (DISTINCT ?session) as ?sessions) 
# ?session ?sessionLabel 
(COUNT (DISTINCT ?topic) as ?topics)
WHERE {
  ?course wdt:P3 wd:Q170. # def course
  ?course wdt:P14 ?session.
  ?session wdt:P3 wd:Q427. # def session
  ?session wdt:P14 ?topic.
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} GROUP BY ?course ?courseLabel

Try it!


TopicCount

Gives the count of topics from every existing session.

Items used: Course (Q170), Session (Q427)

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

#defaultView:Table
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT ?session ?sessionLabel (COUNT (DISTINCT ?topic) as ?topics)
WHERE {
  ?course wdt:P3 wd:Q170. # def course
  ?course wdt:P14 ?session.
  ?session wdt:P3 wd:Q427. # def session
  ?session wdt:P14 ?topic.
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} GROUP BY ?session ?sessionLabel

Try it!


Degree of an Item

Gives back the indegree and outdegree of a specific item.

  • InDegree = all dependencies (P1) going in to the item
  • OutDegree = all dependencies (P1) comming out of an item

To get all edges coming out of an item, change wdt:P1 to ?p. This will include things such as resources and dates.

Items used: Matrix Multiplication (Q93)

Properties used: depends on (P1)

#defaultView:Table
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
Select ?item ?itemLabel
(count(DISTINCT ?inItem) as ?indegree)
(count(DISTINCT ?outItem) as ?outdegree)
((?indegree + ?outdegree ) AS ?degree)
WHERE { 
  BIND (wd:Q93 as ?item).
  OPTIONAL {
    ?inItem wdt:P1 ?item. # inDegree
    ?item wdt:P1 ?outItem. # outDegree
  } 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} group by ?item ?itemLabel

Try it!


Change harcoded item to parameter

Highest Degrees

Query currently limited to 15 items + items can overlap in the chart, for further information use the table-view'

Sinks

Returns sinks, items with 0 indegrees. These items can be regarded as destinations to a path.

Items used: Student (Q167), Category (Q169), Session (Q427)

Properties used: depends on (P1), instance of (P3), resource (P21)

#defaultView:Table
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
Select ?item ?itemLabel
(count(DISTINCT ?inItem) as ?indegree)
(count(DISTINCT ?outItem) as ?outdegree)
WHERE { 
  ?item wikibase:identifiers ?i. # get only items
  
  # filter out...
  MINUS {?inItem wdt:P1 ?item.} # all items with 1+ indegree
  MINUS {?item wdt:P3 wd:Q167.} # all students 
  MINUS {?item wdt:P3 wd:Q169.} # all categories 
  MINUS {?item wdt:P3 wd:Q427.} # all sessions
  MINUS {?inItem wdt:P21 ?item.} # all resources
  
  # show 0+ outdegrees of the items
  OPTIONAL {?item wdt:P1 ?outItem.}
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} 
group by ?item ?itemLabel
ORDER BY DESC(?item)
LIMIT 50 # change as needed

Try it!


Sources

Returns sources, items with 0 outdegrees. These items can be regarded as origins to a path.

Items used: Student (Q167), Category (Q169), Session (Q427)

Properties used: depends on (P1), instance of (P3), resource (P21)

#defaultView:Table
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
Select ?item ?itemLabel
(count(DISTINCT ?outItem) as ?outdegree)
(count(DISTINCT ?inItem) as ?indegree)
WHERE { 
  ?item wikibase:identifiers ?i. # get only items
  
  # filter out...
  MINUS {?item wdt:P1 ?outItem.} # all items with 1+ outdegree
  MINUS {?item wdt:P3 wd:Q167.} # all students 
  MINUS {?item wdt:P3 wd:Q169.} # all categories 
  MINUS {?item wdt:P3 wd:Q427.} # all sessions
  MINUS {?inItem wdt:P21 ?item.} # all resources
  
  # show 0+ outdegrees of the items
  OPTIONAL {
    ?inItem wdt:P1 ?item.
  }
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} 
group by ?item ?itemLabel
ORDER BY DESC(?item)
LIMIT 50 # change as needed

Try it!


Overlap

Returns the items that are used in more than one course, session, etc.

SessionOverlap

Gives the amount of times an item has been used in a session in descending order

Items used: Course (Q170), Session (Q427)

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

#defaultView:Table
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT  
?topic ?topicLabel
(COUNT (?topic) as ?used)
WHERE {
  ?course wdt:P3 wd:Q170. # def course
  ?session wdt:P3 wd:Q427. # def session
  ?course wdt:P14 ?session.
  ?session wdt:P14 ?topic.
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} GROUP BY ?topic ?topicLabel
ORDER BY DESC(?used) 
LIMIT 10

Try it!


Circularity

Returns items who point toward each other to create a circle.


Properties used: depends on (P1)

#defaultView:Graph
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?item ?itemLabel ?dependency ?dependencyLabel { 
  ?item wdt:P1 ?dependency.
  ?dependency wdt:P1 ?item.
  service wikibase:label { bd:serviceParam wikibase:language "en" }
}

Try it!


See also DebugQueries#Circular_Dependencies