The Naming of Things

How identifiers are represented in :BaseKB

For nearly any query you want to ask :BaseKB, you will need to discover the names of the properties that you wish to use.

:BaseKB contains nearly 4 million topics, 12,000 classes and 100,000+ properties, so this can be a challenge. We're developing new tools to help you here, but in the meantime we'll explain how to look objects and properties up manually and programatically and about the naming conventions we share with Freebase.

Looking Up Names Manually

How to find types, predicates and entities

You can look identifiers up with the Freebase web interface. If, for instance, you type the phrase "United States", autocompletion will send you to this node. The Freebase identifier /en/united_states applies here, and you can make this a BaseKB id by replacing slashes with periods: basekb:en.united_states.

The "Edit and Show Details" button on the bottom of that page will take you to a page which breaks down the properties of the topic by types. One of these types, /location/dated_location has a property named "Date founded". If you click on the wrench logo, you'll see a schema page that reveals this property is named /location/dated_location/date_founded. The two identifiers we've looked up are used on the example query here.

The space of Freebase names can also be explored by starting at the root node and following /type/object/key relations to find what you're looking for.

Introspecting the Freebase Schema

The Freebase Schema can be queried in SPARQL

The Freebase Schema (lower ontology) and Metaschema (middle ontology) are encoded as triples inside :BaseKB. The Freebase schema is similar in spirit to RDFS, but is sufficiently different that RDFS inference on Freebase produces incorrect entailments.

The most important schema properties belong to the /type/propery type. The following query pulls up properties that apply to basekb:people.person:

select ?label ?property ?range {
  graph public:baseKB {" + 
    ?property basekb:type.property.schema 
      basekb:people.person .
    OPTIONAL {
      ?property basekb:type.property.expected_type ?range .
    }
    OPTIONAL {
      ?property rdfs:label ?label .
      FILTER(lang(?label)='en')
    }
  }
}

Unique Name Assumption

The Unique Name Assumption holds inside :BaseKB

It is difficult to write queries if a database does not support the Unique Name Assumption. If we ask, for instance, who is the author of "The Caves of Steel" we'll find that different authorities use names like basekb:en.issac_asimov, fbase:m.03rx9, dbpedia:Issac_Asimov. Unless you've got some mechanism to know these refer to the same thing, you'd come to the conclusion that the book was written by a committee.

We believe the standard semantics of owl:sameAs do not solve this problem, instead, like Freeebase, we consistently use unique mid identifiers for all topics, (ex. basekb:m.03rx9) and resolve alternative names to this before bringing them across the system boundary.

basekb-tools does this resolution for SPARQL queries.

You can merge other data sources (ex. DBpedia) with :BaseKB in the :BaseKB viewpoint by resolving foreign ids to unique :BaseKB ids. You are free to use other reconciliation methods, benefitting from the clean data provided by Freebase and :BaseKB

Dbpedia & other authorities

The Freebase namespace mechanism is used to represent external identifiers, for instance, the basekb:wikipedia.en namespace contains the (non-Unique) English Wikipedia identifiers for a topic. You can find the :BaseKB topic that corresponds to dbpedia:Urusei_Yatsura with the following query:

select ?topic {
  graph public:baseKB {
    ?topic basekb:wikipedia.en 'Urusei_Yatsura'
  }
}

It would be possible (and desirable) to publish statements of the form

basekb:m.014kzr public:dbpediaLink dbpedia:Urusei_Yatsura .
this hasn't happened yet because doing this correctly would involve a careful comparison with output of DBpedia to confirm that we deal with IRI vs URI issues in a compatible manner.

:BaseKB undoes the encoding on Unicode characters done in the Freebase quad dump, so that

basekb:m.014kzr basekb:wikipedia.jp "うる星やつら" .

:BaseKB is a product of Ontology2. See our privacy policy and terms of use. :BaseKB contains data from Freebase.