3

While developing a web-application (= application with web UI) using semantic web resources / technology like RDF, OWL, SPARQL, there is constantly a feeling that at the same time semantic offers much greater possibilities to make a web more human and less "database-style" (not that I do like "parrot-style" popular with start-ups at the moment), as well as a feeling that means to create UI are somewhat limited in the face of openness of the data.

With a "database" approach the schema is fixed and application UI can be hard-coded around it and according to it. Web designers can apply unique styles to distinguish entities, site/app structure can be custom made, annotations (title-author-teaser-tags-...) are well-established and theme developers have ready solutions. Even users became accustomed to where the basic things are and do like that.

On the semantic side things are flexible and generic, and the UI is limited to faceted search, web-like and/or menu-like navigation (correct me if I missed some essential mode). It seems to work best when the curious user hops from node to node (from one page to another).

For example, if we have an author, then we can have all kinds of information about him or her. It is hard to foresee all possibilities in the UI to make it 'nice', so the authro as a subclass of, say, Person will need to have it's own "page", where those things will be mentioned. And some things aren't even "plain text" but with some structure, which to make UI beautiful would need nested UI structures, etc, etc. My impression is that even the most advanced web UI libraries aren't up to the task of representing the complexity in a robust and appealing way.

Of course, we can always restrict the supported annotations / properties and essentially have the same situation as with "database" approach. But assume we want to be open.

The question is, what is the state of the art on the human-machine boundary (i.e. UI), which does not sacrifice aesthetics and usability for flexibility and web UI tradition with necessary novelty? What practical (and not too costly, laborious) approaches exist today to bridge UI and semantic in the CRUD-heavy webapp (to be more specific)?

I am not even speaking of visualization per se. It's more about how an application can represent new kind of knowledge to the user, which has not been specifically foreseen at the webapp development time (like coming of new-super-something-social identity). To compare with traditional web: we do not need to program in support each time we have new URL in our app, we just need to support certain protocols and any URLs are just content.

Please, do not tell me the whole semantic web thingie is kind of utopia. One way or another there is a need to use stricter knowledge representations than text and google-like search. And whatever technology (semantic web, linked data, etc) will have the same challenges.

There is some research and experimental systems like ActiveRaUL and LESS (not to be confused with Less.js), but it is still unclear what approach should be taken.

It's not about replacing representation technology (which is HTML/CSS/Javascript), but rather UI-building approaches with the least "impedance mismatch" between tree-like / flat web-page space (screen space) and graph-like, dynamic semantic web model for knowledge. Data-heavy apps are challenging in itself, and hypothesis is that graph-like model may actually make more useful UI because it better matches human mental models. WWW itself is a large graph, but what about microlevel, one page.

Update: That said, Semantic Web thinking is forcing to map major classes and individuals to have their own URL in a web application (dereferenceable URI), where classes correspond to listings of individuals and pages for individuals represent their properties / annotations. So, part of the question is, should the temptation be resisted or just to let the mapping in a most natural, "web way"? (This is actually is not special to graph model, but also to hierarchical object systems like Zope.)

Update2: The Fresnel Vocabulary seemed to tackle the problem for tree-like GUIs. In a somewhat related question - https://stackoverflow.com/questions/26733978/how-to-display-rdf-data-described-by-fresnel-vocabulary - it is proposed to take a look at LDP (Linked Data Platform), but I fail to see how it helps. Systems like Callimachus, if I understand correctly, use some kind of conventional RDFa templates with ?vars in it for form templates...

  • Basically, what you're describing is a highly-sophisticated form of "code-generated UI scaffolding." It's not quite there yet; it's still in the early stages of research and development, IMO. – Robert Harvey May 16 '15 at 18:37
  • Yes, I mean UI runtime scaffolding, if that the name for it, but it's not just lack of ready tools, but approach to UI. User would need to "zoom in" / "zoom out" in the representation, not scroll and click/tap Next-button as with flat tables (one of the visions, not necessarily most appealing). I hope that NoSQL, especially graph databases, may have some graph-to-"form"-and-back tools. – Roman Susi May 16 '15 at 19:37
  • You can actually find attempts to solve this that are older than http, because it is not specific to the semantic web, or web development. I believe the question is, how can we generate a good, usable UI for exploring data, or answering queries, just on the basis of some data schema, data connections, etc. – Frank Hileman May 18 '15 at 21:21
  • Yes, but since a lot of people not just selected ones were "initiated" into WWW as a large knowledge base. It means, that there should be some results due to natural selection of UIs. I hope this kind of UI tiffzhang.com/startup/?s=711514254435 is not where the evolution will stop before there appear a technology for banging knowledge directly into our neuronal "graphs". Jokes aside, the question is more practical though. – Roman Susi May 19 '15 at 10:36
  • 1
    @RobertHarvey: do you have some research references in mind? I am very curious! – Basile Starynkevitch Jan 30 '16 at 11:55
1

Semantic web is an approach that has made serious steps during the history of World Wide Web. The field of Artificial Intelligence has also progressed so that it has provided Semantic Web with tools capable to link the semantic information and create Agents that will be able to automate a lot of human everyday activities (e.g. shopping-appointments). However, Artificial Intelligence had created "extreme" expectations to the achievements it could make, that most of them are not considered feasible at all nowadays.

However, from your introduction, I felt that you think that Semantic Web is contrary to the modern technologies of Internet nowadays (relational databases, HTML, programming languages etc). This is not completely true. Semantic Web is not competitive to plain Web, it hopes to be complementary. For instance, the evangelists of Semantic Web believe that websites should be structured in the same way (HTML and CSS), however, this information should also be accessible in semantic ways (RDF-OWL). In the same way, the application of the website could be implemented using relational databases (or even noSQL). SPARQL would be used in several components of the Semantic Web (such as Intelligent Agents). To sum up, Semantic Web aspires that the knowledge of Machine Learning can be used so that semantic data are not manually extracted-created, but they would be automatically extracted using algorithms. As a result, Semantic Web can be seen as an enhancement of plain Web.

The real dilemma that delays the implementation of Semantic Web in all areas of World Wide Web is the following : Is the all this effort for creating algorithms that will automatically extract semantic information for the currently existing data worthwile ? Is the field of Artificial Intelligence progressed enough to aid in the development of Semantic Web's tools, such as Agents, or will all this semantic data be redundant ?

  • Not sure how this answer relates to my question, because I have not raised none of the points mentioned. The machine side is quite clear even though there are technological challenges. My question is are there approaches to make flexible and usable human interfaces to the knowledge in the semantic web form, with more than just adding sugar to usual web-sites and more convenient than traditional data-heavy directories to ordinary people. – Roman Susi May 14 '15 at 18:44
  • Also, I am not opposing other Internet technologies, just trying to find whether there already some established ways for human interaction with semantic data (graph data). WWW is a graph and people are ok with it's hypertext nature, but with semantic knowledge representation may be made much more convenient: right knowledge at right context and moment. And with the right flexibility. AI and ML are not needed at this stage yet, only decidable fact inference. (Or am I wrong?) – Roman Susi May 14 '15 at 18:53
  • If I am not missing anything, you mentioned using RDF and OWL. I believe that if you combine those technologies with XSLT, CSS and Javascript, you can create really user-friendly interfaces. In the backend side, the whole functionality of Data Retrieval and Storage will be made by SPARQL (or a related framework), which will replace the classic relational database. All in all, I think that you can achieve exactly the same functionality, as when using the conventional stack. However, as you also mentioned, this will be achieved with a lot more effort using semantic technologies. – Dimos May 14 '15 at 18:55
  • I see. Of course HTML5, CSS, Javascript are to be used. I thought if I am speaking about web-app it is assumed it is those three, so I have not specifically mentioned them. The question is not about getting the same functionality but how to make usable web-app UI which faithfully delivers semantic web knowledge model, and it's flexibility to the end-users. As for a lot more effort, it depends on the domain. For web content publishing it is already used (eg., by BBC). I am asking more about UI tools approaches for CRUD-heavy apps. (simplifying) – Roman Susi May 14 '15 at 19:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.