Semantic web application for my project?

I am currently working on a project, let me explain a global idea:

  • We have multimedia content (audio, video and PDF files) that we want to provide worldwide using a CMS.
  • Some of the resources are related (same author, same content, next part ...) with others.
  • We would like to enable easy navigation between these content (for example, a user interface allowing navigation by author, related content, etc.).
  • Internet users can help categorize / tag content.
  • It would be interesting to suggest related content from the internet.
  • This project is part of another, a knowledge management system for an organization that conducts research and produces these materials. A knowledge base will be created for this project by collecting knowledge that exists in the organization.

I don't have a Semantic Web background, but hera are my ideas:

  • Create an ontology for structuring / linking multimedia content together.
  • Set the SPARQL endpoint.
  • Run a SPARQL query from the CMS to display link links between content and allow the user to add new tags.
  • Use this architecture for your application: (part 2.4)

I would like some advice, especially on those points:

  • Is ontology and semantic web application a good solution for my project?
  • Do you have any suggestions for architecture?
  • What kind of documentation should I consult right now?

Please feel free to share your world opinion.




source to share

4 answers

Semantic Web technology enhances almost any web application regardless of domain. Making content and data more accessible is beneficial for your organization and other organizations. Its one of those things that is win win.

In your case, you want to create a content management system that includes 3 use cases for SemWeb:

  • Publishing related data
  • Examines related data
  • Ordinances data binding from your datasets with other external datasets.

When it comes to publishing related data, you have several options:

  • Publishing Content Using RDFa to Existing Content
  • Publishing content to a public RDF repository or to your own hosted SPARQL endpoint

For the former, there is a great plugin for TinyMCE that makes it easy:

This also suits your "consuming and linked" use cases (it allows you to specify external data sources like DBPedia and links to things in your RDFa)

As I understand it, Drupal has very good RDF support:

Covers most of the above use cases.

You might also consider publishing to a SPARQL endpoint offered as a service (SaaS). A good candidate for this is Kasabi (, which offers a range of data APIs including SPARQL.

To do this, you will need to have a means by which you can convert your content / domain model to RDF. Most CMS systems provide the ability to create new types of content, whether through a GUI or some other convention (some are really just classes). My advice is to create functionality to enrich this process with a means of mapping properties or fields defined as part of the content type to terms in common vocabularies, for example if someone creates a new content type called "event" and they indicate that the event has a date associated with it, then there must be an additional step to define a term in the map ontology for a property in the content type.

This is again what Drupal can do out of the box with the appropriate plugins.



It looks like Webnodes CMS is perfect for you as it seems like you have limited knowledge of semantic web technologies and webnodes have good support for multimedia as well as a web application platform that you can customize and integrate with your control system knowledge.

CMS allows you to create an ontology without having to know anything about RDF / RDFS / OWL. You can create multifaceted metadata structures and taxonomies. Users will be able to mark and create relationships between objects, and users will be able to navigate between search and filter items.

They also work on SPARQL endpoints, so you will most likely get this for free in the near future.



As far as I know, the Semantic Web paradigm is useful as long as new data structures are involved. RDF will create links between data as nodes in the network. It is a great tool, for example, when your project needs to work with social media data (who is a friend of a friend (foaf)) or similar.

Another advantage of SemWeb technologies is their ability to "reason" and discard bad data due to some kind of logical violation. This is done using OWL data, which allows certain logical rules to be defined.

However, I think your project can be perfectly designed without using semantic web technologies. Just think about two questions to see if semweb is a requirement for your project:

1.- Are relational structures not enough for your data?

2.- Is your data complex enough to require logical rules to be followed to maintain consistency?

If both questions give you no answer, then avoid implementing semweb. Otherwise, think seriously that semweb can help you.

Perhaps your project can benefit from a different technology related to semweb in one way or another, but not canonical expression. This is a Natural Language . Using NL technology , you can establish interesting new relationships between data in your knowledge management system . For example, a document that talks about profit can be found when searching for "income" or "income".



May I suggest Freebase ? This is useful for categorizing and labeling content, and for displaying related content as you require. I just wrote an article on my blog about Freebase and how to use it in my own web application. If I have time, I will also post something on how to set up a machine for a semantic website (graph store, sparql, etc.)

"a little late" but hopefully helpful




All Articles