- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Fri, 19 Dec 2014 12:27:36 -0500
- To: public-vocabs@w3.org
- Message-ID: <54946008.5080505@openlinksw.com>
On 12/19/14 11:55 AM, Karen Coyle wrote: > The difference would be open world (OWL) vs. closed world (SPIN) > assumptions. Hmm... Yes-ish. Don't restrictions, by implication, close (or at least narrow) the world? :) Kingsley > > 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 >> > -- 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 17:27:58 UTC