- From: Kevin Jenkins <kj@iteegosearch.com>
- Date: Mon, 20 Jul 2009 02:09:39 -0700
- To: "'Rinke Hoekstra'" <hoekstra@uva.nl>
- Cc: <semantic-web@w3.org>
Hi Rinke, Thanks for the very informative reply. It makes a lot of sense. Between your and Toby's replies I think I'm making sense of it now. I agree that object properties should be used as often as possible to keep all of the objects connected and thereby resulting in a much more powerful knowledge based. You are correct that all of my individuals are created through web forms. I would be very keen on seeing an example of how you create the drop-down list you refer to. Do you have an example of php code I could analyze to see if that would be a workable solution for me? I really appreciate your help. Thanks. kevin -----Original Message----- From: semantic-web-request@w3.org [mailto:semantic-web-request@w3.org] On Behalf Of Rinke Hoekstra Sent: Monday, July 20, 2009 12:48 AM To: Toby A Inkster Cc: kj@iteegosearch.com; semantic-web@w3.org Subject: Re: When to use object property vs datatype property Hi Kevin, I think you are being too strict. Indeed, if individuals are only created through some web-form, there must be some way of adding relations between them, or between individuals and data. Why is it so hard to assert an object-property relation between e.g. an employee and company in a web-form? I could easily create a drop-down list of all companies that exist in my triple-store. This list will show the names of companies, but when one of them is selected, and the form is submitted, is is actually the URI of the company resource that is sent back to the form handler. My rule of thumb is that I always use object properties, unless I don't want to say anything more about the value of that property. For instance, if I want to specify a 'name' that relates some person or company to a name, I can just use a datatype property since I don't really need to say anything else about the name. But relating a company to a product is different, because it may be useful for my application to say additional things about the product (e.g. price, cost, weight, name, category etc.). I need something to group all these additional things together, and therefore represent each product as an OWL individual as well. The relation between company and product should then be an object property. (NB: a datatype property for 'has_product' on a company individual with the value of the 'name' property of some product individual does not relate the company to the product according to the RDF/OWL semantics) Good luck, Rinke On 19 jul 2009, at 10:15, Toby A Inkster wrote: > On 19 Jul 2009, at 07:40, Kevin Jenkins wrote: > >> It's my understanding that object properties link individuals via a >> property and that datatype properties link individuals to data (such >> as form input). [...] I have many properties in my ontology such as >> has-company-name, has-software-product, is-employee-of etc . my guess >> is these must be datatype properties because somewhere (I guess a web >> form) somebody has to name the company, choose the software product >> category from a list, indicate who the employer is etc. > > > That's not correct. > > An object property is a property that takes a resource (an object) as > its value. A datatype property is a property that takes a literal > (string, number, date/time, boolean, etc) as its value. > > e.g. > > <#kj> rdf:type foaf:Person ; > foaf:name "Kevin Jenkins" ; > foaf:mbox <mailto:kj@iteegosearch.com> ; > foaf:mbox_sha1sum "d610935545bb79ad673d5a5e7bd45a11f9b12128" ; > foaf:knows <#alice> . > > In the above, foaf:mbox and foaf:knows are object properties, while > foaf:name and foaf:mbox_sha1sum are datatype properties. (rdf:type is > also logically an object property, though I think OWL treats it as a > special case.) > > -- > Toby A Inkster > <mailto:mail@tobyinkster.co.uk> > <http://tobyinkster.co.uk> > > > --- Drs Rinke Hoekstra Leibniz Center for Law | AI Department Faculty of Law | Faculty of Sciences Universiteit van Amsterdam | Vrije Universiteit Kloveniersburgwal 48 | De Boelelaan 1081a 1012 CX Amsterdam | 1081 HV Amsterdam +31-(0)20-5253499 | +31-(0)20-5987752 hoekstra@uva.nl | hoekstra@few.vu.nl Homepage: http://www.leibnizcenter.org/users/rinke
Received on Monday, 20 July 2009 09:10:49 UTC