Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_semantic_wiki [2008/03/18 16:05] gjn |
pl:miw:miw08_semantic_wiki [2008/06/14 15:08] gjn |
====== Opis ====== | |
Marcin Juszkiewicz, <monitorr@interia.pl> | |
| |
| |
prolog wiki plugin, [[http://en.wikipedia.org/wiki/Semantic_wiki|semantic wiki]] research, comparison | |
| |
| |
| |
====== Spotkania ====== | |
| |
<code> | |
<swp> | |
spotkanie(data(3.4.8)). | |
</swp> | |
| |
<swp goal="spotkanie(X)" scope="pl:miw"/> | |
</code> | |
| |
swipl -f mojpliktymcz.pl -g 'spotkanie(X),write(X),halt.' | |
| |
===== 08.03.04 ===== | |
* ogólnie: kto coś już z tym robił? | |
| |
- http://korrekt.org/papers/KroetzschVrandecicVoelkelHaller_SemanticMediaWiki_2007.pdf | |
- http://www.semanticwiki.com/ | |
- http://www2006.org/programme/files/xhtml/4039/xhtml/fp4039-voelkel.html | |
- http://argentera.inria.fr/wiki/data/Main/MainHome.jsp | |
| |
* przechowywanie wiedzy semantycznej w wiki | |
| |
- http://pediaview.com/openpedia/Resource_Description_Framework | |
- http://pediaview.com/openpedia/Web_Ontology_Language | |
| |
* przechowywanie //reguł// w wiki | |
- http://wiki.splitbrain.org/wiki:syntax | |
- http://kaukoluwiki.opendfki.de/wiki/SemanticWikiSyntax | |
- http://www.xml.com/pub/a/2006/12/13/semantic-wikis-and-disaster-relief-operations.html?page=2 | |
| |
| |
| |
| |
| |
| |
===== 080318 ===== | |
* plugin w php do dokuwiki, urucham po stronie serwera swiprolog | |
| |
- http://student.agh.edu.pl/~mjuszkie/miw.txt | |
- http://gollem.science.uva.nl/SWI-Prolog/Manual/compilation.html | |
| |
====== Projekt ====== | |
====== Sprawozdanie ====== | |
====== Materiały ====== | |
===== Wybrane Wikis ===== | |
* [[http://semantic-mediawiki.org/|SemanticMediaWiki]] | |
* [[http://ikewiki.salzburgresearch.at/|Ike Wiki]] | |
* [[http://argentera.inria.fr/|SweetWiki]] | |
| |
===== Propozycja Dr Wojnickiego ===== | |
To support AI teaching process and idea of a Semantic Wiki based on Prolog emerged. | |
It would support running Prolog code on the web server while rendering a wiki page. | |
Contents of such a page consists of a human-readable text, and optionally images, attachments etc, and a machine-readable and automatically interpreted knowledge expressing what the page is about. | |
| |
To support Prolog programming within the wiki there is an ongoing prototype implementation of a Prolog inference engine embedded into a DokuWiki system working as its extension. | |
It is called Prolog DokuWiki. | |
| |
As a result, in addition to text-based human-readable contents, there are Prolog clauses embedded into wiki pages. | |
These clauses can be automatically interpreted upon requesting the page. | |
Results of the interpretation (inference) process are directly rendered into the page. | |
| |
This constitutes a Semantic Wiki System based on Prolog. | |
It is similar, to some extent, to the semantic wiki systems currently available (Semantic MediaWIki, IkeWiki, SweetWiki). | |
Other semantic wiki systems use XML to annotate gathered information semantically while Prolog DokuWiki uses Prolog language clauses. | |
Furthermore, the clauses are interpreted upon displaying a given page. | |
| |
The extension introduces a new element indicated by a tag called ''prolog''. | |
Any text within the element is treated as Prolog clauses, it is interpreted by an externally launched Prolog inference engine. | |
As the inference engine SWI-Prolog is used. | |
| |
Upon rendering a page with a ''prolog'' element, the wiki system launches the inference engine which process clauses within the tag. | |
Standard output of the inference process is displayed in place of the element. | |
| |
There are special predicates which allow populating knowledge base with clauses from arbitrary chosen pages or namespaces. | |
There is a ''wiki/1'' predicate defined which triggers the inference engine to interpret clauses embedded within other wiki pages. | |
If the first argument is a valid wiki page, the predicate browses it and interprets (consults) all clauses within ''prolog'' tags on this page. | |
If the argument is a namespace it browses all pages from this namespace and interprets all clauses found within the pages. | |
There is another predicate ''wiki_recursive/1'' which interprets clauses from all pages in the given as a first argument namespace and all namespaces within it recursively. | |
| |
| |