Re: Semantic content negotiation (was Re: expectations of vocabulary)

On 7/24/06, Henry Story <henry.story@bblfish.net> 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

Received on Monday, 24 July 2006 13:02:26 UTC