- From: James Hudson <jameshudson3010@gmail.com>
- Date: Wed, 11 Mar 2020 09:26:52 -0400
- To: public-schemaorg@w3.org
- Message-ID: <CAEUVO9GyhrpbtisRG+e99F3wdYZSeBkfTFVc7A2VP69bibbCSg@mail.gmail.com>
Hello,
I am working on designing a vocabulary and generally liked the approach
taken by schema.org.
The syntax I will be adopting is json-ld.
There is a concept I would like to have in my vocabulary and I am not
precisely sure what the proper design would be. It involves having a
property with a well defined min & max value -- like a percentage which
would take on values of 0 to 100. The idea is that I would like to define a
property which specifies what the acceptable min and max values are for the
value of the property.
I see that schema.org defines QuantitativeValue
<https://schema.org/QuantitativeValue> which has minValue and maxValue
properties. I believe one would start with a subclass of QuantitativeValue,
but I am not certain where to go from there.
To try to answer this question myself, let's define a class which will have
a property which has a min and max value.
*(A)*
{
"@id": "http://my-company.org/MyCompanyClass",
"@type": "rdfs:Class",
"rdfs:comment": "A class that will change the world",
"rdfs:label": "MyCompanyClass",
},
The property of the class would be defined as:
*(B)*
{
"@id": "http://my-company.org/chanceOfSuccess",
"@type": "rdf:Property",
"http://schema.org/domainIncludes": {
"@id": "http://my-company.org/MyCompanyClass"
},
"http://schema.org/rangeIncludes": {
"@id": "http://schema.org/QuantitativeValue"
},
"rdfs:comment": "The chance of success as expressed as a percentage
between 0 and 100.",
"rdfs:label": "chanceOfSuccess"
}
It is at this point that I get a bit confused about how to proceed.
Taking a look at https://schema.org/LoanOrCredit, I might try to do the
following:
*(C)*
{
"@context":"http://my-company.org",
"@type":"MyCompanyClass",
"name":"An attempt I will make",
"chanceOfSuccess": {
"@type":"QuantitativeValue",
"name": "the chances",
"minValue":"0",
"maxValue":"100"
}
}
And again, I am stuck and unsure of how to proceed. It seems as if the
minValue & maxValue fields belong in the property defintion.
Why do I think I am stuck?
Because, at this point, I would like to use (C) as a Class or Type and then
write something like:
*(D)*
{
"@context":"http://my-company.org",
"@type":"(C)",
"name":"about my attempt",
"chanceOfSuccess": {
"@type":"QuantitativeValue",
"value": "50"
}
}
Something doesn't feel right about all of this. I am clearly missing some
key concept, but I am not sure what that is at the moment.
Any thoughts, comments, or ideas would be appreciated.
Regards,
James
Received on Wednesday, 11 March 2020 13:27:16 UTC