Différences entre les versions de « Utilisateur:SMW user/Sandbox2 »

De Semantic MediaWiki - Sandbox
Ligne 107 : Ligne 107 :
  
 
}}
 
}}
 +
== Reference ==
 +
Possible reference with issue [https://sandbox.semantic-mediawiki.org/wiki/Issue/4965 4988].
 +
 +
== Description ==
 +
Setting subobjects <code>cityN</code> with the property '''Has page'''.
 +
 +
== Property declaration ==
 +
<pre>{{#subobject:city1
 +
| Has page = Athens
 +
}}
 +
...
 +
{{#subobject:city101
 +
| Has page = Athens
 +
}}
 +
...
 +
</pre>
  
 
== Query ==
 
== Query ==
 +
=== Query 1 ===
 
<pre>
 
<pre>
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population}}
+
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in}}
 
</pre>
 
</pre>
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|sort=}}
+
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in}}
 +
Here no sort is used, i.e. the results are sorted by their subobject name. The problem is that some of the property chain values are '''not''' displayed at all.
 
<pre>
 
<pre>
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|sort=Has page}}
+
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]] [[Has page::Athens]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in}}
 
</pre>
 
</pre>
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|sort=Has page}}
+
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]] [[Has page::Athens]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in}}
 +
Querying for the city directly it shows all property chain values.
 +
 
 +
==== Debug ====
 +
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|format=debug}}
 +
 
 +
=== Query 2 ===
 +
<pre>
 +
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page}}
 +
</pre>
 +
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page}}
 +
Here <code>sort=Has page</code> is used, in contradiction to the previous query, all property values are displayed.
 +
==== Debug ====
 +
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page|format=debug}}
 +
 
 +
=== Query 3 ===
 +
<pre>
 +
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page|order=rand}}
 +
</pre>
 +
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page|order=rand}}
 +
Here <code>sort=Has page</code> and <code>order = rand</code> is used, again, some property values are missing.
 +
==== Debug ====
 +
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page|format=debug}}
 +
 
 +
=== Query 4 ===
 
<pre>
 
<pre>
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|sort=Has page.Has population}}
+
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|sort=Has page.Located in}}
 
</pre>
 
</pre>
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|sort=Has page.Has population}}
+
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page.Located in}}
 +
Offtopic, here trying to use <code>sort=Has page.Located in</code>. While the property chain values are displayed correctly, the sorting doesn't work at all. Something else takes precedence, ruining the intended sort, turning it internally into <code>sort=<!-- subobject name -->,Has page.Located in</code>, <code>sort=Has page,Has page.Located in</code> or <code>sort=Has page</code>. Not sure about this, but something is fishy here. I know that up to SMW 3.1.6 the sort <code>sort = <property1>.<property2>,<property></code> is turned internally into <code>sort = <property>,<property1>.<property2></code>, ordering the property chains by length first; but here that it somehow ignores the second property chain part is very wierd.
 +
==== Debug ====
 +
{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page.Located in|format=debug}}

Version du 19 mai 2021 à 18:36

Reference

Possible reference with issue 4988.

Description

Setting subobjects cityN with the property Has page.

Property declaration

{{#subobject:city1
 | Has page = Athens
}}
...
{{#subobject:city101
 | Has page = Athens
}}
...

Query

Query 1

{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in}}

Here no sort is used, i.e. the results are sorted by their subobject name. The problem is that some of the property chain values are not displayed at all.

{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]] [[Has page::Athens]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in}}

Querying for the city directly it shows all property chain values.

Debug

Debug outputElasticStore
{ "smw": { "query": "[[-Has subobject::Utilisateur:SMW user/Sandbox2]]", "sort": { "": "ASC" }, "metrics": { "query size": 2, "query depth": 1 }, "description_log": [ { "SomeProperty": "[[-Has subobject::Utilisateur:SMW user/Sandbox2]]" } ] }, "elastic": [ { "inverse_lookup_query": [ "_SOBJ", "[[:Utilisateur:SMW user/Sandbox2]]" ], "query": { "index": "smw-data-db9910120150926-02100_", "type": "data", "body": { "_source": [ "P:33234.wpgID" ], "query": { "constant_score": { "filter": { "bool": { "must": { "terms": { "_id": [ 256819 ] } } } } } } }, "size": 10000 }, "search_info": { "took": 2, "timed_out": false, "max_score": 1, "total": 0 }, "isFromCache": false }, { "index": "smw-data-db9910120150926-02100_", "type": "data", "body": { "_source": false, "from": 0, "size": 251, "query": { "constant_score": { "filter": { "bool": { "filter": { "exists": { "field": "empty.lookup_query" } } } } } }, "sort": [ { "subject.sortkey.sort": { "order": "asc" }, "subject.title.sort": { "order": "asc" } } ] } }, { "_shards": { "total": 1, "successful": 1, "failed": 0 }, "valid": true, "explanations": [ { "index": "smw-data-db9910120150926-02100_-v2", "valid": true, "explanation": "+ConstantScore(#MatchNoDocsQuery("No field "empty.lookup_query" exists in mappings.")) #*:*" } ] } ] }

Query 2

{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page}}

Here sort=Has page is used, in contradiction to the previous query, all property values are displayed.

Debug

Debug outputElasticStore
{ "smw": { "query": "[[-Has subobject::Utilisateur:SMW user/Sandbox2]]", "sort": { "Has_page": "ASC" }, "metrics": { "query size": 2, "query depth": 1 }, "description_log": [ { "SomeProperty": "[[-Has subobject::Utilisateur:SMW user/Sandbox2]]" } ] }, "elastic": [ { "inverse_lookup_query": [ "_SOBJ", "[[:Utilisateur:SMW user/Sandbox2]]" ], "query": { "index": "smw-data-db9910120150926-02100_", "type": "data", "body": { "_source": [ "P:33234.wpgID" ], "query": { "constant_score": { "filter": { "bool": { "must": { "terms": { "_id": [ 256819 ] } } } } } } }, "size": 10000 }, "search_info": { "took": 1, "timed_out": false, "max_score": 1, "total": 0 }, "isFromCache": false }, { "index": "smw-data-db9910120150926-02100_", "type": "data", "body": { "_source": false, "from": 0, "size": 251, "query": { "constant_score": { "filter": { "bool": { "filter": { "exists": { "field": "empty.lookup_query" } } } } } }, "sort": [ { "P:32975.wpgField.sort": { "order": "asc" } } ] } }, { "_shards": { "total": 1, "successful": 1, "failed": 0 }, "valid": true, "explanations": [ { "index": "smw-data-db9910120150926-02100_-v2", "valid": true, "explanation": "+ConstantScore(#MatchNoDocsQuery("No field "empty.lookup_query" exists in mappings.")) #*:*" } ] } ] }

Query 3

{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|?Has page.Located in|sort=Has page|order=rand}}

Here sort=Has page and order = rand is used, again, some property values are missing.

Debug

Debug outputElasticStore
{ "smw": { "query": "[[-Has subobject::Utilisateur:SMW user/Sandbox2]]", "sort": { "Has_page": "ASC" }, "metrics": { "query size": 2, "query depth": 1 }, "description_log": [ { "SomeProperty": "[[-Has subobject::Utilisateur:SMW user/Sandbox2]]" } ] }, "elastic": [ { "inverse_lookup_query": [ "_SOBJ", "[[:Utilisateur:SMW user/Sandbox2]]" ], "query": { "index": "smw-data-db9910120150926-02100_", "type": "data", "body": { "_source": [ "P:33234.wpgID" ], "query": { "constant_score": { "filter": { "bool": { "must": { "terms": { "_id": [ 256819 ] } } } } } } }, "size": 10000 }, "search_info": { "took": 1, "timed_out": false, "max_score": 1, "total": 0 }, "isFromCache": false }, { "index": "smw-data-db9910120150926-02100_", "type": "data", "body": { "_source": false, "from": 0, "size": 251, "query": { "constant_score": { "filter": { "bool": { "filter": { "exists": { "field": "empty.lookup_query" } } } } } }, "sort": [ { "P:32975.wpgField.sort": { "order": "asc" } } ] } }, { "_shards": { "total": 1, "successful": 1, "failed": 0 }, "valid": true, "explanations": [ { "index": "smw-data-db9910120150926-02100_-v2", "valid": true, "explanation": "+ConstantScore(#MatchNoDocsQuery("No field "empty.lookup_query" exists in mappings.")) #*:*" } ] } ] }

Query 4

{{#ask: [[-Has subobject::Utilisateur:SMW user/Sandbox2]]|?Has page|?Has page.Has area|?Has page.Has population|sort=Has page.Located in}}

Offtopic, here trying to use sort=Has page.Located in. While the property chain values are displayed correctly, the sorting doesn't work at all. Something else takes precedence, ruining the intended sort, turning it internally into sort=,Has page.Located in, sort=Has page,Has page.Located in or sort=Has page. Not sure about this, but something is fishy here. I know that up to SMW 3.1.6 the sort sort = <property1>.<property2>,<property> is turned internally into sort = <property>,<property1>.<property2>, ordering the property chains by length first; but here that it somehow ignores the second property chain part is very wierd.

Debug

Debug outputElasticStore
{ "smw": { "query": "[[-Has subobject::Utilisateur:SMW user/Sandbox2]]", "sort": { "Has_page.Located_in": "ASC" }, "metrics": { "query size": 2, "query depth": 1 }, "description_log": [ { "SomeProperty": "[[-Has subobject::Utilisateur:SMW user/Sandbox2]]" } ] }, "elastic": [ { "inverse_lookup_query": [ "_SOBJ", "[[:Utilisateur:SMW user/Sandbox2]]" ], "query": { "index": "smw-data-db9910120150926-02100_", "type": "data", "body": { "_source": [ "P:33234.wpgID" ], "query": { "constant_score": { "filter": { "bool": { "must": { "terms": { "_id": [ 256819 ] } } } } } } }, "size": 10000 }, "search_info": { "took": 1, "timed_out": false, "max_score": 1, "total": 0 }, "isFromCache": false }, { "index": "smw-data-db9910120150926-02100_", "type": "data", "body": { "_source": false, "from": 0, "size": 251, "query": { "constant_score": { "filter": { "bool": { "filter": { "exists": { "field": "empty.lookup_query" } } } } } }, "sort": [ { "P:32975.wpgField.sort": { "order": "asc" }, "P:33211.wpgField.sort": { "order": "asc" } } ] } }, { "_shards": { "total": 1, "successful": 1, "failed": 0 }, "valid": true, "explanations": [ { "index": "smw-data-db9910120150926-02100_-v2", "valid": true, "explanation": "+ConstantScore(#MatchNoDocsQuery("No field "empty.lookup_query" exists in mappings.")) #*:*" } ] } ] }
Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de cookies.