semantic-mediawiki.org:Community portal
Community portal of Semantic MediaWiki |
---|
Welcome to the community portal. This is the place for general inquiries, your ideas or comments concerning this wiki. Here you may get in touch with one of the admins of this wiki, who also use this portal as a noticeboard.
We are always looking for ways to improve documentation and communication with the community therefore it would help us if you could take 5 minutes of your time and fill out the survey form. Thank you.
- [History↑]
Contents
![]() First page |
![]() Previous page |
![]() Next page |
![]() Last page |
Hi, SMW works awesome for me so far. But I got a little trouble. I wanted to assign some coordinates to a location. Thus I gave the property "Has coordinates" the type "Geographic Coordinates". But when I use this property and type onto a page i.e. The following coordinate was not recognized: -32.715° -77.03201°. there is a little exlamation mark symbol. When I hover over the symbol it says: "Error - The type of this property is invalid". What am I doing wrong here?
Thanks for your help!
Did you install the Maps and Semantic Maps extension?
Hello everyone,
why is there apparently nowhere in this wiki a changelog? I am trying to figure out what exactly has been done for 1.8.0.5, are there only cosmetic changes, is there a security update - and there seems to be pretty much no way to see this without digging into the source. Mediawiki does it pretty good (see the news section on mediawiki.org), and I would love to see the same here.
Thanks a lot :)
git diff 1.8.0.4 1.8.0.5
, git log 1.8.0.4 1.8.0.5
or git diff 1.8.0.4 1.8.0.5 --stat
should allow to generate the information you need without having someone trying to follow the change process manually. See also [1].
>>MediaWiki does it pretty good ... I would love to see the same here.
SMW is a volunteer project, people participate on their own free time. Having this website available as a "wiki" means that everyone is encouraged to share and participate in order to improve its content.
I'm using SMW to create a course made out of several pages and would like to add something along the lines of a progress counter. Each wiki page has a property indicating which course it belongs to and a property indicating the preceding page.
With this idea, I thought it might actually be possible to recursively define the page number of each particular page belonging to a particular course. This is probably the fastest way to define page numbers without having to manually write in the page number for each page. The latter would definitely bring about a lot of work if I were to insert a page in say, between the first and second page.
However, the question is then, how do I implement this with SMW?
I was guessing I could define a page number variable which will then be SET in the template itself.
{{#if: {{{PreviousPage|}}} | {{ #set: PageNumber={{#expr ( {{#ask: <call page number of preceding page?> }} + 1) | {{#set: PageNumber=1}} }}
Would the set function actually work in this case (assuming this recursive method even works)? Or is there a more elegant method to accomplish the said task?
Have you tried asking via the mailing list? The chances are higher over there that you will get a response.
{{#if: {{{PreviousPage|}}} | {{ #set: PageNumber={{#expr: {{#show: {{{PreviousPage}}} | ?PageNumber }} + 1 }} | {{#set: PageNumber=1}} }}
. This should work, I think, although not immediately. You may need to touch all pages in correct order starting from the first to set page numbers.
There may be a healthier way of ordering pages. Do not set {{{PreviousPage}}}
in your template. Instead, set some number denoting page position, not necessarily incrementing by one: {{#set:Ordering = {{{Order|1}}} }}
. Thence you can get the page number: {{#expr: {{#ask:[[Ordering::<{{{Order|1}}}]] [[Course::{{{Course}}}]] | format = count}} + 1}}
and previous page: {{#ask: [[Ordering::{{#ask:[[Ordering::<{{{Order|1}}}]] [[Course::{{{Course}}}]] | ?Ordering | mainlabel = - | format = max}}]] | ? }}
.
I posted this on the 1.8.0 forum but maybe it will get more traffic here:
Just wondering if the development group is aware of a subobject bug when using RDF as the SMW store. This issue has been reported elsewhere (http://wikimedia.7.x6.nabble.com/RDF-export-of-subobjects-SIO-in-SMW-1-8-broken-td5001638.html). We setup our SMW installation with SQLStore3 with heavy usage of subobjects. All queries work fine with this setup. To gain improved speed, we migrated the SMW data to 4store and although queries of routine properties and categories work, subobject queries are broken as if they do not exist in the system. Any help with this would be appreciated or if it is already being addressed in version 1.9.0, then please let me know.
Thanks,
The form fields for properties of type date have MM/DD/YYYY but not HH:MM:SS.
Is there any way to configure the underlying Date type (e.g., perhaps via $smwgPDefaultType) or add a DateTime type so that a complete timestamp could be stored or held has a property value?
I guess you are interested in the input type "datetime". The complete documentation of Semantic Forms including a talk page for related issues is at MediaWiki.org.
After submitting a class creation using Special:CreateClass, it seems that the creation of the properties, category, template, etc., only proceed when there is some activity such as a page access. Is there a way to configure this so that the background processing can run asynchronously?
Bounties: selecting pages not in category, and option for turning off category inferencing
Does anyone have the skills to add "not in category" clauses for selecting pages in ask queries, and/or the ability to turn off category inferencing in particular ask queries?
Selecting pages not in a category seems to be something that's been requested many times before.
I'd be happy to offer $100 bounties for each these features (up to $200 total) if they're available in the next month. (And of course it'd be a great service to the SMW community.)
Thanks! Adam
Hi,
I am interested in this but I am not able to distinguish both of the tasks. Can you give an example query for this?
Sure! These are two separate things...
1) Not in category clauses: I want to be able to do something like [[!Category::Actor]] to select pages that aren't in category Actor. This should work with other parts of a clause, like [[Category::Hollywood]][[!Category::Actor]] would return pages in category Hollywood but not Actor.
I'm not sure what the best way to implement this is. I'd hope this would get accepted to the SMW codebase so I'd very much welcome feedback on what the best way to accomplish this filtering is. Maybe it's adding a NOT clause, so you could do [[Category::Hollywood]] NOT [[Category::Actor]] but the NOT clause would also add a lot of power to do other things, which would be nice for everyone in general.
2) Optionally turning off category inferencing: I'm referring to inferencing as described here. I think there should be a flag so you could do {{#ask: [[Category::Person]] | inferencing=false }} to get a list of pages only in category Person (and not pages in [[Category::Man]] or [[Category::Woman]] unless those pages are also explicitly in [[Category::Person]]). This use case doesn't make a lot of sense for Person/Man/Woman but could for other use cases. Obviously `inferencing` would be default =true since that's the existing/default bahavior.
Thanks! : )
Adam
The first request is complex, complex as in it needs changes in a lot of places in the core query execution. The second one is relatively simple. I will write to Markus and let you know
I've been trying to get results across a number of namespaces and am at my wit's end.
What I've done:
- Set $smwgNamespaceIndex = 100; in LocalSettings.php BEFORE including SMW
- Edited my SMW_Settings.php to add
NS_BLOG => true, NS_FOO => true,
- Run the repair and upgrade options on Special:SMWAdmin.
The query reads:
It picks up both of those categories in the main namespace, as well as in other namespaces like User and Help, but will not pick up anything in Blog or Foo.
Help?
You have to enable your cusom namespace to also store semantic annotations, e.g. with $smwgNamespacesWithSemanticLinks[NS_BLOG] = true;
. Do this after you invoked the Semantic MediaWiki extension. Please never edit settings files but the LocalSettings.php file. Otherwise you are destined to run into trouble. Cheers
Doing that (after reverting my SMW_Settings.php) results in an error:
Notice: Use of undefined constant NS_BLOG - assumed 'NS_BLOG' in /home/xmm/public_html/w/LocalSettings.php on line 218 Warning: Cannot modify header information - headers already sent by (output started at /home/xmm/public_html/w/LocalSettings.php:218) in /home/xmm/public_html/w/includes/WebResponse.php on line 38 Warning: Cannot modify header information - headers already sent by (output started at /home/xmm/public_html/w/LocalSettings.php:218) in /home/xmm/public_html/w/includes/WebResponse.php on line 38
Any idea why?
Seems like you did something wrong with the definition of your namespace. See custom namespaces. Something like the following should be in your LocalSettings.php before the inclusion of extensions:
## Define namespaces define( "NS_BLOG", 1030 ); define( "NS_BLOG_TALK", 1031 ); ## Name namespaces $wgExtraNamespaces[NS_BLOG] = "Blog"; $wgExtraNamespaces[NS_BLOG_TALK] = "Blog_talk";
Thanks! I've tracked down the problem, I think - unfortunately not how to fix it.
The issue is that the namespaces in question are Wikilog namespaces. The extension requires me to use
Wikilog::setupNamespace( 100, 'Blog', 'Blog_talk' );
to set up the namespace. If I try it the proper way, the semantic asks work, but the wikilogs aren't wikilogs. If I try it the wikilog way, the semantic asks don't work.
I've tried moving things around to have wikilog define its namespaces before smw is included, but it doesn't seem to make a difference.
I'm trying to combine a compound query (from the compound query extension) with a loop (from the ParserFunctions Loop extension) without much luck.
This occurs in a template:
{{#compound_query: {{#forargs: | key | value | <nowiki/> [[Category:Genre]] [[{{#var: value}}]];?has_introduction| }} format=table }}
Basically, I want this to generate a compound query, including each of the items passed in from the template. The template is called with the following:
{{Influenced|Trap|Post Dubstep}}
Once the loops have been expanded, it should look something like this:
{{#compound_query: [[Category:Genre]] [[Trap]];?has_introduction| [[Category:Genre]] [[Post Dubstep]];?has_introduction| format=table }}
Which works perfectly, just not within the loop function.
I'm using the loop elsewhere without problems.
Anything obvious I'm missing??
I should mention that I've tried the usual suspects of escaping a loop. The compound queries work fine too, unless I combine it with a loop.
It do not think that this is possible. However I may be wrong. The better place to seek help in this case appears to be the Semantic Compound Queries extension help page or the Mailing list. Cheers
I've just set up mediawiki and smw - using the git bleeding edge versions. I'm using postgres as the database backend. I encountered multiple problems while attempting to run the SMW_setup.php script ... but eventually, I found some obvious bugs and eventually I managed to get it running. How do I submit patches?
The best way to do this is to file the patch at MediaWiki's bugtracking system MediaWiki Bugzilla (product=MediaWiki extensions, component=Semantic MediaWiki). Thank you for working on this! Cheers
I noticed that on this website the Toolbox menu in the sidebar is empty after Log in. You see it being built but then it disappears and it only shows Toolbox. When logged out the Toolbox menu is ok. I know for sure this was working a while back. Is there a problem with the side or am I missing something here? Using Firefox 19.0.2 Beste regards.
Cannot reproduce this. Try clearing the cache.
I found the problem. It seems that something is not working like it should in the Vector skin. On a computer and tablet, on which I never visited this site, using Opera & Firefox the toolbox menu also disappears after the page is loaded. When I change to the Vectorata skin the toolbox menu stays visible. I can't remember if I changed to the Vector skin manually in the past or that the default skin changed. Using the Vectorata skin now. Regards.
I have been looking for the Ontoprise documentation for the collaboration extension. Does anyone have a copy of this information?
I cannot tell. I think asking via the mailing list will trigger more responses, at least it increases the chances.
Is it possible to set properties in templates in any useful manner? I've done it, and they show up in the "factbox" at the bottom of the page, but they do not show up when I browse properties. I also cannot seem to access them via #ask queries.
Do you mean that you set properties of the templates not the pages that include them? If so, try setting $smwgNamespacesWithSemanticLinks [NS_TEMPLATE] = true;
Yes, I want to be able to set the synopsis and template group for each template, so it's easier to keep track of all the templates we use. The number of templates is getting a little out of hand so I think this will help. Will setting [NS_TEMPLATE] = true; affect the normal usage of setting properties using templates? Basically, as long as any properties intended to be transcluded are wrapped in INCLUDEONLY tags they're not going to be set to the template, right? See example below.
<noinclude> [[Where set::On template only]] </noinclude> <includeonly> [[Where set::On pages including template only]] </includeonly> [[Where set::On template and on pages including template]]
Hi, I am trying to develop an extension. I need to extend semantic mediawiki api with a specific json format. With this code:
$prueba["BB"]["CC"]="DD"; $this->getResult()->addValue("AA",null,$prueba);
I get this result: {"AA":[{"BB":{"CC":"DD"}}]} but I want to get this other: {"AA":[{"BB":[{"CC":"DD"}]]} Is it possible?
Thanks in advance.
I'm running Semantic MediaWiki 1.8 on MediaWiki 1.20.2. On my wiki I have pages with the property "Has coordinates" of the type "Geographical coordinate". The values are saved through the use of a template, like this: [[Has coordinates::{{#coordinates:{{{koordinater}}}|format=dms}}]]
, using the Maps extension #coordinates parser to give a bit more flexibility when inputing coordinates, while keeping a uniform format on the page. With the Wiki being set up with Norwegian language, #coordinates produces a set of coordinates looking like "62° 41' 46" N, 10° 50' 4" Ø" on the page, which is accepted by the Geographical coordinate type.
When I try to map these pages with Semantic Maps with a query like {{#ask: [[Has coordinates::+]] | ?Has coordinates | format=map}}
(or with regular Maps, for that matter) it works perfect. Queries like {{#ask: [[Has coordinates::+]] | ?Has coordinates | ?Name}}
also work perfectly. But if I replace the + with the actual value of one of the pages' "Has coordinates" property, like {{#ask: [[Has coordinates::62° 41' 46" N, 10° 50' 4" Ø]] | ?Has coordinates | ?Name}}
, the query returns with nothing, even if I copy and paste the value from the query above, and even if I copy and paste the coordinates in the format they were input to the template in the first place.
I'm new to MediaWiki and, of course, all its extensions, so any help would be greatly appreciated. :)
EDIT: I just noticed that if I try to make the above mentioned query without the name-part, as in {{#ask: [[Has coordinates::62° 41' 46" N, 10° 50' 4" Ø]] | ?Has coordinates}}
the wiki throws the following error on preview and save: "Fatal exception of type MWException"
[[Has coordinates::{{#coordinates:{{{koordinater}}}|format=dms}}]
Ahh, don't do that... The property annottaions already accepts all the formats, no need to reformat first. And if you do want to reformat, then I suggest keeping display and setting of the property seperate (ie setting it using set). Also keep in mind you can set the default display format of coordinates in annotations, so perhaps you don't need any wikitext for it at all.
the query returns with nothing
Hmm, it should...
"Fatal exception of type MWException"
Need more info, for instance a stack trace.
Ahh, don't do that... The property annottaions already accepts all the formats, no need to reformat first.
Just changed it to take the coordinates without reformatting, and they were displayed the same, so I guess I just assumed it wouldn't without even testing first. :) Didn't affect the query problem though.
Need more info, for instance a stack trace.
Here is the complete stack trace:
There is no result format for 'map'. Backtrace: #0 /customers/a/0/d/somecustomer/httpd.www/extensions/SemanticMediaWiki/includes/params/SMW_ParamFormat.php(143): SMWQueryProcessor::getResultPrinter('map') #1 /customers/a/0/d/somecustomer/httpd.www/extensions/Validator/includes/definitions/ParamDefinition.php(719): SMWParamFormat->formatValue('auto', Object(Param), Array, Array) #2 /customers/a/0/d/somecustomer/httpd.www/extensions/Validator/includes/Param.php(213): ParamDefinition->format(Object(Param), Array, Array) #3 /customers/a/0/d/somecustomer/httpd.www/extensions/Validator/includes/Validator.php(341): Param->format(Array, Array, Object(ValidatorOptions)) #4 /customers/a/0/d/somecustomer/httpd.www/extensions/Validator/includes/Validator.php(281): Validator->doParamProcessing() #5 /customers/a/0/d/somecustomer/httpd.www/extensions/SemanticMediaWiki/includes/SMW_QueryProcessor.php(59): Validator->validateParameters() #6 /customers/a/0/d/somecustomer/httpd.www/extensions/SemanticMediaWiki/includes/SMW_QueryProcessor.php(424): SMWQueryProcessor::getProcessedParams(Array, Array) #7 /customers/a/0/d/somecustomer/httpd.www/extensions/SemanticMediaWiki/includes/parserhooks/SMW_Ask.php(38): SMWQueryProcessor::getQueryAndParamsFromFunctionParams(Array, 2, 1, false) #8 [internal function]: SMWAsk::render(Object(Parser), '[[Has coordinat...', '?Has coordinate...') #9 /customers/a/0/d/somecustomer/httpd.www/includes/parser/Parser.php(3250): call_user_func_array(Array, Array) #10 /customers/a/0/d/somecustomer/httpd.www/includes/parser/Preprocessor_DOM.php(1083): Parser->braceSubstitution(Array, Object(PPFrame_DOM)) #11 /customers/a/0/d/somecustomer/httpd.www/includes/parser/Parser.php(3038): PPFrame_DOM->expand(Object(PPNode_DOM), 0) #12 /customers/a/0/d/somecustomer/httpd.www/includes/parser/Parser.php(1136): Parser->replaceVariables('{{Koieboks?|nav...') #13 /customers/a/0/d/somecustomer/httpd.www/includes/parser/Parser.php(370): Parser->internalParse('{{Koieboks?|nav...') #14 /customers/a/0/d/somecustomer/httpd.www/includes/EditPage.php(2664): Parser->parse('{{Koieboks?|nav...', Object(Title), Object(ParserOptions)) #15 /customers/a/0/d/somecustomer/httpd.www/includes/EditPage.php(1738): EditPage->getPreviewText() #16 /customers/a/0/d/somecustomer/httpd.www/includes/EditPage.php(401): EditPage->showEditForm() #17 /customers/a/0/d/somecustomer/httpd.www/includes/actions/EditAction.php(51): EditPage->edit() #18 /customers/a/0/d/somecustomer/httpd.www/includes/actions/EditAction.php(71): EditAction->show() #19 /customers/a/0/d/somecustomer/httpd.www/includes/Wiki.php(427): SubmitAction->show() #20 /customers/a/0/d/somecustomer/httpd.www/includes/Wiki.php(304): MediaWiki->performAction(Object(Article)) #21 /customers/a/0/d/somecustomer/httpd.www/includes/Wiki.php(536): MediaWiki->performRequest() #22 /customers/a/0/d/somecustomer/httpd.www/includes/Wiki.php(446): MediaWiki->main() #23 /customers/a/0/d/somecustomer/httpd.www/index.php(59): MediaWiki->run() #24 {main}
Through the debugging feature, I've found the following:
I have a page where the coordinates were entered as "62.63664, 11.00655" and saved to the "Has coordinate" property. This makes the coordinates show on the page as "62° 38' 12" N, 11° 0' 24" Ø", and if I edit the page and show a preview, I can hover over the coordinates which appear in the list of properties on the bottom of the screen, and a small box says "Latitude: 62.63664 Longitude 11.00655" (in Norwegian). This is in perfect accordance with the values saved in the database table "wsmw_di_coords", containing the exact same values in the fields "o_lat" and "o_lon", as well as "o_serialized" containing the value "62.63664, 11.00655".
However! When I add the query {{#ask: [[Has coordinates::62° 38' 12" N, 11° 0' 24" Ø]] | ?Has coordinates | ?Name }}
in a page, the debugging feature shows that the database call is: SELECT /* SMW::getQueryResult 194.19.124.36 */ DISTINCT t2.smw_id AS id,t2.smw_title AS t,t2.smw_namespace AS ns,t2.smw_iw AS iw,t2.smw_subobject AS so,t2.smw_sortkey AS sortkey FROM `wsmw_object_ids` AS t2 INNER JOIN `wsmw_di_coords` AS t0 ON t2.smw_id=t0.s_id WHERE ((t0.o_serialized = '62.636666666667' && t0.o_lat = '11.006666666667') AND t0.p_id='65') ORDER BY t2.smw_sortkey ASC LIMIT 51
.
As you can see, there are seemingly two things that are off here. First of all, it seems to look up the latitude in the field "o_serialized" and the longitude in the "o_lat" field. Second, the values themselves are off, probably because of some precision problem when converting to and from float format and DMS.
The second part I'm hopeful I can work around somehow (I'm trying to display a list of pages with it's coordinates set within a defined distance from the current page, explained in the documentation, so as long as I can exclude the current page from showing in the list, it's fine). But the first is a real problem, because even when I change the query to [[Has coordinates:62.63664, 11.00655]]
it looks up the right coordinates, but in the wrong fields in the table, and gets an empty result.
How all of this relates to the crash occuring when dropping the "|?Name" part, I don't know yet.
First of all, it seems to look up the latitude in the field "o_serialized" and the longitude in the "o_lat" field.
Interesting. I tried repdoucing this but ran into another issue... Anyway, I created bug 44933 to keep track of the issue.
the values themselves are off, probably because of some precision problem when converting to and from float format and DMS.
Not a lot SMW can do about this. More the respnsibility of the Maps and Semantic Maps extensions. SMW 1.9 will be using Maps 3.0.x, which has a rewritten coordinate parser, in which some bugs are fixed compared to the one in Maps 2.0.x. Perhaps that will fix your problem.
If you just want to select on one exact value and always enter it in the exact same format (inc same spaces and stuff), you could ofc just store it using an extra string property. To ensure the format is the same you could use the #coordinates function in the way I recommended against. A rather big hack, but might work fine for you.
How all of this relates to the crash occuring when dropping the "|?Name" part, I don't know yet.
Both these issues do not relate to the one for which you provided a stack trace.
Not a lot SMW can do about this.
No, I figured. Not a big issue, though. I just need a slightly different approach to what I want to do, and it isn't really much of a problem.
Both these issues do not relate to the one for which you provided a stack trace.
Are you sure about that? That's strange. Too strange almost, as the stack trace is from the error occurring when I omit "|?Name" from the query. I get the error message "Fatal exception of type MWException" when stack tracing is turned off, and the stack trace posted above when stack tracing is turned on. When I leave "|?Name" in the query, I get no error message, but it looks up the coordinates in the wrong fields.
What version of SMW and SM are you using? I've seen thius error before and think I fixed it already.
SMW version 1.8, SM version 2.0.1.2.
I just realized something. When I try to run the query without "|?Name" it for some reason defaults to format=map. But there seems to be no defined format called "map", hence the error message on top of the backtrace: "There is no result format for 'map'." When I omit "|?Name" but include "format=broadtable" no error is returned, but it still looks up the coordinates in the wrong fields.
So there seems to be two bugs here:
1. A query for specific values of the coordinates property looks up the latitude and longitude in the wrong fields (o_serialized and o_lat, respectively, instead of the correct o_lat and o_lon).
2. When doing a query for specific coordinate values (EDIT: or just any page with coordinates set (i.e. [[Has coordinates::+]])) and only showing the coordinate values in the result, it defaults to the result format "map" which isn't defined. (EDIT: And a "Fatal exception..." error is produced.)
I just realized something. When I try to run the query without "|?Name" it for some reason defaults to format=map
If you just have coordinates in the result set, it will default to map yes. Name is not a coordinate, thus it defaults to table or whatever. Just set the format explicitly (though not map).
The other issue, which is not fixed yet on the latest dev version, has bug 44933.
Hello, I am looking for help with a little semantic media wiki project, since I am a newbie in this area. Someone, who can answer my questions via email, if I am stuck with problems or the SMW manual - with paid compensation.
Thank you very much in advance.
You can ask qustions here on the wiki, on the IRC or on the Mailing list. There is also commericla support (listed on some page somewhere...) including http://www.wikiworks.com/
Hi, If I use a propert say [[mail_property::[email protected]]] and "mail_property" is of type email then what is shown on the page is the link [email protected] with a letterbox next to it.
If I change now to [[mail_property::[email protected] Joe Johnson]] Then I will see the link "Joe Johnson" with a letter box next to it.
Now In a template I have [[mail_property::{{{the email}}}]] and say "the email" is set to [email protected]. Now If I do the following [[mail_property::{{{the email}}} Joe Johnson]] I will see a link "[email protected] Joe Johnson".
The same is true for Page and URL.
The question how do we get so that "Joe Johnson" is showed in a Template just like in regular case.
Hello,
I have a number of semantic maps on the wiki, but when I enable SMWSQLStore3, they all disappear.
I had run a "Start Updating Data" when I upgraded to SMW1.8, so I don't know what the problem could be.
This does sound like a data refresh issue yes. Make sure you triggered the rebuild process and that it's done (you can run runJobs.php)
Thanks Jeroen--I have run the update, some things I noticed:
1) My prior data refresh when Store2 was enabled, did not refresh the content for Store3. Only when STore3 was enabled, did the refresh work for Store3. 2) Running the update did not do a complete job--I still come across maps that show only half the content that they should
![]() First page |
![]() Previous page |
![]() Next page |
![]() Last page |