Semantic Wiki

chris mungall cjm@fruitfly.org

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 popx@j-paine.org
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/

misc/semantic_wiki.txt · Last modified: 2017/07/17 08:08 (external edit)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0