Has anyone here tried using the Tag URI scheme as an alternative to blank nodes? If so, could you tell me of any advantages/disadvantages/gotcha/victories?

asked 09 May '11, 18:58

drobnox's gravatar image

drobnox
1355
accept rate: 0%


The practice of replacing blank nodes with URIs is known as “skolemization” in the RDF world. It is discussed quite often in various places.

As long as you create a “fresh” URI that hasn't been used anywhere before, it is ok to skolemize blank nodes.

Many triple stores actually do this internally. Some use an urn:uuid:xxx scheme with a UUID, some use a made-up (not official) bnode:xxx scheme. Tag URIs would be a good solution as well, because they help with ensuring uniqueness.

The practice of skolemization is also being discussed in W3C's RDF Working Group. The group is likely to include some recommendation for this practice in a future document. In the WG, this is known as ISSUE-40. It's possible that the group will also define a special URI scheme for this kind of URI, and/or recommend the use of tag URIs, and/or (perhaps most likely) recommend the use of a special .well-known namespace. So in the future, the official recommendation might be to use URIs such as http://your-host/.well-known/skolem/xxx if you want to avoid blank nodes.

A problem with skolemization is that it can create the false impression of stability and permanence for the URIs you use instead of blank nodes. Users of your data might be tempted to use your tag URIs in their own data with the intention of referring to the same object. But how long-lived are those URIs? Will your publishing system arbitrarily change them when the data is updated, for example?

If you can ensure stability of the tag URIs (or don't mind some broken links), then I think the use of tag URIs instead of blank nodes is a perfectly valid modeling technique.

link

answered 10 May '11, 07:03

cygri's gravatar image

cygri ♦
9.0k412
accept rate: 34%

Thanks. So that's what people mean by "skolemization".

(10 May '11, 09:35) drobnox drobnox's gravatar image

Skolemization (in RDF) = the practice of replacing blank nodes with URIs.

(10 May '11, 10:29) cygri ♦ cygri's gravatar image

Yep, here's my favorite definition ;-) http://bit.ly/kosDIX

(11 May '11, 22:58) harschware ♦ harschware's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×25

Asked: 09 May '11, 18:58

Seen: 978 times

Last updated: 11 May '11, 22:58