What I replied earlier: rdf:type is I assume non-transitive a type b type c does not imply a type c, so there is no inheritance from c to a. (and yes the multiple inheritance by David corrects that but also changes the model)
Enabling inheritance (for the same model) would indeed ask for a union of classes having this property instead of its metaclass Dr. ir. H.M. (Michel) Böhms Senior Data Scientist T +31888663107 M +31630381220 E [email protected]<mailto:[email protected]> Location<https://www.google.com/maps/place/TNO+-+Locatie+Delft+-+Stieltjesweg/@52.000788,4.3745183,17z/data=!3m1!4b1!4m5!3m4!1s0x47c5b58c52869997:0x56681566be3b8c88!8m2!3d52.000788!4d4.376707> [cid:[email protected]]<http://www.tno.nl/> 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. Van: [email protected] <[email protected]> Namens Jan Voskuil Verzonden: Thursday, November 21, 2019 2:18 PM Aan: [email protected] Onderwerp: RE: [topbraid-users] Re: combining owl and skos David, Thanks for digging, but I have been running 6.3 all the time. The scenario you describe works because you avoid the block posed by the triple sequence of rdf:type by using multiple inheritance. That’s a good way of avoiding the block, but it shows nothing that is of service. In the example graph I sent, the idea is that listPrice is a general property that every individual (at the lowest level of modelness) should have. Therefore, it has CarModel as domain. As expected, it does not show up in CarSandeep or CarStella. (Of course it does show up in the forms for individuals one level up in the modelness hierarchy: BMW320i does have a listPrice, as does TeslaModelS). I defined fiscalValue as a property with BMW320i as domain, so it is expected to show up in CarStella (which is a BMW) but not in CarSandeep (which is a Tesla). So if I want listPrice to show up at the lowest level, then I must define its domain as the union of all classes that are an instance of CarModel. Defining the domain as the class CarModel does not work. Best, -j From: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> On Behalf Of dprice Sent: 21 November 2019 13:45 To: [email protected]<mailto:[email protected]> Subject: Re: [topbraid-users] Re: combining owl and skos Hi Jan, My test in 6.3: I’d made a class called ActualCar and assigned it as domain of properties. I did that since CarModel instances may come and go but actual cars share many properties you don’t want to redefine all the time (e.g. build date or identification number). I then made instances of CarModel also be subclasses of ActualCar and it all worked just fine in Composer 6.3 Beta. To test your problem I started 6.2.5: Opened punning example and tried deleting the punning bits until I could get it to work so I could figure out the cause. I never did because there’s something odd happening … the form doesn’t show the pex:fiscalValue even after I’ve deleted everything related to punning. I started 6.3 Beta and tried your full punning example … it works fine. Jan - I think you’ve been the victim of an odd bug in Composer 6.2.x for this edge case that’s fixed in 6.3 Beta. Cheers, David On 21 Nov 2019, at 11:33, Jan Voskuil <[email protected]<mailto:[email protected]>> wrote: Yes, when you are looking at the form for the BMW class (individual). But now make an instance of the BMW called “CarDavid” and look at the form. The properties defined for CarModel are not shown. -j # baseURI: http://www.example.org/punning_example # prefix: pex @prefix owl: <http://www.w3.org/2002/07/owl#<http://www.w3.org/2002/07/owl>> . @prefix pex: <http://www.tooi.org/punning_example#<http://www.tooi.org/punning_example>> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns>> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#<http://www.w3.org/2000/01/rdf-schema>> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#<http://www.w3.org/2001/XMLSchema>> . <http://www.example.org/punning_example> a owl:Ontology ; owl:versionInfo "Created with TopBraid Composer" ; . pex:BMW-320i a pex:CarModel ; a owl:Class ; pex:listPrice 29000 ; rdfs:subClassOf owl:Thing ; . pex:CarModel a owl:Class ; rdfs:subClassOf owl:Thing ; . pex:CarSandeep a pex:TeslaModelS ; . pex:CarStella a pex:BMW-320i ; . pex:TeslaModelS a pex:CarModel ; a owl:Class ; rdfs:subClassOf owl:Thing ; . pex:fiscalValue a owl:DatatypeProperty ; rdfs:domain pex:BMW-320i ; rdfs:range xsd:decimal ; . pex:listPrice a owl:DatatypeProperty ; rdfs:domain pex:CarModel ; rdfs:range xsd:integer ; . From: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> On Behalf Of dprice Sent: 21 November 2019 12:21 To: [email protected]<mailto:[email protected]> Subject: Re: [topbraid-users] Re: combining owl and skos Hi Jan, I did what you said and Composer 6.3 Beta shows me the property and lets me set the value: <image001.png> carModelName is defined like this: unnamed:carModelName rdf:type owl:DatatypeProperty ; rdfs:domain unnamed:CarModel ; rdfs:range xsd:string ; . I do not understand the specific references to standards being made in your change with Michel, but Composer does support punning (i.e. creating classes with properties that are members of other classes where those properties are defined). Cheers, David On 21 Nov 2019, at 08:51, Jan Voskuil <[email protected]<mailto:[email protected]>> wrote: The bottom line is that you should try this in TBC. Create the classes CarModel,BMW320i and TeslaModelS. Assert that the latter two instantiate the first. Create instances of the BMW and the Tesla. Define some properties for CarModel. TBC will not display the properties on the instance forms. This behaviour is typical of introspective tools. Therefore, in my opinion at least, it would be a bad idea to promote metaclasses and punning as a viable pattern in proposed standards like NEN8035. Level 2 and 3 property modelling (objectified and doubly objectified properties) do not at all require metaclasses, they can be easily modelled within DL using standard patterns that everybody understands, and that are supported by generic tools. Level 2 and 3 add complexity as a trade-off against expressivity. There is no such thing as a free lunch. The clever ways people come up with to obtain L2 expressivity without the complexity invariably involve punning. If anything, however, punning introduces much more complexity than most people are aware of. I guess this is why the punning discussion keeps coming up, and why we need to continue arguing against it. Of course while keeping in mind that patterns such as those David proposes do have value in the specific cases they are designed for. On Thursday, November 21, 2019 at 9:03:08 AM UTC+1, Bohms, H.M. (Michel) wrote: Hi Irene, Wrt your “To be clear, I would not recommend this approach to data modeling. I also have to admit that I find this discussion pretty esoteric and largely irrelevant.” We find this pattern/need very often in practice (multi-level typing). Catalogue products beings instances that are instantiated again for a client, properties defined with meta-data, instantiated again for actual properties of things, etc. etc. People use very different ways of dealing with it using punning, rdf:Property as range, objectproperties iso rdf:type having similar semantic intentions etc. etc. So I guess its important to know for certain variants what is actually inferred or not etc. I was glad the issue was brought up (again) by Jan. The start of the issue was actually a question of some clients on how to best combine say RDFS/OWL and SKOS since sometimes the thing modelled then could be both an instance and a class and the w3c spec sayd his would lead to owl full which might have been true for owl1 but not for owl2. Greetings Michel Dr. ir. H.M. (Michel) Böhms Senior Data Scientist T +31888663107 M +31630381220 E [email protected]<mailto:[email protected]> Location<https://www.google.com/maps/place/TNO+-+Locatie+Delft+-+Stieltjesweg/@52.000788,4.3745183,17z/data=!3m1!4b1!4m5!3m4!1s0x47c5b58c52869997:0x56681566be3b8c88!8m2!3d52.000788!4d4.376707> [https://groups.google.com/group/topbraid-users/attach/4a0389c7b9c83/image001.gif?part=0.1&view=1&authuser=0]<http://www.tno.nl/> 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. Van: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> Namens Irene Polikoff Verzonden: Thursday, November 21, 2019 1:25 AM Aan: [email protected]<mailto:[email protected]> Onderwerp: Re: [topbraid-users] Re: combining owl and skos RDFS says: rdf:type rdfs:range rdfs:Class. Given :x a :Eagle. :Eagle a :Species. :Species a owl:Class. A tool that implements RDFS inferencing will conclude :Eagle a rdfs:Class. :Species a rdfs:Class. If you add OWL into the mix, you may get :Species rdfs:subClassOf owl:Thing. :Eagle a owl:Thing. owl:Nothing rdfs:subClassOf :Eagle. Possibly, :Eagle a owl:NamedIndividual. I believe it has the same class extension as owl:Thing. I can’t think of any other inferences entailed by the 3 triples above. To be clear, I would not recommend this approach to data modeling. I also have to admit that I find this discussion pretty esoteric and largely irrelevant. On Nov 20, 2019, at 8:23 AM, dprice <[email protected]<mailto:[email protected]>> wrote: Because of things like “owl:Thing rdf:type owl:Class”, owl:disjointWith rdfs:domain/rdfs:range owl:Class, etc. I think it's owl:Class, but I’ve never looked at a specific reasoner’s behaviour in detail. May even vary from reasoner to reasoner. Cheers, David On 20 Nov 2019, at 12:35, Irene Polikoff <[email protected]<mailto:[email protected]>> wrote: I would think rdfs:Class, not owl:Class. On Nov 20, 2019, at 4:48 AM, dprice <[email protected]<mailto:[email protected]>> wrote: Everything that is the rdfs:range of rdf:type is by-definition an owl:Class. -- 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 [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/141FBB70-87C7-4838-8187-7355B2559387%40topquadrant.com<https://groups.google.com/d/msgid/topbraid-users/141FBB70-87C7-4838-8187-7355B2559387%40topquadrant.com?utm_medium=email&utm_source=footer>. UK +44 (0) 7788 561308 US +1 (336) 283-0808 -- 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 [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/59C5654B-C504-4DEA-B6C0-9B589B8158BD%40topquadrant.com<https://groups.google.com/d/msgid/topbraid-users/59C5654B-C504-4DEA-B6C0-9B589B8158BD%40topquadrant.com?utm_medium=email&utm_source=footer>. -- 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 [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/81C29C1A-50BD-4AFA-A7EF-8C85428056A4%40topquadrant.com<https://groups.google.com/d/msgid/topbraid-users/81C29C1A-50BD-4AFA-A7EF-8C85428056A4%40topquadrant.com?utm_medium=email&utm_source=footer>. -- 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 [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/761611f4-fc56-435f-8bdc-3421e24a0acd%40googlegroups.com<https://groups.google.com/d/msgid/topbraid-users/761611f4-fc56-435f-8bdc-3421e24a0acd%40googlegroups.com?utm_medium=email&utm_source=footer>. UK +44 (0) 7788 561308 US +1 (336) 283-0808 -- 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 [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/F0763C1F-8664-437C-9121-6328922872EA%40topquadrant.com<https://groups.google.com/d/msgid/topbraid-users/F0763C1F-8664-437C-9121-6328922872EA%40topquadrant.com?utm_medium=email&utm_source=footer>. -- 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 [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/AM4PR0301MB2131985419CF4448D71F7947E94E0%40AM4PR0301MB2131.eurprd03.prod.outlook.com<https://groups.google.com/d/msgid/topbraid-users/AM4PR0301MB2131985419CF4448D71F7947E94E0%40AM4PR0301MB2131.eurprd03.prod.outlook.com?utm_medium=email&utm_source=footer>. UK +44 (0) 7788 561308 US +1 (336) 283-0808 -- 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 [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/1B4A305C-6430-4785-9740-EF969CC97F70%40topquadrant.com<https://groups.google.com/d/msgid/topbraid-users/1B4A305C-6430-4785-9740-EF969CC97F70%40topquadrant.com?utm_medium=email&utm_source=footer>. -- 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 [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/AM4PR0301MB21314B2B7A311FBC5BC37797E94E0%40AM4PR0301MB2131.eurprd03.prod.outlook.com<https://groups.google.com/d/msgid/topbraid-users/AM4PR0301MB21314B2B7A311FBC5BC37797E94E0%40AM4PR0301MB2131.eurprd03.prod.outlook.com?utm_medium=email&utm_source=footer>. -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/126c70b648eb414db1af932aee5810b6%40tno.nl.
