I want to organize my bookmarks in rdf/owl and start programming my own tool for it.

With rdf/owl I want to model more details/semantics, like prioritizing bookmarks, connecting related bookmarks/concepts, storing when a bookmark was added, etc.

Is there an existing owl ontology for storing bookmarks (and related information)? Is there an owl ontology which I could adapt for my purpose?

Just a note: I looked at some tools to store bookmarks but I could not find something advanced enough for my purpose.


this is the first draft for my bookmarks using owl and skos. Mind that I started to use rdf 2 months ago, so I don't know all the details about rdf/owl. Is there a ontology where I can use something for ":webpage" and ":in_category"? Any tipps and pointers would be great.

@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix dcterms: <http://purl.org/dc/terms/> .

## Document
@prefix ex: <http://www.example.org/vocabulary#> . 
@prefix : <http://www.example.org/exampleDocument#> .
@prefix file: <http://www.example.org/files#> .

## Ontologies
@prefix dbpedia: <http://dbpedia.org/resource/> .
@prefix fb: <http://rdf.freebase.com/ns/> .

# thing programming language
:programming_language rdf:type owl:Class ;
              rdfs:label "programming language" ;
              owl:sameAs dbpedia:Programming_language ;
              owl:sameAs <http://rdf.freebase.com/ns/computer.programming_language> .

# thing haskell
:haskell rdf:type owl:Class ;
     rdfs:label "haskell" ;
     rdf:type :programming_language ;
     owl:sameAs dbpedia:Haskell_programming_language .

# category haskell
:haskell_cat rdf:type skos:Concept .
:haskell_cat :isAbout :haskell .

:haskell dcterms:subject :haskellCat . # is this correct??

# sub category haskell
:basic_haskell_cat rdf:type skos:Concept ;
           skos:broaderTransitive :haskell_cat .

# webpage in category basic_haskell
<http://www.cse.unsw.edu.au/~en1000/haskell/inbuilt.html> rdf:type :webpage ;     
                              :primaryTopic :haskell ;
                              :in_category :basic_haskell_cat .

asked 03 May '11, 11:42

stvienna's gravatar image

accept rate: 0%

edited 10 May '11, 17:09

+1 for such a great project idea! I too have envisioned such a thing and have thought it would be one of the funnest tools to work on. Here are some ideas: Check out Google Bookmarks IncSearch plugin for firefox to see how you might incorporate Lucene searching. I could see using any of the free text extensions to SPARQL (which usually use Lucene anyway) to do that same thing. As for an ontology of tags (I once thought there was something in dbPedia, reusing those as predefined tag choices would be so you could link to relevant content with just a click). SIOC and SKOS also come to mind. SKOS should find a way into your design purely for its taxonomic properties. There may be other tag typology's out there, if your tool made it so the user could easily navigate from any of those, rather than just one, it would be a bonus.

Also, how you navigate your tag cloud / taxonomic structure could be where some real value comes in. I kind of think organize tags by some sort of relevance distance algorithm might be cool. Overlay that on some sort of spin-able sphere for selection, within the browser using HTML5 maybe. This could be just one option for browsing tags and would be an addition to the traditional hierarchy style menu organiztion to travel the skos:broader and skos:narrower structure.

( sorry if this kind of a ramble i'm rushing this morning)

permanent link

answered 03 May '11, 12:13

harschware's gravatar image

harschware ♦
accept rate: 20%

edited 03 May '11, 14:07


Hi! thanks for the nice answer. I added a first draft in turtle rdf/owl to my post. I hope I can program something useful and put it on github eventually.

(10 May '11, 17:26) stvienna stvienna's gravatar image

Great start! One note, you have a resource :haskellCat and :haskell_cat. I don't think that is what you were shooting for. Consider using an editor such as Top Braid Composer, it can help a lot in staying consistent with your names.

(11 May '11, 10:38) harschware ♦ harschware's gravatar image

Elaboration to @Barna's post: Faviki uses Common Tags to create tags to dbPedia and Freebase concepts.

(08 Jan '13, 18:50) harschware ♦ harschware's gravatar image

There is a semantic bookmarking service www.faviki.com, which utilizes the Zemanta service to discover named entities and topics from webpages. I'm not sure if it is actually using RDF/OWL internally or you can export anything, however this seemed to be very close to your idea. The site is talking about tags, however these are more URIs in the background, as if you add a new tag to a bookmarked URL, the service asks you to specify a URL (mostly wikipedia) to disambiguate your tag.

permanent link

answered 04 May '11, 04:00

Barna's gravatar image

accept rate: 0%

SIOC specification would be a good start. There is an extension called SIOC-Types that contains Bookmark and BookmarkFolder. SCOT and MOAT could be used to model tags.

permanent link

answered 03 May '11, 13:50

fellahst's gravatar image

accept rate: 11%

danja wrote some time ago a delicious RDFizer with the name tagliatelle. This service makes use of the Tag Ontology. Maybe this RDFizer is a good starting point too.

permanent link

answered 04 May '11, 05:10

zazi's gravatar image

accept rate: 13%

Your answer
toggle preview

Follow this question

By Email:

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



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

Question tags:


question asked: 03 May '11, 11:42

question was seen: 4,772 times

last updated: 04 Aug, 22:10