- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Thu, 18 Dec 2014 20:16:18 -0500
- To: public-vocabs@w3.org
- Message-ID: <54937C62.5020601@openlinksw.com>
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." ] . -- 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
Attachments
- application/pkcs7-signature attachment: S/MIME Cryptographic Signature
Received on Friday, 19 December 2014 01:16:40 UTC