Search code examples
sparqlwikidata

Wikidata: list every physical objects


I'm trying to get the name of the all physical things (tangible concepts) Wikidata knows about (objects, places, countries, etc), or in other words everything non-abstract.

There are examples close to what I need, but with only a depth of one: all the things that are instances of phone.

I found this example that searches with more depth and I modified the start point to entity:

#Children of Genghis Khan

#added before 2016-10
 #defaultView:Graph
PREFIX gas: <http://www.bigdata.com/rdf/gas#>

SELECT ?item ?itemLabel ?pic ?linkTo
WHERE
{
  SERVICE gas:service {
    gas:program gas:gasClass "com.bigdata.rdf.graph.analytics.SSSP" ;
                gas:in wd:Q35120 ;
                gas:traversalDirection "Forward" ;
                gas:out ?item ;
                gas:out1 ?depth ;
                gas:maxIterations 4 ;
                gas:linkType wdt:279 .
  }
  OPTIONAL { ?item wdt:P40 ?linkTo }
  OPTIONAL { ?item wdt:P18 ?pic }
  SERVICE wikibase:label {bd:serviceParam wikibase:language "en" }
}

I still get no results.


Solution

  • As mentionned in a comment, your question is too broad and you'll end up with too much answers

    You look for the A that are instance of a subclass of B

    so the query you point to is the right one

    SELECT DISTINCT ?item
    WHERE {
       ?item wdt:P31/wdt:P279* wd:Q35120
    }
    

    the problem is the size wd:Q35120 has a lot of subclasses You can check that this way

    SELECT ?a ?aLabel WHERE { ?a wdt:P279 wd:Q35120.
                 SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
    }
    
    SELECT ?a ?aLabel WHERE { ?a wdt:P279/wdt:P279? wd:Q35120.
                 SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
    }
    
    SELECT ?a ?aLabel WHERE { ?a wdt:P279/wdt:P279?/wdt:P279? wd:Q35120.
                 SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
    }
    

    And so on : you'll see that there are already 40'000+ at forth level which is huge

    You could also huge this nice tool to have a more precise view

    https://tools.wmflabs.org/bambots/WikidataClasses.php?id=Q35120&lang=en