- From: Tim rdf <timrdf@gmail.com>
- Date: Sun, 28 Jun 2009 01:16:54 -0400
- To: Bernhard Schandl <bernhard.schandl@univie.ac.at>
- Cc: Dan Brickley <danbri@danbri.org>, Simon Reinhardt <simon.reinhardt@koeln.de>, public-lod@w3.org, public-semweb-ui@w3.org
- Message-ID: <80995bcd0906272216k71a7a86r723e219782a46438@mail.gmail.com>
Bernhard, Yes, I understand that this is how rdfs:domain and rdfs:range are interpreted. I agree that the "knowledge addition" of RDFS and OWL is a great strength. I would rephrase your interpretation to: "you can use foaf:holdsAccount." "if something has a foaf:holdsAccount property then you MUST interpret it as foaf:Agent, and the value of this property MUST be interpreted as foaf:OnlineAccount". Of course, MUST is only if you choose to employ RDFS reasoners. Anything goes in non-inference,RDF-as-a-datastore land. Unfortunately, I want to employ an RDFS reasoner AND use the foaf:holdsAccount to point to /non/Online Accounts. I can't use it because my /non/online Accounts WILL be interpreted as foaf:OnlineAccounts, which I want to be satisfiably false (but is provably true). To fix this, we'd have to: - ( foaf:holdsAccount rdfs:range foaf:OnlineAccount . ) + ( foaf:holdsAccount rdfs:range ns:Account . foaf:OnlineAccount rdfs:subClassOf ns:Account . ) So, returning to my general question about asserting the domain and range of a property. Is it prematurely limiting if the first-party developers inadvertently set the range to a /subclass/ of a class that a third-party developer thinks is a reasonable range? Thanks for your consideration! Regards, Tim Lebo ps - I'm trying to collect design patterns for OWL at http://www.twine.com/twine/12dff54dt-1wj/owl-the-web-ontology-language-design-patterns On Sat, Jun 27, 2009 at 4:00 AM, Bernhard Schandl < bernhard.schandl@univie.ac.at> wrote: > foaf:holdsAccount rdfs:domain foaf:Agent; rdfs:range foaf:OnlineAccount . >>> >>> Is constraining a property with BOTH a domain and range a good design >>> pattern? It seems rather short-sighted with respect to reuse and >>> extension. >>> >> > Domain and range are no restrictions in that sense; rather they extend the > possible (!) interpretations of resources. Hence you don't say, "you can use foaf:holdsAccount only with foaf:Agent and foaf:OnlineAccount", > but rather, "if something has a foaf:holdsAccount property then you can > interpret it as foaf:Agent, and the value of this property can be > interpreted as foaf:OnlineAccount". > > > IMO this is one of the greatest strengths of modelling with RDF(S) and OWL.
Received on Monday, 29 June 2009 11:51:38 UTC