- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Fri, 07 Jun 2002 14:41:37 +0300
- To: ext Dave Reynolds <der@hplb.hpl.hp.com>
- CC: RDF Interest <www-rdf-interest@w3.org>
On 2002-06-07 13:41, "ext Dave Reynolds" <der@hplb.hpl.hp.com> wrote:
>> The higher level of RDF validation is RDF Schema validation, which tests
>> that range and domain constraints match the subjects and objects of
>> actual statements. The W3C RDF validator does not perform such checks.
>
> Actually, AFAIK, such constraints can't be expressed in pure RDFS. So it is
> entirely reasonable for the W3C validator to not perform checks for them. An
> application could choose to interpret RDFS domain/range declarations as
> somehow
> exclusive and checkable but that is not part of the RDFS specification and so
> should not be part of the W3C validator.
>
> To (ab)use Graham's recent example on the multiple rdf:type issues. If I have
> an
> RDF schema that includes:
> ex:transport rdf:type rdfs:Property .
> ex:transport rdfs:range ex:MeansOfTransport .
>
> and I then check an RDF file containing:
> urn:me ex:transport urn:Dobbin .
> urn:Dobbin rdf:type foo:Horse .
> Then all I can conclude is "that is interesting, urn:Dobbin must be both a
> foo:Horse and an ex:MeansOfTransport". This might or might not be reasonable.
>
> If we then encounter the declaration:
> ex:MeansOfTransport rdfs:subClassOf ex:MechanicalDevice .
> then we would conclude that urn:Dobbin is also an ex:MechanicalDevice.
> Given the suggestive names then as humans we might be less happy with
> something
> being both a Horse and a MechanicalDevice but for RDFS processing there is no
> reason to believe something can't be both.
>
> To express that two classes don't overlap you currently need either DAML or
> some
> additional application-specific assumptions or conventions.
>
> Dave
>
> [Apologies for the abuse of NTriple and prefix syntax in the examples, I hope
> they are sufficiently clear.]
>
These are very good points.
In fact, I see now that the schema-rules.n3 module for CWM is actually
doing DAML validation, which illustrates your points above.
Of course, there could be a very useful, constrained interpretation
of RDF Schema constraints that serves the needs of testing for
agreement between different authors of knowledge. I.e.,
If a property is specified for rdfs:range, then if the object
is not explicitly declared to be an instance of that type, or
of a subclass of that type, issue a warning.
If a property is specified for rdfs:domain, then if the subject
is not explicitly declared to be an instance of that type, or
of a subclass of that type, issue a warning.
This does not need the additional power and machinery of DAML or
OWL, yet provides a very useful test for agreement with regards
to shared knowledge. An RDF graph that is "valid" according to
those two tests can be considered a much more reliable and
consistent source of knowledge than one where some or none of
the range, domain, or type declarations sync up.
If the owner of a given property declares that it's values must
be of class foo:bar, and I express a statement using that
property where the object is explicitly typed as foo:bar, then
that says that (a) I understand what is expected by your
property, and (b) I assert that my value is valid according to
those expectations. Now, that might not actually be the case,
but it constitutes a reasonble basis for determining agreement
between disparate users.
I would consider the above to be a reasonable definition of what
an RDF Schema validator would/should provide.
But it does appear to be an open issue, with no clear answer...
Pity.
Patrick
--
Patrick Stickler Phone: +358 50 483 9453
Senior Research Scientist Fax: +358 7180 35409
Nokia Research Center Email: patrick.stickler@nokia.com
Received on Friday, 7 June 2002 07:37:35 UTC