Re: Visualization of domain and range

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