Semantic MediaWiki 0.5 changes

From semanticweb.org

Jump to: navigation, search

The following is a list of changes implemented for Semantic MediaWiki version 0.5, released on August 15 2006.

Contents

Version 0.5

Searching and querying

Inline queries Implemented by: dvr, mak
Schedule: soon Status: 80%

Users write queries in article source, and results are shown in the article.

Optional query arguments Implemented by: mak
Schedule: done Status: 100%

Earlier versions of inline queries would not show empty table cells if some property was not set. Instead, they would drop the whole row from the result. This is now fixed by distinguishing between print statements for some annotation (marked by *) and query conditions that require the existence of some annotation (marked by +).

Group results Implemented by: mak
Schedule: 100% Status: done

In the old version, if you had someone with 3 emails and 2 phone numbers, and ask for all people with emails and phones, this one person will generate 6 lines in the table -- all permutations of its phone numbers and emails. This was bad.

Proper unit handling in queries Implemented by: mak
Schedule: soon Status: 100%

Queries used to ignore (especially unknown) units. E.g. if you have an attribute set to "1.5foo" (unsupported unit foo) and ask for "1.5meters", the foo would still be returned. Also units were not displayed correctly. Fixed.

Proper unit formatting in queries Implemented by: mak
Schedule: soon Status: 100%

Query results used to print rather raw data values from the database. They now show the reformatted string that usually appears in the factbox, and they allow users to select the unit in which results are to be displayed.

Clean up query code Implemented by: mak
Schedule: July Status: 90%

After a major rewrite, only very few methods are in their original state. The goal was to eliminate all FIXMEs before 0.5, which was not quite done.

Debugging functions for inline queries Implemented by: mak
Schedule: soon Status: 100%

There now is a parameter debug="true" for ask which will lead to the SQL statement being printed instead of the query results. This will simplify debugging and optimisation a lot.

External services and reuse

External query service Implemented by: max
Schedule: none Status: first prototype

An external service, based on a Java triplestore, allows users to ask complex queries.

External RDF crawler Implemented by: max
Schedule: none Status: prototype running
External SPARQL-Endpoint Implemented by: max
Schedule: none Status: prototype running


Allow reuse of ontological vocabularies Implemented by: mak
Schedule: done Status: 100%

It is now possible to directly map vocabularies from external ontologies to elements of the wiki. See Help:Import vocabulary.


Generate browsable RDF Implemented by: mak
Schedule: soon Status: 90%

RDF export now by default hints at objects that have incoming relations to the exported things. This enables tools to easily browse the whole RDF without downloading the whole wiki.


Import ontologies Implemented by: dvr
Schedule: June 10th Status: 75%

The import of outside ontologies is possible. It adds missing statements from an ontology to the wiki. The feature still needs further improvement though, since it is often needed to customise the import functionality in order to add specific categories to imported articles, or to create certain text snips for some of the annotations.

Datatype support

Prototypical date/time datatype Implemented by: skierpage
Schedule: Status: first prototype implementation running

Using PHP's strtotime() to parse 1970-02-01, 02/01/70, 1970-02-01T14:03:42, etc. Probably has timezone bugs.


Generic linear unit conversions Implemented by: skierpage, mak
Schedule: Aug 2006 Status: 100%

Simple linear conversion calculations are now supported in a generic way and users can create new types that have customised unit support. See Help:Custom units.


Preferred units per attribute Implemented by: skierpage, mak
Schedule: Aug 2006 Status: 100%

Attributes that use types with many units can now select which of these should normally be displayed. This allows the wide reuse of the same type for many attributes. See Help:Custom units.


New datatype for temperature Implemented by: skierpage
Schedule: done Status: 100%

A float type with support for units of temperature has been provided.


New datatypes for URLs, URIs, and Emails Implemented by: mak
Schedule: done Status: 100%

New datatypes now enable the use of URLs and URIs, and even allow those to be treated as such (and not as strings) in RDF export. A blacklist ensures that things such as RDF and OWL language constructs do not appear as data within the export!

Interface improvements

Quicksearch links in Special:Relations, Special:Attributes Implemented by: skierpage
Schedule: Status: 100%

Relations and attributes found via this special now supply a link for searching their occurrences. This is especially helpful for quickly finding pages on which a deprecated or little used annotation appears.

Bugfixes/Cleanup

New abstraction layer for processing data values Implemented by: mak
Schedule: Status: 100%

The code for parsing and processing datavalues currently is rather messy. You pass strings to type handlers that you have to select yourself, and in return you get an array with a rather vaying set of keys that describe the parse results. In the future, an intermediate layer of SMWDataValue objects will greatly simplify handling data values. This also fixes most of the PHP notices you get in 0.4 from accessing non-existing array values.


Manage extracted semantic data in a static class Implemented by: mak
Schedule: Status: 100%

Extracted annotations have been stored in a global object. Now they use a static class which appears to be a cleaner solution.


Use object oriented features of PHP5 Implemented by: mak, everybody
Schedule: Status: 80%

PHP5 sufficiently supports keywords like protected, private, static, and interface. They should be used eagerly.


Implement style guidelines Implemented by: mak/everybody
Schedule: Status: 95%


Fix tooltip creation for units with <sup> tags Implemented by: ?
Schedule: Status: 100%

See smwbug:1476079.

Personal tools