Trying to understand "expected types" and "type.property.schema" properties in Freebase

393 views Asked by At

Property: expected type

Definition: The expected type of the object referred to by this property [1].

  • is expected type equalt to rdfs:range?
  • Is it the most probable type among all other types that the object might have?

Property: type.property.schema

Definition: The link from a property to its underlying type. This forces a property to only belong to a single type [1].

  • Is type.property.schema equal to rdfs:domain?
  • What do they mean by the link? and does a property belong to a single type?
  • Does it mean that we are now forced to use only one type fromrdfs:domain?
  • I am a little confused because from what I understood, properties can have multiple types right?

2

There are 2 answers

4
Joshua Taylor On BEST ANSWER

I'm not a freebase user, so I don't have a lot of context for the Freebase specific parts, here, but I can speak about about possible relationships to

  • is expected type equal to rdfs:range?
  • is type.property.schema equal to rdfs:domain?

I'd interpret a description like:

Definition: The expected type of the object referred to by this property

to mean something weaker than what rdfs:range means. The rdfs:range property means that you can infer that the object of a triple with that property actually has the range as a type. That is, from:

    p rdfs:range R

and

    x p y

you can infer that

    y rdf:type R

If you can independently infer that y does not have type R, then you have a logical inconsistency. However, it sounds like with "expected type", you'd just have something "unexpected", but not necessarily a logical inconsistency. For instance, you might expect a price to be stated in some national currency, but it's not incorrect to state it in something else, just unexpected.

On the other hand, the definition:

Definition: The link from a property to its underlying type. This forces a property to only belong to a single type

actually does seem like a pretty good match to rdfs:domain. If you know that something has a value for the property, then the thing with the property must have the specified type. However, I don't know whether freebase has another object model more akin to a (common) object-oriented programming language, where properties "belong" to classes. In RDF, properties don't really belong to types.

2
Tom Morris On

Expected Type is mostly a social/UI construct. It influences how the Freebase web UI [used to] guide the user in choosing appropriate link targets, but if one were to write a triple/quad using MQLwrite or one of the bulk upload APIs, it would have no effect whatsoever, so it's not appropriate to rely on it when trying to reason about what was intended.

Similarly, the type/property/schema property guides several web UI actions, but only by convention and has no influence on what is or is not allowed at the raw triple level.

Because of the above behaviors, one should be especially carefully about inferring intent from triples which don't match what's shown in the Freebase web client because they're unlikely to have been vetted by many (or any!) people. "Naked triples" (ie without a corresponding asserted type), would-be topics without the type /common/topic asserted, and a variety of other corner cases should all be view askance when attempting to infer intent.

To answer some of the sub-questions:

  • Yes, a property "belongs" to a single type (although, as described above, it's a very weak belonging relationship). You can see this from the schema page by the italic unique next to the property description
  • No, a property can't "belong" to multiple types (see above about uniqueness)
  • No, rdfs:range and rdfs:domain are not equivalent to the given Freebase properties, for the reasons described above.