Semantic Web Visual Designer for Visual Studio .NET

Just posting a quick update about progress with LinqToRdf and a side-project I’m working on to create a visual design tool to allow you to do visual editing of ontologies in Visual Studio .NET 2008. Since I’m a very creative person, I’ve decided to call it LinqToRdfDesigner. :-)

The designer uses Microsoft’s DSL tools system to produce attractive visual designs:

image

So far, I’ve got it producing N3 notation from models, like so:

@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix daml: <http://www.daml.org/2001/03/daml+oil#> . 
@prefix log: <http://www.w3.org/2000/10/swap/log#> . 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 
@prefix owl:  <http://www.w3.org/2002/07/owl#> . 
@prefix xsdt: <http://www.w3.org/2001/XMLSchema#>. 
@prefix : <http://aabs.purl.org/ontologies/2007/04/music#> .  

:Item a owl:Class . 
:Title a owl:Class . 
:name 
    rdfs:domain :Title; 
    rdfs:range :string. 
:Book a owl:Class ; 
    rdfs:subClassOf :Item . 
:Member a owl:Class . 
:Library a owl:Class . 
:catalog 
    rdfs:domain :Library; 
    rdfs:range :Title. 
:stockItem 
    rdfs:domain :Library; 
    rdfs:range :Item. 
:member 
    rdfs:domain :Library; 
    rdfs:range :Member. 
:Loan a owl:Class . 
:commenced 
    rdfs:domain :Loan; 
    rdfs:range :DateTime. 
:Reservation a owl:Class . 
:made 
    rdfs:domain :Reservation; 
    rdfs:range :DateTime.

Not all of the relationships are complete yet, but it shouldn’t be too hard. Next step is to produce the C# entity model as well. This should have the nice side benefit that the ontology and the object model are always kept in sync. Eventually, it will expand to include more of the OWL specification than can currently be easily modeled in object oriented languages like C#.

So, what do you think? Would you be more inclined to use semantic web tools if the steps needed to get started were already familiar to you, and you didn’t need to go too deeply into the W3C standards? Would you be willing to pay for it? how much would you be willing to pay? Please respond to this with your thoughts.

10 thoughts on “Semantic Web Visual Designer for Visual Studio .NET

  1. This is exactly what I was waiting for. Being intrigued with the semantic web and working mostly with microsoft technologies, I felt frustrated at times. We need something to make working with semantic data easy, useful and fun. This would really help. Would it be possible to bind it to WPF or Asp.net controls?

  2. Hi Arnoud,

    It returns a list of objects. It’s easy to bind them to controls in ASP.NET. In combination with the good work of Paul Stovell on SyncLINQ it would work very nicely on WPF too.

  3. I keep an eye on your work and I really like the idea of enabling ontology editing AND entity model gen using VS DSL tools. Importing ontology models (perhaps rdf/xml) generated by other tools such as Protege would also be very helpful.

    At this point I must emphasize that I only came across semantic web approaches a few months back during a MOSS project and therefore your blog entries have influenced my current thinking on this topic. Even so I don;t think that big vendors will support triple stores anytime soon (Astoria dropped support for rdf due to “lack of interest”…). One possible direction for the semantic web community would be to provide a thin layer of ontology modeling on top of existing technologies such as ER models (i.e. EF), Windows Sharepoint libraries etc.

    Congratulations for your inspiring work!

  4. Dimitris,
    Thanks for your kind comments. I have a work item in the issue list of LinqToRdf to create something equivalent to SqlMetal to import OWL documents, but have not tried to tackle it yet. Perhaps you’d like to volunteer?

    I’ve noticed mixed messages from MS about their policy WRT Semantic Web. It seems that the views I got were the views of a specific department head, and not of the company as a whole. You would be forgiven for not noticing that MS recently released a product that was based entirely on semantic web technologies – Interactive Media Manager. The product’s documentation indicates that they adopted semantic web technologies because they helped to solve problems that conventional object oriented techniques couldn’t solve.

    As for big vendors and triple stores, well how about oracle? their 10g database has an option to store RDF triples. I think it’s a chame, and rather shortsighted that MS chose not to include that facility with their Katmai release. But don’t give up hope.

    Andrew

    http://www.microsoft.com/resources/mediaandentertainment/solutions_imm.mspx

  5. “Would you be more inclined to use semantic web tools if the steps needed to get started were already familiar to you, and you didn’t need to go too deeply into the W3C standards?”

    I disagree with the idea of using designers to abstract yourself from an understanding of the technology. They are there to help you work faster, but that’s not excuse to work blindly.

    It’s this very approach which has resulted in so many Win Forms developers thinking they now know about the web because ASP.NET has a designer. ASP.NET sites have some of the worst accessibility around IMHO.

  6. Don’t get me wrong – designers rock – but I think the purpose for them needs to be clear, and abstraction from understanding shouldn’t be high up the agenda.

  7. Hi Tatham,

    I agree – that’s why I wrote a framework. I wanted to understand the standards and technologies involved – but the problem for general acceptance is the size of the learning curve. There really is a lot to it, so I wonder whether acceptance would speed up a little if it were easy to do. After all, windows development really picked up when MS released MFC – Using that in favour of Win32 was a breeze.

    Besides, this designer just helps with the domain modelling – there’s no support for rules yet. (maybe there never will be)

    Andrew

  8. This is very interesting work. As a developer I prefer to work with a framework and not designers, but I do like designers in some situations, for example introducing people to new technologies. Yes, I could be interested in the editor and I would recommend to the company I work for to pay for it if we need to implement this technology. We have been looking into this but we haven’t decided yet.

Comments are closed.