Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Does a subproperty imply a property? #1896
If I understand this correctly, then I would think that the domain and range of
Let’s assume that
Then it is safe to assume that:
If this were not the case, then it would be possible that
Here’s a live example: (where
We can see that the domain of
If this all makes sense, then shouldn’t there be efforts made that domains and ranges of subproperties are each subclasses of the domains and ranges, respectively, of the properties they extend? I see a lot of cases where this principle is not upheld, including:
Because of these discrepancies, we can have a situation in which, e.g.,
If I understand you correctly, you are suggesting that In terms of the Schema.org website interface the expected type(s) listed for a property should include those of the property's super-properties.
In data terms, that would mean that the effective rangeIncludes for a property would be the sum of the contents of its rangeIncludes plus the rangeIncludes of the property that it is subProperty of.
If that is correct, I have some sympathy for that view.
@RichardWallis not exactly. I’m suggesting that a sub-property’s
In my second example, where
If I am to be precise, not all restrictions are subClasses. If a property’s domain is a union such as
Only then will a sub-property be able to imply its super-property, i.e. if
@chharvey I am a little confused about your rangeIncludes suggestions:
That is what happens now:
With regard to domainIncludes, I think what you are saying is that a sub-property should only include in its domainIncludes types that are in its super-property's domain (and their subtypes).
I don't agree with that. The flexible approach to the development and structure of the vocabulary depends on the ability to use, and reuse, suitable properties in appropriate types. This as described in general terms on the Data Model page, including the reference to Postel's Law.
@RichardWallis Yes it sounds like you understand now the point I was making. My
If my interpretation that “a subproperty implies a property” is correct—that is, if
But again as I’ve pointed out, if you don’t want the domain/range of
Per my example above: assume
My suggestion in general is to adhere to the “rule” that a sub-property’s domain/range should be subsets of its super-property’s domain/range. Otherwise, it should be redefined what it really means for a property to be a “sub-property” of another.
What I believe you are seeing here is symptomatic of the flexible, consensus driven, evolving nature of the vocabulary that is Schema.org, as against a strongly constrained, rules based ontology.
As mentioned on the Data Model page "The type/properties associations of schema.org are closer to "guidelines" than to formal rules"
So, to simply answer the question in the title of this issue "Does a subproperty imply a property?". No.
@RichardWallis Thank you for clarifying. I understand that the structure/relationship of Schema.org vocabulary terms is adaptive and lenient as opposed to a more rigorous ontology. It makes me wonder, then, what’s the point of having subproperties at all? If there’s no rigorous condition that “a subproperty implies a property”, then is there really a strong case for documenting one property as a subproperty of another, and how will this help authors in a meaningful way, without confusing/frustrating them?
It's all about guidelines. Indicating the type of relationship a property has with the Types included its domain. That type of relationship often being more specific for the sub-property.
So, loosely, a Thing (or one of its many subtypes) can have an identifier of many types. However, an isbn (a specific category of identifier) is only relevant as a property for one of those subtypes, Book.
Seeing how a super-property relates to the types in its domain can give examples/guidance as to how a subtype may be used.