- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Thu, 18 Dec 2014 20:32:22 -0500
- To: public-vocabs@w3.org
- Message-ID: <54938026.8050208@openlinksw.com>
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
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:32:44 UTC