Re: Property Names, was Re: Automotive, EXIF, Property-Values

The difference would be open world (OWL) vs. closed world (SPIN) 
assumptions.

kc

On 12/19/14 4:12 AM, Kingsley Idehen wrote:
> On 12/19/14 5:03 AM, Niklas Lindström wrote:
>> How is this different from using owl:Restriction? Something like:
>>
>>     schema:MedicalEntity a rdfs:Class ;
>>         rdfs:subClassOf schema:Thing ;
>>         rdfs:subClassOf [ a owl:Restriction ;
>>                 owl:onProperty schema:code ;
>>                 owl:allValuesFrom schema:MedicalCode ;
>>                 rdfs:label "code" ;
>>                 rdfs:comment "A medical code for the entity, taken
>> from a controlled vocabulary or ontology such as ICD-9, DiseasesDB,
>> MeSH, SNOMED-CT, RxNorm, etc." ;
>>             ] ; ...
>>
>> Cheers,
>> Niklas
>
>  From my vantage point, no difference :)
>
> Could be seen (somewhat verbosely) as:
>
> @prefix spin: <http://spinrdf.org/spin#> .
> @prefix schema: <http://schema.org/> .
>
> <#property>
> rdfs:label "property";
> rdfs:comment "An Attribute of a Class. An Attribute being a Name=Value
> pairing.";
> rdfs:subPropertyOf spin:constraint .
>
> <#PropertyConstraint>
> a owl:Class ;
> rdfs:subClassOf owl:Restriction ;
> rdfs:label "PropertyConstraint" ;
> rdfs:comment """A constraint on a property of a class """  ;
> is rdfs:range of <#property> .
>
> schema:MedicalEntity
>      a rdfs:Class ;
>      rdfs:subClassOf schema:Thing ;
>      <#property> [
>                             a  <#PropertyConstraint> ;
>                            <#predicate> schema:code ;
>                            <#valueType> schema:MedicalCode ;
>                             rdfs:label "code" ;
>                             rdfs:comment """A medical code for the
> entity, taken from a controlled vocabulary or ontology
>                                       such as ICD-9, DiseasesDB, MeSH,
> SNOMED-CT, RxNorm, etc."""
>      ] .
>
>
> Kingsley
>>
>>
>> On Fri, Dec 19, 2014 at 2:32 AM, Kingsley Idehen
>> <kidehen@openlinksw.com <mailto:kidehen@openlinksw.com>> wrote:
>>
>>     On 12/18/14 8:16 PM, Kingsley Idehen wrote:
>>
>>         On 12/18/14 6:34 PM, Holger Knublauch wrote:
>>
>>
>>             On 12/19/14, 12:33 AM, Kingsley Idehen wrote:
>>
>>                 On 12/17/14 10:06 PM, Holger Knublauch wrote:
>>
>>                     On 12/18/2014 12:15, Young,Jeff (OR) wrote:
>>
>>                         I'll give it a shot.
>>
>>                         Humans are great at intuition, but suck at
>>                         probabilities. Conversely computers are great
>>                         at probabilities, but suck at intuition.
>>
>>                         Schema.org is currently targeted at the
>>                         middle. If I (as a human) use the term
>>                         http://schema.org/publisher, the "inference"
>>                         (by a machine) is that the object is a
>>                         schema:Organization, but only
>>                         probabilistically. Some creative works are
>>                         "published" by people. It's a trivial example,
>>                         but it help illustrate why
>>                         schema:rangeIncludes is more useful and
>>                         interesting than rdfs:range. It provides a
>>                         open-world mechanism for the data consumer
>>                         (aided by computers but summarily judged by
>>                         humans) to learn about other possibilities.
>>
>>
>>                     I think we are talking about different things
>>                     here. I am not comparing schema:rangeIncludes with
>>                     rdfs:range, but with the class-centric definition
>>                     that I suggested below. The class-centric approach
>>                     is more flexible (for machines) than
>>                     rangeIncludes, and can easily also be used to
>>                     produce things like UML diagrams that are
>>                     intuitive to understand by humans.
>>
>>                     Holger
>>
>>
>>                 Will the following syntax:
>>
>>                 schema:MedicalEntity
>>                     a rdfs:Class ;
>>                     rdfs:subClassOf schema:Thing ;
>>                     :property [
>>                         :predicate schema:code ;
>>                         :valueType schema:MedicalCode ;
>>                         rdfs:label "code" ;
>>                         rdfs:comment "A medical code for the entity,
>>                 taken from a controlled vocabulary or ontology such as
>>                 ICD-9, DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc." ;
>>                     ] ; ...
>>
>>
>>             Let me try to rephrase what this means in prose: The
>>             property schema:code is potentially relevant for all
>>             instances of schema:MedicalEntity (and its subclasses).
>>             When used for such instances, all values of the property
>>             schema:code are expected to have type schema:MedicalCode
>>             (or a subclass of it). User interfaces displaying
>>             instances of MedicalEntity should use the provided label
>>             and comment when talking about schema:code. The comment
>>             also doubles as a description for API documentation etc.
>>             The constraint does not narrow down the expected number of
>>             values (cardinality) - that would be done via :minCount
>>             and :maxCount. Instances of the class may have many other
>>             properties, and there is no limit on using other
>>             properties that are not explicitly enumerated via :property.
>>
>>
>>                 Equate to the following, semantically (represented
>>                 using "is of" syntax sugar)?
>>
>>                 schema:MedicalEntity
>>                 a rdfs:Class ;
>>                 rdfs:subClassOf schema:Thing ;
>>                 is schema:domainincludes of
>>                 schema:code,
>>                 schema:MedicalCode,
>>                 rdfs:label "code",
>>                 rdfs:comment .
>>
>>
>>             Something feels missing above (did some characters
>>             disappear?), but yes :property is comparable to the
>>             inverse of schema:domainIncludes, only that it uses a
>>             (blank) node to collect various characteristics of the
>>             property and thus carries more information than
>>             domainIncludes. In fact it also includes rangeIncludes and
>>             many other things.
>>
>>
>>                 I am hoping the shapes related syntax sugar is
>>                 distinct from actual underlying semantics.
>>
>>             The proposed syntax above has formal semantics, backed by
>>             SPARQL queries (e.g. using COUNT for the cardinality
>>             checks). (In terms of SPIN, :property is just a
>>             sub-property of spin:constraint, and the bnode is a SPIN
>>             template call.)
>>
>>             HTH
>>             Holger
>>
>>
>>         Holger,
>>
>>         Sorry! I should have taken it as RDF rather than thinking (for
>>         whatever reasons) it was syntax sugar :)
>>
>>         Anyway, how about, this little tweak:
>>
>>         @prefix spin <http://spinrdf.org/spin#> .
>>
>>         <#property>
>>         rdfs:label "Property";
>>         rdfs:comment "An Attribute of a Class, where each Attribute is
>>         a Name=Value pairing.";
>>         rdfs:subPropertyOf spin:constraint .
>>
>>         schema:MedicalEntity
>>             a rdfs:Class ;
>>             rdfs:subClassOf schema:Thing ;
>>             <#property> [
>>                                    <#predicate> schema:code ;
>>                                    <#valueType> schema:MedicalCode ;
>>                                    rdfs:label "code" ;
>>                                    rdfs:comment "A medical code for
>>         the entity, taken from a controlled vocabulary or ontology
>>                                                      such as ICD-9,
>>         DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc."
>>             ] .
>>
>>
>>     Minor aesthetic tweak:
>>
>>     @prefix spin: <http://spinrdf.org/spin#> .
>>     @prefix schema: <http://schema.org/> .
>>
>>     <#property>
>>     rdfs:subPropertyOf spin:constraint ;
>>     # rdfs:label "Property";
>>     rdfs:label "property";
>>     rdfs:comment "An Attribute of a Class. An Attribute being a
>>     Name=Value pairing.";
>>
>>     rdfs:subPropertyOf spin:constraint .
>>
>>     schema:MedicalEntity
>>     a rdfs:Class ;
>>     rdfs:subClassOf schema:Thing ;
>>     <#property> [
>>                           <#predicate> schema:code ;
>>                           <#valueType> schema:MedicalCode ;
>>                            rdfs:label "code" ;
>>                            rdfs:comment """A medical code for the
>>     entity, taken from a controlled vocabulary or ontology
>>                                          such as ICD-9, DiseasesDB,
>>     MeSH, SNOMED-CT, RxNorm, etc."""
>>         ] .
>>
>>
>>
>>     --
>>     Regards,
>>
>>     Kingsley Idehen
>>     Founder & CEO
>>     OpenLink Software
>>     Company Web: http://www.openlinksw.com
>>     Personal Weblog 1: http://kidehen.blogspot.com
>>     Personal Weblog 2: http://www.openlinksw.com/blog/~kidehen
>>     <http://www.openlinksw.com/blog/%7Ekidehen>
>>     Twitter Profile: https://twitter.com/kidehen
>>     Google+ Profile: https://plus.google.com/+KingsleyIdehen/about
>>     LinkedIn Profile: http://www.linkedin.com/in/kidehen
>>     Personal WebID:
>>     http://kingsley.idehen.net/dataspace/person/kidehen#this
>>
>>
>
>
> --
> Regards,
>
> Kingsley Idehen 
> Founder & CEO
> OpenLink Software
> Company Web:http://www.openlinksw.com
> Personal Weblog 1:http://kidehen.blogspot.com
> Personal Weblog 2:http://www.openlinksw.com/blog/~kidehen
> Twitter Profile:https://twitter.com/kidehen
> Google+ Profile:https://plus.google.com/+KingsleyIdehen/about
> LinkedIn Profile:http://www.linkedin.com/in/kidehen
> Personal WebID:http://kingsley.idehen.net/dataspace/person/kidehen#this
>

-- 
Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600

Received on Friday, 19 December 2014 16:55:46 UTC