Parameter name should be consistent with wbgetclaims. It is "entity" there.



2014-02-26 21:22 GMT+01:00 Tobi Gritschacher <
tobias.gritschac...@wikimedia.de>:

> Ok, here is my suggestion for wbsetclaim:
>
> * we introduce a new optional parameter "id"
> * if a guid is set inside the claim serialization, change that claim if it
> exists and return an error if that claim is unknown.
> * if no guid is set in the claim serialization, create a new claim for the
> entity identified by the new parameter "id". if "id" is not set, return an
> error.
>
> This would be a breaking change for all users that are creating claims
> through wbsetclaim at the moment. This would not break for any other user.
>
> comments?
>
> cheers, tobi
>
>
> On Wed, Feb 26, 2014 at 8:19 PM, addshorewiki <addshorew...@gmail.com>wrote:
>
>> I realise I should probably have included the example that is in the API
>> doc so here it goes:
>>
>> Creates a new claim on the item for the property P56 and a value of 
>> "ExampleString":action=wbeditentity&id=Q42&data={"claims":[{"mainsnak":{"snaktype":"value","property":"P56","datavalue":{"value":"ExampleString","type":"string"}},"type":"statement","rank":"normal"}]}
>>  
>> <http://www.wikidata.org/w/api.php?action=wbeditentity&id=Q42&data=%7B%22claims%22:[%7B%22mainsnak%22:%7B%22snaktype%22:%22value%22,%22property%22:%22P56%22,%22datavalue%22:%7B%22value%22:%22ExampleString%22,%22type%22:%22string%22%7D%7D,%22type%22:%22statement%22,%22rank%22:%22normal%22%7D]%7D>
>>
>> Removes the claims from the item with the guids 
>> q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F and 
>> q42$GH678DSA-01PQ-28XC-HJ90-DDFD9990126X:action=wbeditentity&id=Q42&data={"claims":[{"id":"Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F","remove":""},{"id":"Q42$GH678DSA-01PQ-28XC-HJ90-DDFD9990126X","remove":""}]}
>>  
>> <http://www.wikidata.org/w/api.php?action=wbeditentity&id=Q42&data=%7B%22claims%22:[%7B%22id%22:%22Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F%22,%22remove%22:%22%22%7D,%7B%22id%22:%22Q42$GH678DSA-01PQ-28XC-HJ90-DDFD9990126X%22,%22remove%22:%22%22%7D]%7D>
>>
>> Sets the claim with the GUID to the value of the 
>> claim:action=wbeditentity&id=Q42&data={"claims":[{"id":"Q42$GH678DSA-01PQ-28XC-HJ90-DDFD9990126X","mainsnak":{"snaktype":"value","property":"P56","datavalue":{"value":"ChangedString","type":"string"}},"type":"statement","rank":"normal"}]}
>>  
>> <http://www.wikidata.org/w/api.php?action=wbeditentity&id=Q42&data=%7B%22claims%22:[%7B%22id%22:%22Q42$GH678DSA-01PQ-28XC-HJ90-DDFD9990126X%22,%22mainsnak%22:%7B%22snaktype%22:%22value%22,%22property%22:%22P56%22,%22datavalue%22:%7B%22value%22:%22ChangedString%22,%22type%22:%22string%22%7D%7D,%22type%22:%22statement%22,%22rank%22:%22normal%22%7D]%7D>
>>
>>
>> Addshore
>>
>>
>>
>> On 26 February 2014 19:01, Markus Krötzsch <mar...@semantic-mediawiki.org
>> > wrote:
>>
>>> On 26/02/14 18:41, Jeroen De Dauw wrote:
>>>
>>>> Hey,
>>>>
>>>>  >> you can create claims with wbsetclaim. But you would need to create
>>>> a valid
>>>>  >> GUID [1] yourself. The claim-GUID you send with your request needs
>>>> to be
>>>>  >> <entityId>$<GUID> (e.g. Q2$5627445f-43cb-ed6d-3adb-760e66bd17ee).
>>>>
>>>>  > Uh, didn't we fix this a long time ago? Client-Supplied GUIDs are
>>>> evil :(
>>>>
>>>> This has come up at some point, and as far as I recall, we dropped the
>>>> requirement to provide the GUID. So I suspect one can provide a claim
>>>> without a GUID, else something went wrong somewhere.
>>>>
>>>>  > Requests with GUIDs that are not associated with any Statement should
>>>> be rejected
>>>>
>>>> Not allowing specifying GUIDs is another topic altogether. Disallowing
>>>> them is not the intention of the current system, and needs discussion
>>>> before that is changed. This seems to be both out of scope of this
>>>> thread and be way to low on the priority list (after all, where is the
>>>> problem, its been working just fine) to spend time on.
>>>>
>>>
>>> As Daniel said: "Client-Supplied GUIDs are evil :(". My only point was
>>> that one should never use such GUIDs for new statements. Returning an error
>>> seems better than just creating a new GUID, but both would work. Mainly, we
>>> should not use externally provided GUIDs. For example, if somebody is
>>> mistaken to believe that any string of the proper format can be used, then
>>> we might get bot code where the "GUID" is based on a constant. Wikibase
>>> should better make sure that it uses quality GUIDs, which are as random as
>>> a GUID is supposed to be.
>>>
>>>
>>> Markus
>>>
>>>
>>> _______________________________________________
>>> Wikidata-tech mailing list
>>> Wikidata-tech@lists.wikimedia.org
>>> https://lists.wikimedia.org/mailman/listinfo/wikidata-tech
>>>
>>
>>
>> _______________________________________________
>> Wikidata-tech mailing list
>> Wikidata-tech@lists.wikimedia.org
>> https://lists.wikimedia.org/mailman/listinfo/wikidata-tech
>>
>>
>
>
> --
> Tobi Gritschacher
> Software Developer - Wikidata - http://www.wikidata.org
>
> Imagine a world, in which every single human being can freely
> share in the sum of all knowledge. That's our commitment.
>
> Wikimedia Deutschland e.V. | Tempelhofer Ufer 23-24 | 10963 Berlin
> Phone +49 (0)30 219 158 260
>
> http://wikimedia.de <http://www.wikimedia.de/>
>
> Wikimedia Deutschland - Gesellschaft zur Förderung Freien Wissens e.V.
> Eingetragen im Vereinsregister des Amtsgerichts Berlin-Charlottenburg unter
> der Nummer 23855 B. Als gemeinnützig anerkannt durch das Finanzamt für
> Körperschaften I Berlin, Steuernummer 27/681/51985.
>
> _______________________________________________
> Wikidata-tech mailing list
> Wikidata-tech@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikidata-tech
>
>
_______________________________________________
Wikidata-tech mailing list
Wikidata-tech@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-tech

Reply via email to