====== Semantic Wiki ====== chris mungall I've thought about it, but never actually implemented one. the wiki part of the code would appear to be there in Jan's pldoc package, and the semantic part in either the semweb package, or using straight-up prolog as you suggest. How do you envision this working? Would it be a wiki in which arbitrary prolog facts could be inserted? Presumably there would be some kind of metamodel, capturing distinctions between classes, instances and relations, similar to semweb, without the binary relation restriction? Perhaps something along the lines of KIF/ CommonLogic (full first order logic, obviously poorer computational properties, but perhaps fine for your purposes) Somewhat OT from SWI-Prolog but I agree about binary relations. In our semantic web research we are discovering that binary relations are generally fine for class-level relations, but instance-level relations in the real world are generally time-indexed. e.g. http://obo.sourceforge.net/relationship/#OBO_REL:part_of I presume you've already read this and found it of limited use: http://www.w3.org/TR/swbp-n-aryRelations/ On Sep 27, 2006, at 8:36 AM, Jocelyn Paine wrote: > from: Jocelyn Paine >Has anybody implemented a semantic wiki in SWI? Most semantic wikis >allow >at most 2 arguments to the predicates used in annotating pages; I >don't >know why, but I suppose it's because RDF only likes binary >relations. So >if you want to annotate with clauses for predicates of arity > 2, >you can >only do so by coding them in terms of arity-2 predicates. Prolog isn't >limited in this way, so would seem an obvious choice as a semantic >wiki >language. I've not found any implemented in it, though. > >My question applies not just to SWI-Prolog, of course. But SWI is >being >used a lot for the Semantic Web - have any of you Semantic Web >researchers >ou there experimented with it as a semantic wiki language? ===== Another Post ===== This post comes from SWI-Prolog mailing list. I posted to deplore the lack of general n-ary relations in semantic wikis and to ask whether any had been implemented in SWI-Prolog, given the large amount of Semantic Web work done with it. On Wed, 27 Sep 2006, chris mungall replied: > > I've thought about it, but never actually implemented one. the wiki > part of the code would appear to be there in Jan's pldoc package, and > the semantic part in either the semweb package, or using straight-up > prolog as you suggest. > I've just looked at pldoc: thanks! Does it really provide much that a wiki engine does? It doesn't implement the editing interface that wikis do - that's _not_ a criticism, it's not intended for that. And whereas in wikis, code (i.e. semantic annotations) is marked by special symbols but comment (free text) is unmarked, pldoc takes a program as input, so code is unmarked and comment is marked. > How do you envision this working? Would it be > a wiki in which arbitrary prolog facts could be inserted? > Presumably there would be some kind of metamodel, capturing distinctions > between classes, instances and relations, similar to semweb, without the > binary relation restriction? > At first, yes, a wiki in which arbitrary prolog facts could be inserted. While I'm developing the system, I'd constrain myself to entering only the appropriate predicates. I haven't decided how I'd go on to implement and use an explicit metamodel. There seems to be quite a variety of ways in which these metamodels are implemented and used, by the way, so a corresponding variety in how one would use Prolog and pldoc. Since this isn't a semweb/wiki group, I'll just point at two URLs, in case anyone's interested. There's a first attempt at a classification, not detailed, by Max Völkel, at "[swikig] SemWiki2006 Workshop Infos" posting, http://www.mail-archive.com/swikig@aifb.uni-karlsruhe.de/msg00036.html And a recent paper, "Annotation and Navigation in Semantic Wikis", by Eyal Oren, Renaud Delbru, Knud Möller, Max Völkel and Siegfried Handschuh, at http://eyaloren.org/pubs/semwiki2006.pdf > Perhaps something along the lines of KIF/ > CommonLogic (full first order logic, obviously poorer computational > properties, but perhaps fine for your purposes) > That's something I've not looked at yet. Thanks again. > Somewhat OT from SWI-Prolog but I agree about binary relations. In > our semantic web research we are discovering that binary relations > are generally fine for class-level relations, but instance-level > relations in the real world are generally time-indexed. > > e.g. http://obo.sourceforge.net/relationship/#OBO_REL:part_of > > I presume you've already read this and found it of limited use: > http://www.w3.org/TR/swbp-n-aryRelations/ > Yes, very limited use. But - I have found a Semantic MediaWiki augmented with general n-ary relations. Again, as it's out of purpose for this group, I'll point you at a posting I made to the swikig group about it, http://www.aifb.uni-karlsruhe.de/pipermail/swikig/2006-October/000304.html BOWiki itself is at http://onto.eva.mpg.de/bowiki/index.php/Main_Page and my posting also points at one of the papers about it. Jocelyn Paine http://www.j-paine.org/ ===== And the Reply... ===== Hi Jocelyn, Perhaps peripheral, but the text-to-html (tth) interpreter I wrote is similar to pldoc, except that it expects text as default and marks prolog code as special. I use it both to generate full text (such as articles and chapters), but also as the interpreter for blog comments. Part of the reason for developing it was as a possible future base for my ontology work. The interpreter uses direct file access to cater for large amounts of text, but where possible passes lines of text to DCG for ease of grammar-based interpretation. I vaguely had in mind being able to formally interpret sections of text like bullet points or table cells into an underlying ontology. That bit is in the future, because my ontology isn't ready yet. I've got a core ontology for entities, connections, causation, actions, etc., with a good start on a business domain ontology -- all expressed directly in Prolog. Philosophically I find it a very appropriate language for ontology. Anyway, perhaps tth may be of help in what you're doing. Cheers, RdR ====== Collaborative Systems ====== A collaborative system is one that works with people and other systems to get jobs done faster. Each person and each software program has various strengths and weaknesses. Working alone they can only accomplish so much. Working together, strength combines with strength to increase the likelihood of success. http://www.collaborative-systems.org/