Introducing SemanticEngine.NET

Sep 25, 2008

For a long time I wanted to find a way to make it easy for .NET developers to start using the semantic web or Web 3.0. The semantic web is relatively unknown to most people and some of the technologies are very complex to understand.

Technologies or formats such as FOAF, APML, SIOC, XFN tags and microformats are some of the building blocks of the social aspects of the semantic web. They are used to create cross-site profiles of people and also represent relationships between them. XFN and microformats are somewhat easy to start using, but FOAF, APML and SIOC are a different story.

SemanticEngine.NET

That’s why I’ve just released the first initial code for a class library called SemanticEngine.NET on CodePlex. There is still a lot of code to be written, but right now it supports various different formats ready to use.

The idea is that you build the various formats using an easy-to-understand object model and then call a method that writes the documents to the response stream or to disk in XML. The idea is also that you can consume all these formats by pointing to a document somewhere on the web, and then the library will parse it and return an object graph.

APML

APML describes interests and is used to customize experiences online. This blog supports it natively, which makes it possible to filter all my blog posts based on the interests specified in your APML document. Check it out in the top right corner of this page.

The APML support in SemanticEngine.NET is done. You can easily generate your own documents or you can parse APML documents found on the web.

FOAF

Right now you can only generate FOAF documents, but very soon I’ll add a FOAF parser as well. This is more difficult because in order to do that, I actually have to use or write a full fledged RDF parser first.

SIOC

Coming soon

XFN

The XFN support in SemanticEngine.NET is almost done. At the moment you can give the XFN parser a website URL and it will then return a list of links that has the rel="me" attribute. The next version will return all the XFN attribute values such as friend, met, co-worker etc. That way you can scan a person’s social graph.

Microformats

The support for microformats is yet to come and it will be in the form of a parser. My idea is to let the parser take a website URL and then parse the HTML document for all the popular microformats such as hCard, hCalendar, hReview etc.

License

The library is free to use and free to modify in any given way. No crediting is needed. This is because my goal is to get people to use this everywhere. The more people that use semantic formats, the more useful it becomes and the more cool experiences will be possible to create online.

If you are interested in joining the development of SemanticEngine.NET, then please let me know. I sure could use some help, since my time is a bit limited. If you want to know more about the semantic web, then you can read my Guide to the semantic web post. Did I mention that all BlogEngine.NET 1.4+ users already have APML, FOAF, SIOC, XFN and microformats supported out-of-the-box?

* Only $4.95/month ASP.NET & Windows 2008 + IIS 7 Hosting! FREE SQL Included

Comments (13) -

Muhammad Mosa
Muhammad Mosa Egypt
9/25/2008 5:28:47 PM #

Thank you Matt for the share. The Project Page link is targeting http://microformats.org/ and not http://www.codeplex.com/SemanticEngine
thought to give you a hint.

Mads Kristensen
Mads Kristensen Denmark
9/25/2008 5:31:03 PM #

Thanks, I've fixed it.

Keyvan Nayyeri
Keyvan Nayyeri
9/25/2008 6:20:51 PM #

Good job, Mads Smile

Alp Çoker
Alp Çoker Turkey
9/25/2008 7:55:31 PM #

Hope that this project grows so we can use our BlogEngine APML, FOAF, SIOC profiles at more web sites. Great project....

Frank
Frank United States
9/26/2008 5:56:49 AM #

Fine, I've been putting it off but I guess I'll move the Semantic Web higher on the list of things I want to learn.

Golo Roden
Golo Roden Germany
9/26/2008 9:36:30 AM #

Nice idea Smile

Andrew
Andrew United Kingdom
9/26/2008 1:14:40 PM #

Some interesting ideas here... will have to consider them for the stuff I'm working on. Smile

Paul Sanderson
Paul Sanderson
9/26/2008 1:34:00 PM #

Hi my name is Paul Sanderson an in feb this year I started this http://www.wscoop.com its a digg style site but dedicated to web design and development

But I need your help....

I need links to web design and development, site , articles links...... anything you think of.... also voting no topics that you think are relative and like would also be a great help.

Please are you able to help me make this into a great resource for developers and designers.

You are more than welcome to promote your own sites, projects, comments and all... at the moment the posts go straight to the font page to it is good exposer and at least some sweet backlinks

A mention or two about wscoop in you blog would do wonders too.

Thanks

Paul

Jarrett
Jarrett
9/29/2008 9:31:03 PM #

Mad, will BlogEngine.Net eventually use SemanticEngine.Net?

Mads Kristensen
Mads Kristensen Denmark
9/30/2008 6:00:35 AM #

@Jarrett,

BlogEngine.NET already use many of the formats offered by SemanticEngine.NET - actually, it is based on the code in BlogEngine. However, I would imaging that BlogEngine would use it in the future when it's more complete and stabile.

Hartvig
Hartvig
10/1/2008 6:09:52 PM #

@Mads: No way! What about your principle of not including foreign dlls to blogengine Wink

Mads Kristensen
Mads Kristensen Denmark
10/1/2008 7:29:17 PM #

@hartvig, I have to figure that one out Smile

Dityo Nurasto
Dityo Nurasto Indonesia
10/6/2008 8:12:50 AM #

Cool stuff, thank you for the initial "wheel" Smile. Your SemanticEngine.NET project opening my eyes about Web 3.0 especially Semantic Data.

Pingbacks and trackbacks (4)+

Comments are closed

About the author

Mads Kristensen

Mads Kristensen
Program Manager at the Microsoft Web Platform team and founder of BlogEngine.NET.

More...

Month List

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.