4

I'm looking over the Jena tutorial, An Introduction to RDF and the Jena RDF API, and am specifically looking at Tutorial01.java. The PersonURI is very vague, as it is defined as:

static String personURI    = "http://somewhere/JohnSmith";

Does this URI need to dereferenceable? If so, do all RDF implementation require a web server? Lastly, what is served up at that URI if it does need to be dereferenced and returned?

Joshua Taylor
  • 84,998
  • 9
  • 154
  • 353
WildBill
  • 9,143
  • 15
  • 63
  • 87
  • 1
    I've edited the question a little bit to fix up some terminology. _Resolving_ is something that's typically done with relative URLs/URIs/IRIs. E.g., we might resolve `foo.html` relative some base `http://example.org/` to get `http://example.org/foo.html`. Making an HTTP request (or a request via another protocol) for a representation of a URI is _dereferencing_ the URI. The question, then, is whether URIs used as identifiers in RDF must be dereferenceable. – Joshua Taylor Jan 13 '14 at 13:11

2 Answers2

9

No it does not. Actually, regardless of Jena, a URI does not have to be resolvable anyway. A URI is an identifier of an entity. A URL is always a URI. This does not mean that a URI is necessarily a URL.

Copying from the RDF primer:

As discussed in Section 2.1, the Web provides a general form of identifier, called the Uniform Resource Identifier (URI), for identifying (naming) resources on the Web. Unlike URLs, URIs are not limited to identifying things that have network locations, or use other computer access mechanisms.

Hope I helped!

Pantelis Natsiavas
  • 5,293
  • 5
  • 21
  • 36
4

It does not need to be resolvable.

That's good practice for publishing on the web but Jena does not look names up just because you use them.

AndyS
  • 16,345
  • 17
  • 21