Re: Naming Schema properties (Was: On using qualified names for properties)

On 5/14/2012 9:57 AM, Dan Brickley wrote:
> On 14 May 2012 09:40, Adrian Giurca<giurca@tu-cottbus.de>  wrote:
>> Hello Dan and all,
>>
>> I think the Egor's post on naming Schema properties [1]  opens an
>> interesting discussion. Let me exemplify by considering property "awards"
>> defined both by classes http://schema.org/Person and
>> http://schema.org/CreativeWork.
>>
>> The RDF approach defines the domain of this property as the union of these
>> two classes therefore when the property is named by http://schema.org/awards
>> then we get:
>>
>> <http://schema.org/awards>  rdfs:domain<http://schema.org/Person>.
>> <http://schema.org/awards>  rdfs:domain<http://schema.org/CreativeWork>.
> This would imply that anything that has an 'awards' property is a
> Person, and also, a CreativeWork.
>
> What we say is softer; that there is some (often nameless) class of
> things that can have an 'awards' property.
>
> > From http://schema.org/docs/datamodel.html
> "We have a set of properties
> each property may have one or more types as its domains. The property
> may be used for instances of any of these types.
> each property may have one or more types as its ranges. The value(s)
> of the property should be instances of at least one of these types."
>
>> However in an object oriented approach if property naming considers the
>> class  who introduced the property, e.g., http://schema.org/Person/awards
>> and http://schema.org/CreativeWork/awards then we have two different
>> properties
>>
>> <http://schema.org/Person/awards>  rdfs:domain<http://schema.org/Person>.
>> <http://schema.org/CreativeWork/awards>  rdfs:domain
>> <http://schema.org/CreativeWork>.
>>
>> Moreover, http://schema.org/CreativeWork/awards would be allowed to be used
>> on any subclass of http://schema.org/CreativeWork/ as keeping with
>> set-theoretic semantics of object orientation (class as a collection of all
>> its instances).
> Which would pull you towards treating an 'awards' on 'Sculpture' as a
> different property to an awards on 'ScholarlyArticle', 'TVEpisode'
> etc., multiplying entities rather generously.
Maybe is not necessary. I see two issues here:
1.  I will use "awards" in any @itemprop where this is allowed e.g.,
<div itemscope itemtype="http://schema.org/Sculpture/" >
<span itemprop="awards"> some award </span>
...
</div>

then a Schema processor will obtain the triples by understanding that 
http://schema.org/Sculpture/ is a subclass of 
http://schema.org/CreativeWork/ and therefore,

_1 rdf:type <http://schema.org/Sculpture/>.
_1 <http://schema.org/CreativeWork/awards> "the award".

2. Content creators are required to use 
http://schema.org/CreativeWork/awards  and NOT 
http://schema.org/Person/awards


>
> If some property has a domain of http://schema.org/CreativeWork then
> we might expect the property to appear on anything that was a
> CreativeWork, including for example a ScholarlyArticle. But (as above)
> schema:domain is weaker than rdfs:domain, in that it's more of a
> gentle documentation hint than a strict rule. The idea is to avoid
> over-populating the schema with vague classes like "AwardableEntity"
> as a common superclass of CreativeWork and Person.
>
> cheers,
>
> Dan
>
>
>> [1] http://lists.w3.org/Archives/Public/public-vocabs/2012May/0031.html
>>
>
>

Received on Monday, 14 May 2012 08:10:56 UTC