From semanticweb.org
The following is a list of changes implemented for Semantic MediaWiki version 0.5, released on August 15 2006.
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.
|
|
| Fix tooltip creation for units with <sup> tags
| Implemented by: ?
|
| Schedule:
| Status: 100%
|
|
|