Programming With Semantic Web Languages
Programming With Semantic Web Languages
Semantic Web Languages can be a useful programming tool, and be used for creation and editing of E-Learning objects (Stutt and Motta, 2004). For enabling User Driven Programming, it’s necessary to experiment with using Semantic Web Languages as programming languages. The two main approaches that can be used are:
To put all the data in Semantic Web languages e.g XML (eXtensible Markup Language) (W3C, 2007a), SVG (Scalable Vector Graphics) (W3C, 2007c), RDF/XML (Resource Description Framework) (W3C, 2007b), OWL (Web Ontology Language) (Bechhofer and Carrol, 2004), and then display them using a programming language such as Flash, or Java (applets) – (Hale, 2007a).
To use the above languages as meta languages for actual programming – (Hale, 2007b).
The advantages of this (option 2) form of declarative programming are that we can use a language that is at a much higher level of abstraction, closer to the way people think. It’s possible to create these programs by editing them in Protege (ontology editor) and using a translator to convert them to whatever code is needed. This makes it possible to perform visual programming in a meta language (OWL) Web Ontology Language (option 2), without needing to worry about how it’s implemented. The possibilities for this are that it becomes sufficiently intuitive, so that people can eventually create their own software for a wide variety of tasks, in a point and click way and using similar tools to web page editors. This would enable anyone who is computer literate to program the computer themselves to do their tasks, and if this is of interest to others, they can release their solution over the web.
Technologies such as XForms (Bruchez, 2006), XQuery (W3C, 2007e), and SPARQL (W3C, 2007d) make it possible to provide the sort of collaborative interactivity that Tim Berners-Lee calls ‘Intercreativity’ in Weaving the Web (Berners-Lee, 1999). In this book he also discussed the use of Semantic Web Languages as programming languages. He makes the point that it isn’t the power of the language that is important in providing this intercreativity. The simplicity of a language such as RDF makes it easier to provide interconnected solutions to complex problems, without becoming bogged down with the complexity of the language itself, and interoperability problems. Tim Berners-Lee sums up the advantage of a Semantic Web program over programs in other languages. He writes “The advantage of putting the rules in RDF is that in doing so, all the reasoning is exposed, whereas a program is a black box: you don’t see what happens inside it.” If these rules are also visualised, they are exposed to everyone, including non-programmers.
These advances make it practical to develop a high level visual interface that can allow people to develop open source, open standard, interoperable programs and share them. This can allow the development of open source communities similar to those developing software currently, but only requiring the level of skill it takes to get started in visual collaboration tools such as MySpace.
In Weaving the Web Tim Berners-Lee writes “The Semantic Web, like the Web already, will make many things previously impossible just obvious”. Visual Semantic Web programming is one of those obvious things.
Bechhofer, S., Carrol, J., 2004. Parsing owl dl: trees or triples?. In: Proceedings of the 13th international conference on World Wide Web, NY, USA, pp 266-275.
Berners-Lee, T., Fischetti, M., 1999. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X – http://www.w3.org/People/Berners-Lee/Weaving/.
Hale, P., 2007. http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm.
Hale, P., 2007. http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SparMenu.html.
Stutt, A., Motta, E., 2004. Semantic Learning Webs. Journal of Interactive Media in Education, 2004 (10). Special Issue on the Educational Semantic Web. ISSN:1365-893X – http://www-jime.open.ac.uk/2004/10.
World Wide Web Consortium (W3C), 2007. Extensible Markup Language (XML) http://www.w3.org/XML/.
World Wide Web Consortium (W3C), 2007. Resource Description Framework (RDF) http://www.w3.org/RDF/.
World Wide Web Consortium (W3C), 2007. Scalable Vector Graphics (SVG) XML Graphics for the Web http://www.w3.org/Graphics/SVG/.
World Wide Web Consortium (W3C), 2006. SPARQL Query Language for RDF http://www.w3.org/TR/rdf-sparql-query/.
World Wide Web Consortium (W3C), 2006. XQuery 1.0: An XML Query Language http://www.w3.org/TR/xquery/.