Graph Statistics

Revision as of 12:55, 28 November 2023 by Leonie (talk | contribs) (→‎ResourceCount: added Course Resource Count)

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

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!


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