From: HumanCell.org <hum...@gm...> - 2006-08-18 16:10:03
|
Hi, I have just updated from 0.4 to 0.5 and am getting this message when I visit Special:Types <b>Warning</b>: Invalid argument supplied for foreach() in <b>/home/humancell/phase3/extensions/SemanticMediaWiki/specials/Relations/SMW_SpecialTypes.php</b> on line <b>32</b><br /> the line is: foreach ($smwgTypeHandlersByLabel as $name => $th) { I was expecting to see a list of built-in types but none are shown. Have they got lost during the update? platform: mediawiki 1.7.1, SemanticMediaWiki 0.5 |
From: S P. <ski...@ea...> - 2006-08-18 22:34:46
|
Yes, it's a known issue. The changes to datatype handling broke that page. I updated http://wiki.ontoworld.org/wiki/Help:Annotation#Datatypes_and_units_of_measurement to list all the English names for the built-in Types in 0.5: String, Integer, Float, Geographic coordinate, Date, Temperature, Email, URI, URL, and Annotation URI. You can specify one of these as the type of an attribute even if you don't have a Type: page documenting it. In 0.5 you can create a user-defined Type: page specifying [[Corresponds to:=]] attributes giving conversion factors between units. Length, Area, Mass, and Time are no longer built-in types but such types. Special:Allpages can list these Type pages. The trick is to write a new Special:Types that displays both kinds of pages. -- =S |
From: Markus <ma...@ai...> - 2006-08-20 18:31:57
|
On Saturday 19 August 2006 00:30, S Page wrote: > Yes, it's a known issue. The changes to datatype handling broke that pag= e. Oops. While this was known, I did not know that it could create an actual=20 error. For ontoworld.org, the type page is just empty. As S said, we are=20 working on fixing this soon. For now, you may want to switch off the=20 Special_Types completely. To do this, edit SMW_Settings.php and change the= =20 line require_once($smwgIP . '/specials/Relations/SMW_SpecialTypes.php'); to=20 # require_once($smwgIP . '/specials/Relations/SMW_SpecialTypes.php'); A more functional fix will appear in the near future. =2D- Markus > > I updated > http://wiki.ontoworld.org/wiki/Help:Annotation#Datatypes_and_units_of_mea= su >rement to list all the English names for the built-in Types in 0.5: String, > Integer, Float, Geographic coordinate, Date, Temperature, Email, URI, URL, > and Annotation URI. You can specify one of these as the type of an > attribute even if you don't have a Type: page documenting it. > > In 0.5 you can create a user-defined Type: page specifying [[Corresponds > to:=3D]] attributes giving conversion factors between units. Length, > Area, Mass, and Time are no longer built-in types but such types. > Special:Allpages can list these Type pages. > > The trick is to write a new Special:Types that displays both kinds of > pages. -- > =3DS > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > Semediawiki-devel mailing list > Sem...@li... > https://lists.sourceforge.net/lists/listinfo/semediawiki-devel =2D-=20 Markus Kr=F6tzsch Institute AIFB, University of Karlsruhe, D-76128 Karlsruhe ma...@ai... phone +49 (0)721 608 7362 www.aifb.uni-karlsruhe.de/WBS/ fax +49 (0)721 693 717 |
From: HumanCell.org <hum...@gm...> - 2006-08-21 08:41:56
|
On 20/08/06, Markus Kr=F6tzsch <ma...@ai...> wrote: > On Saturday 19 August 2006 00:30, S Page wrote: > > Yes, it's a known issue. The changes to datatype handling broke that p= age. > > Oops. While this was known, I did not know that it could create an actual > error. [..] > A more functional fix will appear in the near future. That's fine - at least I know now that it's not a problem with my installat= ion. |
From: S P. <ski...@ea...> - 2006-08-21 09:04:41
|
> A more functional fix will appear in the near future. > I checked a better (?) version into CVS. On the first page of Special:Types, it lists the built-in datatypes before going on to list all pages in the Type: namespace. If we knew every SMW install had a Type: page for each built-in datatype, that first list wouldn't be necessary. But e.g. wiki.ontoworld doesn't have Type:Email or Type:String pages. Perhaps the SMW distribution should provide an XML dump of Type: pages for the built-ins that you can Special:Import during install. (And we could enhance Type: pages to automatically list all attributes using the datatype, like Category: pages do.) Conversely, it's possible to author Type: pages that aren't usable, e.g. wiki.ontoworld has Type:Box and Type:Vector. You can also query * The value_datatype of attribute values from the smw_attributes table. * The "has type" of attributes from smw_specialprops, which would give the number of attributes using each datatype. * The "corresponds to" conversion factors of datatypes from smw_specialprops, which user-defined Type pages require. The complicated union and intersection of these, converting between labels and IDs, could give the precise list of types you can successfully use. And perhaps we should create a Special:UnusedTypes page like Special:UnusedAttributes. I welcome comments and corrections, the ruder the better! :) -- =S |
From: Markus <ma...@ai...> - 2006-08-21 11:44:05
|
On Monday 21 August 2006 11:00, S Page wrote: > > A more functional fix will appear in the near future. > > I checked a better (?) version into CVS. On the first page of > Special:Types, it lists the built-in datatypes before going on to list > all pages in the Type: namespace. > > If we knew every SMW install had a Type: page for each built-in > datatype, that first list wouldn't be necessary. But e.g. > wiki.ontoworld doesn't have Type:Email or Type:String pages. Perhaps > the SMW distribution should provide an XML dump of Type: pages for the > built-ins that you can Special:Import during install. (And we could > enhance Type: pages to automatically list all attributes using the > datatype, like Category: pages do.) > > Conversely, it's possible to author Type: pages that aren't usable, e.g. > wiki.ontoworld has Type:Box and Type:Vector. > > You can also query > * The value_datatype of attribute values from the smw_attributes table. > * The "has type" of attributes from smw_specialprops, which would give > the number of attributes using each datatype. > * The "corresponds to" conversion factors of datatypes from > smw_specialprops, which user-defined Type pages require. > > The complicated union and intersection of these, converting between > labels and IDs, could give the precise list of types you can > successfully use. And perhaps we should create a Special:UnusedTypes > page like Special:UnusedAttributes. > > I welcome comments and corrections, the ruder the better! :) The situation obviously needs improvement. Part of the information you list= ed=20 is not primary in this context. What we really want is a list of available= =20 types, used or not, documented or not. For each of those, it might be=20 insteresting to show the number of attributes of that type. The number of=20 data-values stored under that type is not really relevant --=20 Special:Attributes already shows this on a per-attribute basis. So we are in the situation that we would like to have all the *valid* types= ,=20 which basically are=20 (all Type:-pages that describe custom linear types) + (all built-in types) The first can currently be checked by looking for "corresponds to". The sec= ond=20 part could also be done with SQL. One way to add a short set of extra entri= es=20 to a query is to create a "temporary table" (this is just an in-memory buff= er=20 managed by MySQL DB-server-side), and to make a union of the contents of sa= id=20 table with the other results. This gives you a single SQL-query again, and= =20 you can make result-pages as usual.=20 CREATE TEMPORARY TABLE built_in_types(type_title VARCHAR(255) NOT NULL) TYP= E=20 HEAP; makes a table for built-in types, into which you can insert all known types= =20 from the internationalisation message. Then you can make a query that selec= ts=20 page_ids of corresponds_to statements from sepcialprops, joins them with th= e=20 page-table to get their name and namespace (please do not use the=20 name/namespace-entries from the specialprops or any other SMW table -- I wi= ll=20 remove those in the future), and filters out the namespace "Type:".=20 Using "OR" you can combine this with your tempory table to get all type nam= es=20 in one sorted query result. You do not have to delete the temporary table i= f=20 it is not possible in the given program-flow -- it is local to the current= =20 DB-connection and will be removed after the PHP-call ends. Note that this=20 should prevent you from using one temporary table across multiple result=20 pages.=20 An alternative way might be to put the known values of built-in type names= =20 into the SQL-query right away, since we only have a few built-ins. But I am= =20 not sure how this would work in SQL. Once you have the ordered list of type-names, you can go and find further=20 information about each of them, if desired. Does this sound like a plan? =2D- Markus =2D-=20 Markus Kr=F6tzsch Institute AIFB, University of Karlsruhe, D-76128 Karlsruhe ma...@ai... phone +49 (0)721 608 7362 www.aifb.uni-karlsruhe.de/WBS/ fax +49 (0)721 693 717 |