Graph Statistics: Difference between revisions

(→‎Simple Metrics: added InDegree of Item)
(→‎Simple Metrics: update metrics)
 
(16 intermediate revisions by the same user not shown)
Line 6: Line 6:


= Simple Metrics =
= Simple Metrics =
{{#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*%20WHERE%20%7B%0A%0A%20%20%7BSELECT%20(COUNT(*)%20as%20%3Fitems)%20%0A%20%20WHERE%20%7B%0A%20%20%20%20%3Fitem%20wikibase%3Aidentifiers%20%3Fi.%20%23%20get%20only%20items%0A%20%20%7D%7D%0A%20%20%0A%20%20%7B%20SELECT%20(COUNT(*)%20as%20%3Fproperties)%20%0A%20%20WHERE%20%7B%0A%20%20%20%20%3Fproperty%20a%20wikibase%3AProperty.%0A%20%20%7D%7D%0A%20%20%0A%20%20%7B%20SELECT%20(COUNT(*)%20as%20%3Fresources)%20%0A%20%20WHERE%20%7B%0A%20%20%20%20%3Fitem%20wdt%3AP21%20%3Fresources.%0A%20%20%7D%7D%0A%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=
items=$.results.bindings[0].items.value,
properties=$.results.bindings[0].properties.value,
resources=$.results.bindings[0].resources.value,
}}
{{#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%20(COUNT%20(DISTINCT%20%3Fstudent)%20as%20%3Fstudents)%0AWHERE%20%7B%0A%20%20%3Fstudent%20wdt%3AP3%20wd%3AQ167%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=students=$.results.bindings[0].students.value,
}}
{{#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%20(COUNT%20(DISTINCT%20%3Fcourse)%20as%20%3Fcourses)%0AWHERE%20%7B%0A%20%20%3Fcourse%20wdt%3AP3%20wd%3AQ170.%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=example-courses=$.results.bindings[0].courses.value,
}}
{{#get_web_data:url=http://query.graphit.ur.de/proxy/wdqs/bigdata/namespace/wdq/sparql?query=%23defaultView%3ATable%0APREFIX%20wdt%3A%20%3Chttps%3A%2F%2Fgraphit.ur.de%2Fprop%2Fdirect%2F%3E%0APREFIX%20wd%3A%20%3Chttps%3A%2F%2Fgraphit.ur.de%2Fentity%2F%3E%0ASELECT%20%23%20DISTINCT%20%3Fcourse%20%3FcourseLabel%20%0A(COUNT%20(DISTINCT%20%3Fcourse)%20as%20%3Fcourses)%0AWHERE%20%7B%0A%20%20%0A%20%20%3Fcourse%20wdt%3AP3%20wd%3AQ170.%0A%20%20%3Fcourse%20wdt%3AP14%20%3Fitem.%0A%0A%20%20service%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22.%7D%0A%7D%20%23%20GROUP%20BY%20%3Fcourse%20%3FcourseLabel&format=json
|format=json
|use jsonpath
|data=courses=$.results.bindings[0].courses.value,
}}
'''GraphIT''' currently has:
* '''{{#external_value:items}}''' items
* '''{{#external_value:properties}}''' properties
* '''{{#external_value:resources}}''' resources
* '''{{#external_value:students}}''' active student users
*  '''{{#external_value:courses}}''' courses
* '''{{#external_value:example-courses}}''' exemplary courses
{{QA|question=source queries | answer=
Count of courses that have content.
{{SPARQL2|query=
#defaultView:Table
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
SELECT # DISTINCT ?course ?courseLabel
(COUNT (DISTINCT ?course) as ?courses)
WHERE {
 
  ?course wdt:P3 wd:Q170.
  ?course wdt:P14 ?item.
  service wikibase:label { bd:serviceParam wikibase:language "en".}
}
}}
}}
= Queries =
== ItemCount ==
== ItemCount ==
Gives a count of all items in the Wikibase-instance.
Gives a count of all items in the Wikibase-instance.
Line 14: Line 71:
SELECT (COUNT(*) as ?items)  
SELECT (COUNT(*) as ?items)  
WHERE {
WHERE {
  # items that have 0+ statements
   ?item wikibase:identifiers ?i. # get only items
   ?item wikibase:statements ?s.
  MINUS{ ?item a wikibase:Property } # Filter out properties
  MINUS{ ?item wdt:P3 wd:Q167 } # Filter out students
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} LIMIT 25
}  
}}
}}
''Make inline''
''Make inline''
Line 37: Line 91:
''Make inline''
''Make inline''


== InDegree of Item ==
== ResourceCount ==
Gives back the indegree (=all dependencies (P1) going '''in''' to a node) of a specific item.
Gives the amount of Resources in the Wikibase-instance
{{SPARQL2|query=
#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". }
}
}}
''Make inline''
 
=== Course ResourceCount ===
Gives back the amount of Resources used in a specific course.
{{Note|text=This query works with the "included in" dependencies}}
 
{{SPARQL2|query=
#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". }
}
}}
''Make inline''
 
=== StudentCount ===
Gives the amount of Students using GraphIT.
 
{{SPARQL2|query=
#defaultView:Table
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT (COUNT (DISTINCT ?student) as ?students)
WHERE {
  ?student wdt:P3 wd:Q167
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
}}
 
== SessionCount ==
Gives back the amount of Sessions that exist for every course and the sum of topics used in the sessions.


{{SPARQL2|query=
{{SPARQL2|query=
Line 44: Line 144:
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
Select ?item ?itemLabel (count(DISTINCT ?inItem) as ?inDegree)  
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
}}
 
== TopicCount ==
Gives the count of topics from every existing session.
 
{{SPARQL2|query=
#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
}}
 
= 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 <span style="background-color:#eaecf0;">wdt:P1</span> to  <span style="background-color:#eaecf0;">?p</span>. This will include things such as resources and dates.
 
{{SPARQL2|query=
#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 {  
WHERE {  
   BIND (wd:Q93 as ?item).
   BIND (wd:Q93 as ?item).
   OPTIONAL {?inItem wdt:P1 ?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
}}
''Change harcoded item to parameter''
 
== Highest Degrees ==
{{#widget:SPARQLquery|code=
#defaultView:ScatterChart
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
Select
(count(DISTINCT ?inItem) as ?indegree)
(count(DISTINCT ?outItem) as ?outdegree)
((?indegree + ?outdegree ) AS ?degree)
?item ?itemLabel
WHERE {
  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
ORDER BY DESC(?degree)
LIMIT 15
}}
''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.
 
{{SPARQL2|query=
#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". }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}  
}  
group by ?item ?itemLabel LIMIT 10
group by ?item ?itemLabel
ORDER BY DESC(?item)
LIMIT 50 # change as needed
}}
}}
''Change harcoded item to parameter''


== OutDegree of Item ==
== Sources ==
Gives back the outdegree (= all dependencies (P1) going '''out''' of a node) of a specific item.
Returns sources, items with '''0 outdegrees'''.
These items can be regarded as origins to a path.


{{SPARQL2|query=
{{SPARQL2|query=
Line 61: Line 262:
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
Select ?item ?itemLabel (count(DISTINCT ?outItem) as ?outDegree)  
Select ?item ?itemLabel
(count(DISTINCT ?outItem) as ?outdegree)
(count(DISTINCT ?inItem) as ?indegree)
WHERE {  
WHERE {  
   BIND (wd:Q113 as ?item).
   ?item wikibase:identifiers ?i. # get only items
   OPTIONAL {?item wdt:P1 ?outItem.} # replace wdt:P1 with ?p to get ALL "outItems"
 
  # 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". }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}  
}  
group by ?item ?itemLabel LIMIT 10
group by ?item ?itemLabel
ORDER BY DESC(?item)
LIMIT 50 # change as needed
}}
 
= Path =
Returns the amount of items included in a path between two items.
This count does include these two items.
 
{{SPARQL2|query=
#defaultView:Table
# via: https://stackoverflow.com/a/18991480
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?subject ?subjectLabel ?item ?itemLabel
(COUNT(DISTINCT ?mid) as ?PathItems)
{
  BIND(wd:Q149 as ?subject).
  BIND(wd:Q106 as ?item).
 
  ?subject wdt:P1* ?mid.
  ?mid wdt:P1+ ?item.
 
  service wikibase:label { bd:serviceParam wikibase:language "en" }
} GROUP BY ?subject ?subjectLabel ?item ?itemLabel
LIMIT 5
}}
}}
''Change harcoded item to parameter''
 
= 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
 
{{SPARQL2|query=
#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
}}
 
= Circularity =
Returns items who point toward each other to create a circle.
{{SPARQL2|query=
#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" }
}
}}
''See also [[DebugQueries#Circular_Dependencies]]''

Latest revision as of 10:38, 9 February 2024

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

Simple Metrics

GraphIT currently has:

  • 1779 items
  • 38 properties
  • 461 resources
  • 85 active student users
  • 7 courses
  • 26 exemplary courses


source queries
Count of courses that have content.

Items used: Course (Q170)

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

#defaultView:Table
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
SELECT # DISTINCT ?course ?courseLabel 
(COUNT (DISTINCT ?course) as ?courses)
WHERE {
  
  ?course wdt:P3 wd:Q170.
  ?course wdt:P14 ?item.

  service wikibase:label { bd:serviceParam wikibase:language "en".}
}

Try it!


Queries

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

StudentCount

Gives the amount of Students using GraphIT.

Items used: Student (Q167)

Properties used: instance of (P3)

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

Try it!


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!


Path

Returns the amount of items included in a path between two items. This count does include these two items.

Items used: Virtual Cameras (Q149), Points and Vectors (Q106)

Properties used: depends on (P1)

#defaultView:Table
# via: https://stackoverflow.com/a/18991480
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?subject ?subjectLabel ?item ?itemLabel 
(COUNT(DISTINCT ?mid) as ?PathItems)
{ 
  BIND(wd:Q149 as ?subject). 
  BIND(wd:Q106 as ?item).
  
  ?subject wdt:P1* ?mid. 
  ?mid wdt:P1+ ?item.
  
  service wikibase:label { bd:serviceParam wikibase:language "en" }
} GROUP BY ?subject ?subjectLabel ?item ?itemLabel 
LIMIT 5

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