The rx: Namespace

Status: Proposed informally. Orginally proposed in 2002 to be part of RDF. The problem does not seem to have gone away entirely. Discussion welcome on


The predicate in RDF relates some addressable content (such as a web page, or part of a web page) to the thing which is the primary subject of that content.

For example:

<> rx:primarySubject <>.

This RDF triple says that the primary subject of the web page at is something which is identified, itself, by the URI If you click on that second link, you'll probably get some RDF data not intended to be directly read by people.

The point of rx:primarySubject is to allow RDF content to refer to things using web pages about them, instead of making up RDF-only URIs. For example, we can state the population of Bangladesh, interoperably, and without inventing any new URIs:

<> rx:primarySubject _:bangladesh.
_:bangladesh eg:population "1613000000"^xs:decimal.

When properly defined, rx:primarySubject is an owl:FunctionalProperty, so that if two data sources both use this technique, leveraging Wikipedia, their data can be automatically merged.

One should probably use foaf:primaryTopic instead. It's the same thing, and somewhat better known.