- From: Sandro Hawke <sandro@w3.org>
- Date: Mon, 26 Nov 2007 10:03:12 -0500
- To: Karl Dubost <karl@w3.org>
- Cc: Semantic web list <semantic-web@w3.org>
> I was trying to validate an RDF document and I just realized that the
> RDF validator, was just checking
> the document is well-formed and that is a graph, but not that the
> vocabulary is used appropriately.
...
>
> The vocabulary which is not part of Dublin Core for example will not
> be detected.
> <dc:foobar>a foreign element to Dublin Core Vocabulary</dc:foobar>
>
> Is there a way to check that your vocabulary is consistent. The
> answer could be:
>
> Your document is RDF valid but contains
>
> * an unknown vocabulary: vocab,
Unknown to whom? Unknown to the person who wrote the validator? That's
not very useful. You could, however have errors like these:
* Link Checker: Unable to deference the URI "...."
(404 Not Found)
or
* Link Type Checker: No RDFS/OWL vocabulary definition found at URI
"....". Perhaps you are using the wrong URI, or perhaps the
vocabulary publisher is not serving it correctly.
[ You would get this error from DC, Karl, at least if you used
the best advice to date from the TAG on how to handle
dereferencing. ]
> * an element which is not part of dc vocabulary: foobar
That is:
* Your document used a term which is not used in the vocabulary
definition document. You may have made a mistake.
or
* Your document used a term in a way which is inconsistent with the
vocabulary definition document.
This last case is what you'd like, I think, but with OWL it will almost
never happen, and with RDFS misuse is even less likely to be caught.
OWL and RDFS are not there to help you find this kind of syntactic error
in your data.
What I *suspect* you're looking for here, Karl, is not really something
the Semantic Web Recommendations, alone, can give you. At least for me,
when I find myself asking questions like this, what I really want is a
tool to check that a document is a proper element of some
interface/protocol. Have I communicated in this file what I should
communicate in Dublin Core data? Does this file look right for FOAF
tools to work properly with it?
But there is no way to answer those questions because even though there
are specifications of DC and FOAF, they don't get into those details.
For that you'd need some other specification, giving baseline details
about what information must be present in some DC or FOAF document which
is expected to be used for some purpose, etc.
And it would be nice to have that specification be machine readable, so
that it could be validated by a machine. We're not there yet -- no one
is writing specs like that (as far as I know), and there is no standard
language in which to write them, anyway.
Some approaches approaches:
- Document some SPARQL queries and characterize what the responses
MUST, SHOULD, MAY, and MUST NOT look like.
- Define an XML Schema for your data, use XML Schema Validation for
data validation, and GRDDL (or otherwise map) it to RDF.
- Define an alternate semantics or extension for OWL which allows OWL
documents to be used in this way. See [1].
FWIW, I don't see any easy or quick solution here, and I think this is a
major obstacle for the Semantic Web.
-- Sandro
[1] http://www.cs.man.ac.uk/~horrocks/Publications/download/2007/MoHS07a.pdf
Received on Monday, 26 November 2007 15:04:08 UTC