I had this discussion already a year ago with Barbara Geyer from the FH Eisenstadt. Experienced in Knowledge Management Projects, she pointed me to “seperate concept from instances”
In my current gnowsis nightly build, this is not really done, but I have strong feelings towards it 🙂
The background: When I write a generic Semantic Web app, I have to make a User Interface also. The question is now, how to render an RDF graph, that has by itself no structure at all. RDF graphs are just graphs, based on RDF itself you cannot even identify classes and instances. So you need more information to display the stuff, for example you can use:
- RDF-S info to treat classes other than resources. And express subclass/subproperty relations
- DublinCore to indentify prominent parts of a graph that you can display “in front”
- DublinCore to identify partOf / relatedTo things.
- SKOS to organize these things into concept schemes. Seperate Instances from Concepts
The thing with RDF is, that concepts are also instances, in the view of RDF resource instances. So you need to seperate the concepts somehow from the instances.
Example: how to render a FOAF file that contains facts about a Person, related Persons and facts about these related Persons?
Using above schemas, you can subclass some of the FOAF properties to express that things are only related and not part of the resource. (f.e. foaf:knows as subproperty of http://purl.org/dc/elements/1.1/relation)
You then could code your UI and your logic behind to show related stuff in a seperate window (f.e. sidebar window) and have “part of” stuff in the “main window”.
but more important, you can pass the knowledge behind on to the user. Its good to allow the user to “add new subparts” and to “add new relations”. So users have a guide what to put where.
more to follow when I have coded these ideas….