Ho Ho. Funny you should mention this. I was just complaining about it yesterday. In this snippet it is me first, alternating with Richard Cyganiak. (The "weirdness" that Jim is referring to is that even requests for content-type: application/rdf+xml to the foaf URL return html)

For example I am terminally confused by FOAF. What does the name "http://xmlns.com/foaf/0.1/"; refer to?

That's the FOAF vocabulary specification. A document, since GET returns 200. It's available in HTML format, and may or may not be available in other formats.

What does this mean (from foaf rdf)? <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>

The subject is defined by the FOAF vocabulary specification. rdfs:isDefinedBy doesn't constrain the defining document to any particular format.

How does a SW agent get the rdf for http://xmlns.com/foaf/0.1/ Organization ?

It can't get the RDF since the FOAF folks have do neither GRDDL nor a <link> header nor content negotiation. FOAF gets away with this because everybody has to support FOAF, and so everybody just hardcodes the URL to their RDF.

Guess FOAF isn't quite getting away with it :) I'm not sure why they ever thought they could.

Emanates from a criticism I make about content negotiation being bad semantic web practice.

http://lists.w3.org/Archives/Public/semantic-web/2007Apr/0060.html

It's my turn to respond. I'm reading about Content-Location headers, from RFC2616 - HTTP1/1. Here's a bit I'm currently trying to digest. It's not going down very well.
The Content-Location value is not a replacement for the original requested URI; it is only a statement of the location of the resource corresponding to this particular entity at the time of the request. Future requests MAY specify the Content-Location URI as the request- URI if the desire is to identify the source of that particular entity.

A cache cannot assume that an entity with a Content-Location different from the URI used to retrieve it can be used to respond to later requests on that Content-Location URI. However, the Content- Location can be used to differentiate between multiple entities retrieved from a single requested resource, as described in section 13.6.
Section 13.6 discusses the "Vary" header. More fun (but only if you care about what URIs refer to).

-Alan



On Apr 11, 2007, at 9:34 PM, Jim Hendler wrote:
[snip]
However, I think the bigger issue here is that there were (and I believe still are) some weirdnesses in the machine readability of the FOAF namespace ( http://xmlns.com/foaf/0.1 ) and that a number of systems have problems with it (I notice if I try to load it directly into SWOOP I still get XML parsing errors). Lots of systems have done various work arounds for this -- so when you report your error to the Protege mailing list, you might also send it to the FOAF one, we've been complaining about this for a couple years now, maybe if some other folks yell as well we can get it so that the most used Semantic Web vocabulary will actually conform to the standards it promotes :-)
 -JH


On Apr 11, 2007, at 7:35 PM, Noah Cohen wrote:

 I have protege version 3.2.1 build 365 and JDK 1.5.0
If I run this ontology through a verifier, it verifies the ontology seemingly without a problem. If i try to load the ontology directly from http:// metacognition.info/ontologies/problem-oriented-medical-record.owl I get some very interesting error: WARNING: [ProtegeOWLParser] Warning: Trying to add import for external resource: http://purl.org/dc/elements/1.1/ -- DefaultProtegeOWLParserLogger.logWarning() INFO: [ProtegeOWLParser] Importing http://purl.org/dc/elements/ 1.1/ (from Redire ct to http://protege.stanford.edu/plugins/owl/dc/protege-dc.owl <http://protege.stanford.edu/plugins/owl/dc/protege-dc.owl>) The resource p1:chime has the rdf:type http://xmlns.com/foaf/0.1/ Person which is not a class but a edu.stanford.smi.protegex.owl.model.impl.DefaultRDFUntypedRes
 ource
Suggestion: In many cases the problem is a missing owl:imports statement to the classes file which defines the correct type of http://xmlns.com/ foaf/0.1/Person

It seems to me that it cannot distinguish the foaf Person class, with or without the foaf imports statement. If someone could please assist here, it would be of great help. Thank you in advance,
 Noah


Reply via email to