In the W3C LBD we are comparing different ways of modelling (complex) properties.
One option:
ex:Height rdf:type bs:PropertyType ;
bs:hasQuantity cdt:length .
ex:Door_1 rdf:type ex :Door ;
bs:hasProperty ex:Height_1 .
ex:Height_1 rdf:type bs:Property ;
bs:hasPropertyType ex:Height ;
bs:hasValueUnit “2.40 m”^^cdt:length .
but some people think the XType modelling is too much. So they like to just specialise bs:Property into ex:Height resulting in:
ex:Height rdfs:subClassOf bs:Property ;
rdfs:subClassOf [ rdf:type owl:Restriction ;
owl:hasValue “cdt:length” ;
owl:onProperty bs:hasQuantity ; ] .
ex:Door_1 rdf:type ex :Door ;
bs:hasProperty ex:Height_1 .
ex:Height_1 rdf:type ex:Height ;
bs:hasValueUnit “2.40 m”^^cdt:length .
so the original:
bs:hasQuantity cdt:length .
becomes a restriction in the second option.
BUT...as can be seen instead of just
cdt:length
I have to specify
“cdt:length” with quotes (just cdt:length does not work in tbc)
(the range of hasQuantity is rdfs:Datatype)
In the constraint.
Is this actually doing what I intended?
Thx Michel
Ps related to my earlier OWL Full question, guess an OWL Full option could also be:
ex:Height rdfs:subClassOf bs:Property ;
owl:hasQuantity cdt:length .
|
|
|||||||||||||||||
|
|
|||||||||||||||||

ex:Height_1 rdf:type ex:Height ;bs:hasValueUnit “2.40 m”^^cdt:length .
ex:Height_1 rdf:type ex:Height ;
bs:hasValueUnit “2.40”^^cdt:meter .
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/2f1adc9bf0894158857783a8220a7165%40tno.nl.
For more options, visit https://groups.google.com/d/optout.
Hi Irene,
Se after >
|
|
|
> I used to be a fan of qudt2.0 but after many years of unknown status/no dereferenceable specs I looked around...
> Has this situation changed? Is there now finally some free nasa/tq handbook?
2. Any reason you are not using SHACL?
>parties we work with are using rdfs/owl, well could be shacl-variant also.
3. I found it strange that you are embedding a unit of measure into a string e.g., “2.40m”.
> well when the datatype is taken by the quantitykind...this is the only place left when using simple datatype properties........
> its not that strange, often used for GIS like coordinates etc. (general: WKT-WellKnownText strings).
> https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry (ex)
4. Option one is simpler than option two for defining Height. It requires an extra triple when using Height. This does not seem “too much” to me fo use in systems since querying restrictions is more complex than just using a simple triple.
> guess you are right..just people do not like the XType classes (which done really well should involve punning I think: 2 times rdf:type iso a hasType attribute).
Given OWL reasoner, option 2 entails some inferences. Option 1 does not entail any inferences, but “given OWL reasoner” is an assumption that is typically not practical since there are very few OWL reasoners available and next to none in use. You could implement a rule that defines your own inference for option 1.
5. Not sure what problems you have with using cdt:length in the restriction. I can’t reproduce the issue, it works for me - see below.
In my example, I did not give example:hasQuantity any range, it does not matter whether you specify range or not.

And in RDF
example:Height
rdf:type owl:Class ;
rdfs:subClassOf example:Property ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:hasValue example:length ;
owl:onProperty example:hasQuantity ;
] ;
.
Guess my issue is related with the definition of cdt:length:
(if I do not include quotes tbc will not accept the input)
Cdt”length is defined as:
“
cdt:length a rdfs:Datatype ;
rdfs:label "length"@en ;
rdfs:comment """Datatype to encode measurement of quantity kind length in a simple literal.
Lexical space is the concatenation of the lexical form of an xsd:decimal, optionally followed by 'e' or 'E' and the lexical form of an xsd:integer, at least one space, and a length unit chosen in the Unified Code for Units of Measure code system.
Value space is the set of length as defined by the International Systems of Quantities.
Lexical-to-value mapping maps lexical forms with a length unit to their corresponding length measures according to the International Systems of Quantities."""@en .
“
So its an instance of a rdfs:Datatype to make it usable as datatype (bit like the unit in qudt).
Gr M
6. As for semantics of this definition, it means that if there is :R1 a example:Height, then it will be inferred that :R1 example:hasQuantity example:length. Thus, I do not think it makes sense using length as you are doing in:
ex:Height_1 rdf:type ex:Height ;
bs:hasValueUnit “2.40 m”^^cdt:length .
I do not think it would make sense with the first option either since you are putting this info on the class itself (option 2 and 3) or into an instance resource representing Height (option 1). Whether you are using inferences or not, you can always get this information
May be you meant to do something like:
ex:Height_1 rdf:type ex:Height ;
bs:hasValueUnit “2.40”^^cdt:meter .
> no, this is the qudt way, but my one is the CDT/UCUM way: putting the quantity(kind) in the datatype and the unit in the string. Note that quantitykind info is much more essential than the unit that is just a scale factor.
7. Yes, if you don’t have to be in OWL-DL, you can also use option 3. As option 1, it does not entail any inferences.
> all clear. Remember now you told me earlier...sorry..anyway, so this could be an alternative iso restrictions (going beyond owl-dl)
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/8BF7DEBD-276A-4D57-BCD5-A84237F77E27%40topquadrant.com.
1. Any reason you are not using QUDT?> I used to be a fan of qudt2.0 but after many years of unknown status/no dereferenceable specs I looked around..
> Has this situation changed?
Is there now finally some free nasa/tq handbook?
On Jul 8, 2019, at 3:53 PM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users <topbrai...@googlegroups.com> wrote:
Hi Irene,Se after >
Dr. ir. H.M. (Michel) Böhms
Senior Data Scientist
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
From: topbrai...@googlegroups.com <topbrai...@googlegroups.com> On Behalf Of Irene Polikoff
Sent: zondag 7 juli 2019 17:06
To: topbrai...@googlegroups.com
Subject: Re: [topbraid-users] from property to constraint1. Any reason you are not using QUDT?> I used to be a fan of qudt2.0 but after many years of unknown status/no dereferenceable specs I looked around...> Has this situation changed? Is there now finally some free nasa/tq handbook?
2. Any reason you are not using SHACL?>parties we work with are using rdfs/owl, well could be shacl-variant also.3. I found it strange that you are embedding a unit of measure into a string e.g., “2.40m”.> well when the datatype is taken by the quantitykind...this is the only place left when using simple datatype properties........> its not that strange, often used for GIS like coordinates etc. (general: WKT-WellKnownText strings).4. Option one is simpler than option two for defining Height. It requires an extra triple when using Height. This does not seem “too much” to me fo use in systems since querying restrictions is more complex than just using a simple triple.> guess you are right..just people do not like the XType classes (which done really well should involve punning I think: 2 times rdf:type iso a hasType attribute).Given OWL reasoner, option 2 entails some inferences. Option 1 does not entail any inferences, but “given OWL reasoner” is an assumption that is typically not practical since there are very few OWL reasoners available and next to none in use. You could implement a rule that defines your own inference for option 1.5. Not sure what problems you have with using cdt:length in the restriction. I can’t reproduce the issue, it works for me - see below.In my example, I did not give example:hasQuantity any range, it does not matter whether you specify range or not.
<image003.png>
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/200f7b244fdd4febb194250385f7892b%40tno.nl.
Hi Irene,
Se after >
Dr. ir. H.M. (Michel) Böhms
Senior Data Scientist
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
Sent: zondag 7 juli 2019 17:06
To: topbrai...@googlegroups.com
Subject: Re: [topbraid-users] from property to constraint
1. Any reason you are not using QUDT?
> I used to be a fan of qudt2.0 but after many years of unknown status/no dereferenceable specs I looked around...
> Has this situation changed? Is there now finally some free nasa/tq handbook?
2. Any reason you are not using SHACL?
>parties we work with are using rdfs/owl, well could be shacl-variant also.
3. I found it strange that you are embedding a unit of measure into a string e.g., “2.40m”.
> well when the datatype is taken by the quantitykind...this is the only place left when using simple datatype properties........
> its not that strange, often used for GIS like coordinates etc. (general: WKT-WellKnownText strings).
> https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry (ex)
4. Option one is simpler than option two for defining Height. It requires an extra triple when using Height. This does not seem “too much” to me fo use in systems since querying restrictions is more complex than just using a simple triple.
> guess you are right..just people do not like the XType classes (which done really well should involve punning I think: 2 times rdf:type iso a hasType attribute).
Given OWL reasoner, option 2 entails some inferences. Option 1 does not entail any inferences, but “given OWL reasoner” is an assumption that is typically not practical since there are very few OWL reasoners available and next to none in use. You could implement a rule that defines your own inference for option 1.
5. Not sure what problems you have with using cdt:length in the restriction. I can’t reproduce the issue, it works for me - see below.
In my example, I did not give example:hasQuantity any range, it does not matter whether you specify range or not.
<image003.png>
And in RDF
example:Height
rdf:type owl:Class ;
rdfs:subClassOf example:Property ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:hasValue example:length ;
owl:onProperty example:hasQuantity ;
] ;
.
Guess my issue is related with the definition of cdt:length:
(if I do not include quotes tbc will not accept the input)
Cdt”length is defined as:
“
cdt:length a rdfs:Datatype ;
rdfs:label "length"@en ;
rdfs:comment """Datatype to encode measurement of quantity kind length in a simple literal.
Lexical space is the concatenation of the lexical form of an xsd:decimal, optionally followed by 'e' or 'E' and the lexical form of an xsd:integer, at least one space, and a length unit chosen in the Unified Code for Units of Measure code system.
Value space is the set of length as defined by the International Systems of Quantities.
Lexical-to-value mapping maps lexical forms with a length unit to their corresponding length measures according to the International Systems of Quantities."""@en .
“
So its an instance of a rdfs:Datatype to make it usable as datatype (bit like the unit in qudt).
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/200f7b244fdd4febb194250385f7892b%40tno.nl.
On 8 Jul 2019, at 20:53, 'Bohms, H.M. (Michel)' via TopBraid Suite Users <topbrai...@googlegroups.com> wrote:3. I found it strange that you are embedding a unit of measure into a string e.g., “2.40m”.> well when the datatype is taken by the quantitykind...this is the only place left when using simple datatype properties........> its not that strange, often used for GIS like coordinates etc. (general: WKT-WellKnownText strings).
Wrt “strings to things”
> fully agree, so the “quantityKind as datatype” is only relevant in the case that the quantity is modelled the simplest wat (OPM L1) that is “as owl:DatatypeProperty”. (other then going beyond DL putting the quantityKind at the property declaration.
Ps
Over Summer I will write a note for W3C LBD CG on “Property Modelling” involving all options with pros and cons. Including
- extra-logical annotation
- reification
- singleton properties
- use of datatype for unit or quantityKind
- use of WKT strings
- misuse of named graphs (one triple per graph)
- extra-logical serialisation (quads)
- objectification
- RDF* potential
- all with or without DL
All based on the need to define meta-data (at least things like unit and quantityKind but typically more) for properties. Sometimes at the predicate/triple-level sometimes at the definition.
|
|
|
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/A57627E3-C44F-46E6-81EF-54C607F6EE1D%40topquadrant.com.
Agreed.
WKT strings in general need extra agreements on the string structure ie how to parse.
|
|
|||||||||||||||||
|
|
|||||||||||||||||
From: topbrai...@googlegroups.com <topbrai...@googlegroups.com>
On Behalf Of dprice
Sent: dinsdag 9 juli 2019 00:26
To: topbrai...@googlegroups.com
Subject: Re: [topbraid-users] from property to constraint
--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/CA00F884-FF8F-4075-AD2D-945030D7BA6E%40topquadrant.com.
Thx for the update Ralph, see after >
“Dereferencing at the graph level is underway.”
> That is exactly the feedback for years now. Do you have some point in time?
QUDT is now very active again - take a look at the latest catalog which can be reached at www.qudt.org
> This site takes extremely long to load (Chrome, IE) and sometimes there is no result at all for me.
Al units now have consistent URIs.
Dimension vectors and dimensionless quantity kinds (for example ratios) have or are about to be published.
Is there now finally some free nasa/tq handbook?
No - NASA are wanting a web-based version of QUDT and that is what is happening.
> ok, that’s better indeed!
Copying Steve Ray who is the lead ontology manager for QUDT.
> Thx Michel
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/D88671C3-18B9-4061-98FF-35BCEF2021D5%40topquadrant.com.
Wrt “strings to things”
> fully agree, so the “quantityKind as datatype” is only relevant in the case that the quantity is modelled the simplest wat (OPM L1) that is “as owl:DatatypeProperty”. (other then going beyond DL putting the quantityKind at the property declaration.
Ps
Over Summer I will write a note for W3C LBD CG on “Property Modelling” involving all options with pros and cons. Including
- extra-logical annotation
- reification
- singleton properties
- use of datatype for unit or quantityKind
- use of WKT strings
- misuse of named graphs (one triple per graph)
- extra-logical serialisation (quads)
- objectification
- RDF* potential
- all with or without DL
All based on the need to define meta-data (at least things like unit and quantityKind but typically more) for properties. Sometimes at the predicate/triple-level sometimes at the definition.
Dr. ir. H.M. (Michel) Böhms
Senior Data Scientist
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/0673c36affd14e49a766c4c6524a6ba7%40tno.nl.
Hi Irene
Coming back to modelling with constraints.

I can only say “OK” when I used quotes.
With no quotes I get:

Where:
bs:hasQuantity
rdf:type owl:DatatypeProperty ;
rdfs:range rdfs:Datatype ;
skos:prefLabel "has quantity"@en ;
skos:prefLabel "heeft grootheid"@nl ;
.
and
“
cdt:length
rdf:type rdfs:Datatype ;
rdfs:comment """Datatype to encode measurement of quantity kind length in a simple literal.
Lexical space is the concatenation of the lexical form of an xsd:decimal, optionally followed by 'e' or 'E' and the lexical form of an xsd:integer, at least one space, and a length unit chosen in the Unified Code for Units of Measure code system.
Value space is the set of length as defined by the International Systems of Quantities.
Lexical-to-value mapping maps lexical forms with a length unit to their corresponding length measures according to the International Systems of Quantities."""@en ;
rdfs:label "length"@en ;
rdfs:subClassOf rdfs:Resource ;
.
Thanks again for advice what I am doing wrong...Michel
Ps
Or....should I use AllValuesFrom in this constraintform?
So that I get:
ex2:Height
rdf:type owl:Class ;
rdfs:subClassOf owl:Thing ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:allValuesFrom cdt:length ;
owl:onProperty bs:hasQuantity ;
] ;
.
And
ex2:ClearOpeningHeight
rdf:type owl:Class ;
rdfs:subClassOf ex2:Height ;
rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:hasValue "EN12519" ;
owl:onProperty rdfs:seeAlso ;
] ;
.
The more I think...I think this is what I did wrong 😊
|
|
|
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/4ECF2630-274E-4D61-8FF8-A11ABEBBBEB9%40topquadrant.com.
On Jul 10, 2019, at 9:13 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users <topbrai...@googlegroups.com> wrote:
Hi IreneComing back to modelling with constraints.
<image002.jpg>
I can only say “OK” when I used quotes.With no quotes I get:
<image004.jpg>
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/588b22a6103e4c11acef53fdec97604d%40tno.nl.
I never use this dialog. I simply type in Manchester syntax.
But I see that you are using a datatype property. In this case, it ic correct that the value should be a literal.
> right but because I here want to constrain all values being of a certain range (ie cdt:length) I guess I have to use allvaluesfrom iso hasValue (that waytbc is fine without the quotes....)
Right?
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/B47E2AB9-D2B3-4014-9C01-D896C78A2BB5%40topquadrant.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/d8043c4484fe462da22b39db6f88dd2f%40tno.nl.
Michel,
Since you are not using the property in the restriction to store any values, there is no way this restriction would restrict the values.
> not directly no (I am not restricting values via hasValue) but I would say indirectly yes (via meta).
> In OWL Full I would specify for the Height class: :hasQuantityKind cdt:length (a value of meta-datatype “rdfs:Datatype”)
> wanting to stay OWL DL and model the same as restriction I would get:
> AllValuesFrom cdt:length for the hasValue property....I think this is consistent....
> so indirectly I am restricting the value for hasValue by restricting its range to be cdt:length (and not just any rfds:Datatype...)
> note I changed to the term quantityKind to not confuse it with an actual value....
> all below I can see if you would all be on the same metalevel....however here we are on two metalevels...and then its IMHO ok again....
> please reconsider....
> it is exactly related with the issue I had earlier with the quotes when doing a hasValue constraint...I wanted without quotes (meta) but then I needed an allvaluesfrom constraint...)
> I added the full example as annex (having one metaconstraint, the quantitykind and one normal constraint now with hasValue, all doing fine now in tbc....
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/86E9E94B-6975-4C25-91A5-8C3BED4A3660%40topquadrant.com.
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.