DebugQueries: Difference between revisions

(→‎Access to Items: update; added: Not in Sessions)
Line 199: Line 199:
== Resources ==
== Resources ==
'''Returns all Resources.'''
'''Returns all Resources.'''
{{#widget:SPARQLquery|code=
{{SPARQL2|query=
#defaultView:Table
#defaultView:Table
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
Line 205: Line 205:
SELECT DISTINCT ?resource ?resourceLabel ?labelLength  
SELECT DISTINCT ?resource ?resourceLabel ?labelLength  
WHERE {
WHERE {
 
  #?source wdt:P21 ?resource.
   ?resource wdt:P20 ?url.
   ?resource wdt:P20 ?url.
   ?resource rdfs:label ?resourceLabel.
   ?resource rdfs:label ?resourceLabel.
Line 218: Line 216:


Here it could be useful to find shorter alias for the items, for easier viewing in a visualisation.
Here it could be useful to find shorter alias for the items, for easier viewing in a visualisation.
{{#widget:SPARQLquery|code=
{{SPARQL2|query=
#defaultView:Table
#defaultView:Table
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
Line 251: Line 249:
         ?property wikibase:directClaim ?predicate}
         ?property wikibase:directClaim ?predicate}
   MINUS {?item wikibase:directClaim ?property} # remove Properties
   MINUS {?item wikibase:directClaim ?property} # remove Properties
  service wikibase:label { bd:serviceParam wikibase:language "en" }
}
}}
== Categories ==
'''Returns all [[Item:Q169|Categories]] and their sub-items.'''
{{SPARQL2|query=
#defaultView:Graph
#get all Items of a category
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?item ?itemLabel ?category ?categoryLabel {
  ?category wdt:P3 wd:Q169.
  ?item wdt:P2 ?category.
   service wikibase:label { bd:serviceParam wikibase:language "en" }
   service wikibase:label { bd:serviceParam wikibase:language "en" }
}
}
Line 257: Line 269:
== Sessions ==
== Sessions ==
'''Returns all [[Item:Q427|Sessions]], all Items that they include and the [[Item:Q170|Course]] that includes them.''' Excludes all items that are resources.
'''Returns all [[Item:Q427|Sessions]], all Items that they include and the [[Item:Q170|Course]] that includes them.''' Excludes all items that are resources.
{{#widget:SPARQLquery|code=
{{SPARQL2|query=
#defaultView:Graph
#defaultView:Graph
# via: https://phabricator.wikimedia.org/T168715
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wd: <https://graphit.ur.de/entity/>
Line 268: Line 279:
   MINUS {?item wdt:P20 ?url.}
   MINUS {?item wdt:P20 ?url.}
   MINUS {?session wdt:P3 wd:Q162.}
   MINUS {?session wdt:P3 wd:Q162.}
  # ?property a wikibase:Property;
  #            wikibase:directClaim wdt:P14.


   service wikibase:label { bd:serviceParam wikibase:language "en".
   service wikibase:label { bd:serviceParam wikibase:language "en".}
                          ?item rdfs:label ?itemLabel.
                          ?session rdfs:label ?sessionLabel.
                          ?property rdfs:label ?edgeLabel.}
}
}
}}
}}


== Categories ==
== Not in Sessions ==
'''Returns all [[Item:Q169|Categories]] and their sub-items.'''
'''Returns all items that are not (yet) part of a [[Item:Q427|Session]].'''
{{#widget: SPARQLquery|code=
{{#widget:SPARQLquery|code=
#defaultView:Graph
#defaultView:Table
#get all Items of a category
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?item ?itemLabel ?category ?categoryLabel {
select distinct ?item ?itemLabel ?session ?sessionLabel
   ?category wdt:P3 wd:Q169.
WHERE {
   ?item wdt:P2 ?category.
   ?item wdt:P1 ?dependency.
  MINUS {?session wdt:P14 ?item}.
   MINUS {?item wdt:P3 wd:Q169}.
   service wikibase:label { bd:serviceParam wikibase:language "en" }
   service wikibase:label { bd:serviceParam wikibase:language "en" }
}
}

Revision as of 09:30, 15 September 2023

This page contains several SPARQL-Queries to help debug the graph.

Useful Queries

A List of accessible queries, that are useful to understand the structure of the graph and identify problems, such as missing links. They can be changed as needed.

Backlinks

A query that finds all backlinks to a specific item.

Items used: Polygons (Q108)


#defaultView:Graph
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?subject ?subjectLabel ?item ?itemLabel { # ?property ?propertyLabel
  values (?item) {(wd:Q108)}
  ?subject ?predicate ?item .
  ?property wikibase:directClaim ?predicate
  service wikibase:label { bd:serviceParam wikibase:language "en" }
}

Try it!


All Items

Returns a list of all items and how they are categorized in alphabetical order. In this case categories are all items that are used to structure the graph, such as Article or Markers. This list can help spot duplicates or similiar items.



#defaultView:Table
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?item ?itemLabel {
  ?item ?predicate ?dependency.
  ?property wikibase:directClaim ?predicate
  service wikibase:label { bd:serviceParam wikibase:language "en" }
}
order by asc(UCASE(str(?itemLabel)))

Try it!



Missing Properties

Resources

No Resources

Returns all Items, that don't have any resource that they link to.

Unlinked Resources

Returns all resources, that have not been linked to any item yet.

Instance-less Resources

Returns all Resources that have no Property instance of.

No Subclass

Returns all Items, that don't have a property subclass.

No Dependencies

Returns all Items, that don't link any other items as dependency.

These items don't have a property depends on. This could mean, that they are the begining of a path.

No Links

Returns all Graph-items, that don't link to any other items and are not linked to in return. Does not return items used to structure the graph, such as Essential

No Description

Returns all items without a description.

No Instance

Returns all items that have and their Property instance of. Shows which items are not, e.g. Applications.


Access to Items

Queries that find items with specific proterties for an easier overview.

Quizzes

Returns all Items that are Quizzes.

Resources

Returns all Resources.


Properties used: url (P20)

#defaultView:Table
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
SELECT DISTINCT ?resource ?resourceLabel ?labelLength 
WHERE {
  ?resource wdt:P20 ?url.
  ?resource rdfs:label ?resourceLabel.
  BIND (strlen(str(?resourceLabel)) AS ?labelLength)
  service wikibase:label { bd:serviceParam wikibase:language "en" }
}

Try it!


Labels

Returns the items with the longest Labels (50). Doesn't return Resources.

Here it could be useful to find shorter alias for the items, for easier viewing in a visualisation. Items used: Student (Q167)

Properties used: subclass of (P2), 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 ?length ?alias { # ?property ?propertyLabel
  
  # ?item wdt:P2 ?class.
  ?item rdfs:label ?itemLabel.
  MINUS {?item wdt:P20 ?url}
  MINUS {?item wdt:P3 wd:Q167} # no Students
  BIND (strlen(str(?itemLabel)) AS ?length)
  OPTIONAL {?item skos:altLabel ?alias}
  
  service wikibase:label { bd:serviceParam wikibase:language "en" }
}
ORDER BY DESC(strlen(str(?itemLabel))) LIMIT 50

Try it!


Orphans

Returns all items that have no Properties. Excludes all Property-Items, such as depends on

Categories

Returns all Categories and their sub-items. Items used: Category (Q169)

Properties used: instance of (P3), subclass of (P2)

#defaultView:Graph
#get all Items of a category
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?item ?itemLabel ?category ?categoryLabel {
  ?category wdt:P3 wd:Q169.
  ?item wdt:P2 ?category.
  service wikibase:label { bd:serviceParam wikibase:language "en" }
}

Try it!


Sessions

Returns all Sessions, all Items that they include and the Course that includes them. Excludes all items that are resources. Items used: Quiz (Q162)

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

#defaultView:Graph
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?item ?itemLabel ?session ?sessionLabel ?course ?courseLabel ?edgeLabel
where {
  
  ?session wdt:P14 ?item.
  MINUS {?item wdt:P20 ?url.}
  MINUS {?session wdt:P3 wd:Q162.}

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

Try it!


Not in Sessions

Returns all items that are not (yet) part of a Session.


Miscellaneous

Circle Dependency

Returns items that link back towards each other, creating a circle dependency.

Categories with Resources

Returns all Categories that link to resources. This could be a sign to create new items or find better item to properly link these resources to.