Re: need to determine what RDF is

Hello,

I do not claim to fully understand this recent thread, but I thought you
may like to see the (possibly naive) way a humble user of RDF sees this
technology. Expect the use of wooly words and lack of formalism.

In my experience, there are broadly two types of RDF applications: Those
that "understand" a set of vocabularies, and those that do not. Note that
both need to agree on the basic structure of RDF graphs.

An application of the first type takes a graph and looks for uses of
vocabularies known to it. Its further actions depend on the information
found. Thats what I mean by "understand" above, I think it has been called
"intrinsic knowledge" somewhere.

More precisely, there is some program code that defines the applications
behavior when encountering certain usage patterns of some vocabulary in
the graph. This behavior must be "compliant" the the specified "meaning"
of the used vocabulary. For other vocabularies, there may be no code to
handle them. Accordingly, those parts are not "understood" by the
application. The best you can expect is that the application leaves
these parts unchanged. Maybe another application may make use of it.

This also means that two applications can only work together if they
understand the same vocabularies, or at least a common set of them.
Nevertheless, all applications can work on the same graphs, which is
the "partial understanding" feature of RDF.

An application of the second type has no such programming to "understand"
vocabularies. Instead, it relies on the use of URIs: If two things have
the same URI, they mean the same thing/concept, whatever that may be.
So the application can find patterns, nodes with the same properties
in multiple graphs, and so on. Search engines, aggregation tools, and
similar, are applications of this type.

Such an application may further make use of RDF extension vocabularies,
like RDFS or DAML. It needs to contain program code to "understand" the
extension mechanisms. This allows it to better find "similar" patterns,
detect "same concept" (different versions of vocabularies), and validate
"correctness" according to some specification (cardinality and other
constraints).

Applications that can use such extensions clearly have more powerful
capabilities than application that have to work with basic RDF alone.
But if they do not "understand" a certain extension, they cannot use it.
You may call an application "compliant" to a set of such extensions,
like "This application is RDFS and DAML compliant".

Thats it. If I got it terribly wrong, please point me to the errors
in my way.

Bracing myself for the flames to come,
Karsten

Received on Monday, 3 June 2002 05:03:44 UTC