Matt,
> From: Matthew Gertner [mailto:]
> Manos Batsis:
> > RDF Schema checks the validity of RDF statement semantics; XSD just
> > cannot and should not (be enhanced to) do that.
>
> Can you give an example of this? I'm not sure what you mean
> by "checks the
> validity of RDF statement semantics."
With pleasure. As you know an RDF statement is a triple. It is composed
of a subject (a resource), a property(predicate) and a property
value(object). RDFS defines what properties are appropriate for a
certain type of recourse and what kinds of values it can hold. Because
RDF Schema does not validate structures but the model behind them, it
can be used to validate even non-XML (i.e. n3) formats that can describe
an RDF graph.
> > Of course the triple model is serialized in, essentially,
> XML. Mapping
> > what RDF does in vanilla XML+ XSD + enhancements does not make much
> > sense in my eyes; XSD validates the structure of an XML document, it
> > does not check if a subject of type Person can have a model
> > property :-)
>
> This is where we disagree. In my view, XML schemas (should)
> do far more than
> just validation. They provide vital semantics about the class
> of instances
> they define. There is already stuff in XSD that does not relate to
> validation (including inheritance, which many have pointed
> out could be
> better handled using type substitution a la Architectural
> Forms, if all
> we're looking for is validation). My strongly held opinion is
> that many,
> many of the XML-related problems that people are struggling
> with go away if
> a framework is available for annotating schemas with semantic
> (meta)information.
What keeps you from doing that today using both RDF(S) and XSD (or any
other)? I cannot understand why you wish to merge two different things
in one place.
> From there, it is just a no brainer to associate the
> semantics of an RDF
> into this framework in the way I proposed in my last mail
> (e.g. attaching
> Dublin Core semantics to specific element types).
But you did not attached DC semantics to an element type. Vanilla XML
interprets namespaces in a very different manner than RDF. My point here
is that when parsing RDF, you get an RDF graph. Getting in the process
of extracting the annotations you need to validate the graph makes you
dependent on the XML parser you use for XSD validation. Why having such
dependencies?
> You can
> then generate an
> RDF graph from this data, if that floats your boat, but the model I am
> proposing is much more approachable because it doesn't force
> you to work
> inside an entirely new model.
Now this cannot be true. To validate RDF statements you need to deal
with the RDF model, whether you do it through RDFS or MakeMyML. It also
makes application design much less flexible.
> For instance, it lets you add semantics
> incrementally by annotating the schema bit by bit.
RDFS is much better in this aspect; because it implements OO design
structures. Throw a new property in the basket, associate it with a
Class and voila. Global, non-document centric awareness.
>
> > However, if you do manage to do this by injecting custom
> > annotations in
> > XSD, it would be like embedding RDF in it
>
> Agreed.
>
> > (perhaps ending up with
> > something that feels even more awkward and produces even more
> > dependencies on the XSD), which does not provide any benefits.
>
> Disagree on all three counts. I don't think it would feel
> more awkward, it
> has nothing to do with XSD (annotations are just associated
> with the type or
> element type name, which could be expressed in RELAX NG or
> whatever) and it
> DOES provide benefits. It's just that the benefits are of a
> more subtle
> nature, as with REST. That was my original point: that RDF is to
> Schema+Annotations as SOAP is to REST.
To summaries, we share some objectives but disagree on the
implementation specifics. You feel comfortable in XSD; I want clean
separation. Perhaps you would agree to a mutual compromization by using
annotations that *point to* RDFS modules? These would not be needed by
an RDF document (you don't even need to specify a schema in such a file;
URIs of resources should make it work for you).
IMHO, even a more clean separation of tasks is appropriate; that's why
RDDL is so favored in this list.
Cheers,
Manos