What is the difference between these two notations in RDF

Hello, When I am leaning RDF and RDFS, I found that some vocabularies use two different abbreviations to refer their terms. For instance RDF vocabulary use URIrefs (http://www.w3.org/1999/02/22-rdf-syntax-ns#) and dupline core uses (http://purl.org/dc/elements/1.1/) without # character. What is the difference between the two notations and is it possible to refer theme in rdf:ID attribute. for example http://purl.org/dc/elements/1.1/creator will be used as rdf:ID="#creator" ?

The # represents a 'Fragment Identifier'.

From a technical point of view, fragments are incorporated differently in different format types. In RDF/XML, fragments feature in RDF abbreviations


is the same as


based on the existences of the


in the namespace declaration.

In HTML, they represent a fragment of an HTML document, assigned with an 'id' or 'name' attribute.

At an implementation level, they also vary. Some webservers don't recognise the fragment as part of the URI i.e they slice and retain separately. Some browsers use the fragment to inform navigation and behaviour.

Conceptually, as I understand, the fragment does play an important role in and assist strategies for deferencing URI's, designating a part of the resource.

The difference is the same sort of difference between people called Jon and people called John - they just are.

Given xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" and "rdf:type", the full URI is http://www.w3.org/1999/02/22-rdf-syntax-ns#type - you just concatenate them. You could just as easily use: xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#ty" along with "rdf:pe" and the result would be the same, but perhaps less readable.

There's a good explanation about that @ Cool URIs for the Semantic Web.