Semantics | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Semantics of programming languages | ||||||||
| ||||||||
A semantic wiki is a wiki that has an underlying model of the knowledge described in its pages. Regular, or syntactic, wikis have structured text and untyped hyperlinks. Semantic wikis, on the other hand, provide the ability to capture or identify information about the data within pages, and the relationships between pages, in ways that can be queried or exported like a database[1][2] through semantic queries.
Semantic wikis were first proposed in the early 2000s, and began to be implemented seriously around 2005.[3][4] As of 2021, well-known semantic wiki engines are Semantic MediaWiki and Wikibase.[5]
The knowledge model found in a semantic wiki is typically available in a formal language, so that machines can process it into an entity-relationship model or relational database.
The formal notation may be included in the pages themselves by users, as in Semantic MediaWiki, or it may be derived from the pages or the page names or the means of linking.
For example, using a specific alternative page name might indicate that a specific type of link was intended.
Providing information through a formal notation allows machines to calculate new facts, as relations between pages, from the facts represented in the knowledge model.
The technologies developed by the Semantic Web community provide one basis for formal reasoning about the knowledge model that is developed by importing this data. However, there is also a wide array of technologies that work on relational data.
Imagine a semantic wiki devoted to food. The page for an apple would contain, in addition to standard text information, some machine-readable or at least machine-intuitable semantic data. The most basic kind of data would be that an apple is a kind of fruit—what's known as an inheritance relationship. The wiki would thus be able to automatically generate a list of fruits, simply by listing all pages that are tagged as being of type "fruit." Further semantic tags in the "apple" page could indicate other data about apples, including their possible colors and sizes, nutritional information and serving suggestions, and so on.
If the wiki exports all this data in RDF or a similar format, it can then be queried in a similar way to a database—so that an external user or site could, for instance, request a list of all fruits that are red and can also be baked in a pie.
In the 1980s, before the Web began, there were several technologies to process typed links between collectively maintained hypertext pages, such as NoteCards, KMS, and gIBIS. Extensive research was published on these tools by the collaboration software, computer-mediated communication, hypertext, and computer supported cooperative work communities.
The first known usage of the term "Semantic Wiki" was a Usenet posting by Andy Dingley in January 2001.[6] Its first known appearance in a technical paper was in a 2003 paper by Austrian researcher Leo Sauermann.[7]
Many of the existing semantic wiki applications were started in the mid-2000s, including ArtificialMemory[8] (2004), Semantic MediaWiki (2005), Freebase (2005), and OntoWiki (2006).
June 2006 saw the first meeting dedicated to semantic wikis, the "SemWiki" workshop, co-located with the European Semantic Web Conference in Montenegro.[9] This workshop ran annually until 2010.[10]
The site DBpedia, launched in 2007, though not a semantic wiki, publishes structured data from Wikipedia in RDF form, which enables semantic querying of Wikipedia's data.
In March 2008, Wikia, the world's largest wiki farm, made the use of Semantic MediaWiki available for all their wikis on request, thus allowing all the wikis they hosted to function as semantic wikis.[11] However, since upgrading to version 1.19 of MediaWiki in 2013, they have stopped supporting Semantic MediaWiki for new requests on the basis of performance problem.[12]
In July 2010, Google purchased Metaweb, the company behind Freebase.[13]
In April 2012, work began on Wikidata, a collaborative, multi-language store of data, whose data could then be used within Wikipedia articles, as well as by the outside world.
There are a number of wiki applications that provide semantic functionality. Some standalone semantic wiki applications exist, including OntoWiki. Other semantic wiki software is structured as extensions or plugins to standard wiki software. The best-known of these is Semantic MediaWiki, an extension to MediaWiki. Another example is the SemanticXWiki[14] extension for XWiki.
Some standard wiki engines also include the ability to add typed, semantic links to pages, including PhpWiki and Tiki Wiki CMS Groupware.
Freebase, though not billed as a wiki engine, is a web database with semantic-wiki-like properties.
Semantic wikis vary in their degree of formalization. Semantics may be either included in, or placed separately from, the wiki markup. Users may be supported when adding this content, using forms or autocompletion, or more complex proposal generation or consistency checks. The representation language may be wiki syntax, a standard language like RDF or OWL, or some database directly populated by the tool that withdraws the semantics from the raw data. Separate versioning support or correction editing for the formalized content may also be provided. Provenance support for the formalized content, that is, tagging the author of the data separately from the data itself, varies.
What data can get formalized also varies. One may be able to specify types for pages, categories, or paragraphs or sentences (the latter features were more common in pre-web systems). Links are usually also typed. The source, property, and target may be determined by some defaults, e.g. in Semantic MediaWiki the source is always the current page.
Reflexivity also varies. More reflexive user interfaces provide strong ontology support from within the wiki, and allow it to be loaded, saved, created, and changed.
Some wikis inherit their ontology entirely from a pre-existing strong ontology like Cyc or SKOS, while, on the other extreme, in other semantic wikis the entire ontology is generated by users.
Conventional, non-semantic wikis typically still have ways for users to express data and metadata, typically by tagging, categorizing, and using namespaces. In semantic wikis, these features still typically exist, but integrated these with other semantic declarations, and sometimes with their use restricted.
Some semantic wikis provide reasoning support, using a variety of engines. Such reasoning may require that all instance data comply with the ontologies.
Most semantic wikis have simple querying support (such as searching for all triples with a certain subject, predicate, object), but the degree of advanced query support varies; some semantic wikis provide querying in standard languages like SPARQL, while others instead provide a custom language. User interface support to construct these also varies. Visualization of the links especially may be supported.
Many semantic wikis can display the relationships between pages, or other data such as dates, geographical coordinates, and number values, in various formats, such as graphs, tables, charts, calendars, and maps.