On 7/24/06, Henry Story <[EMAIL PROTECTED]> wrote:
Thanks Danny for helping these threads find each other.

I had a long conversation with Sean B. Palmer on the topic on #swig,
of which I highlighted some elements here

http://lists.w3.org/Archives/Public/semantic-web/2006Jul/0066.html

------

Is it really "Semantic" content neg that we want? That is only part
of the problem.
Imagine I only understand the atomOwl vocab [1] and I expect this

<> a :CategoryList;
    :category [ :scheme <http://eg.com/cats/>;
                :term "dog" ];
    :category [ :scheme <http://eg.com/cats/>;
                :term "house" ].

but I receive this


<> a :McDonaldCategoryList;
    :McCategory [ :McScheme <http://eg.com/cats/>;
                :McTerm "dog" ];
    :McCategory [ :McScheme <http://eg.com/cats/>;
                :McTerm "house" ].


Where  in fact

        :McDonaldCategoryList owl:sameAs :CategoryList .
         :McCategory owl:sameAs :category .
         :McScheme owl:sameAs :scheme .
         :McTerm owl:sameAs :term .

In  that case both documents are in fact semantically identical.

But if you only know the former vocab, and not the mappings, then as
far as you know they *aren't* semantically identical. (If the
:McCategory ont is gettable, then I guess you could pick up the
mapping).

So what one wants is either

  - a way to specify the *vocabulary* the client understands, and
have the sender  send back content only in that vocabulary, or at
least add some mappings from its vocab to the one understood by the
client.
  - or way to specify in detail the relations that will appear in a
document and the vocabulary used to describe those relations, so that
by stating that a resource is say a foaf:PersonalProfileDocument, one
not only knows what types of relations one will find in there, but
also that one will be able to interpret them.

Ok, although obviously related I think it might help to treat these as
two separate issues.

The first looks to me close to the SparqlEndpointDescription [2]
situation, "tell me what you know". A possible solution there would be
to respond to a GET (Accept: application/rdf+xml) at the endpoint URI
with the result of something like that of:

CONSTRUCT <> x:usesPredicate ?p
WHERE {
?s ?p ?o
}

Dunno, something along these lines might be usable with arbitrary named graphs.

The second point begs the question of how you specifiy what's in a
document beyond this - I know you mentioned RelaxNG earlier. The
nearest approach I know of is using rules (i.e. beyond RDF), as in
Schemarama2 [3,4, 5].

Cheers,
Danny.

[1] http://bblfish.net/work/atom-owl/2006-06-06/
[2] http://esw.w3.org/topic/SparqlEndpointDescription
[3] http://www.w3.org/2004/02/skos/core/validation
[4] http://isegserv.itd.rl.ac.uk/schemarama/
[5] http://isegserv.itd.rl.ac.uk/schemarama/how.html


--

http://dannyayers.com

Reply via email to