Hi,

the issue that there is no meaningful error message is tracked in https://phabricator.wikimedia.org/T93668

Best regards
Bene

Am 12.08.2015 um 11:26 schrieb Addshore:
Hi all.

So I was sent a link to the instance and had a quick look and it was as I suspected.
(here is my response with links removed..)

The JSON includes the following:

      "P251": [
          {
            "rank": "normal",
            "mainsnak": {
              "snaktype": "value",
              "property": "P251",
              "datavalue": {
                "type": "wikibase-entityid",
                "value": {
                  "entity-type": "item",
                  "numeric-id": 85
                }
              },
              "datatype": "wikibase-item"
            },
            "type": "statement"
          }
        ],


Note that this is trying to use P251 as a 'wikibase-entityid'.
When looking at the property page http://SOMEHOST/index.php/Property:P251 you can see that the datatype is listed as 'String'.

It was said in a previous email that P251 should refer to another item, in which case this property has been created incorrectly!

When creating a property, for example on http://SOMEHOST/index.php/Special:NewProperty you can see that there is a 'data type' field. This allows you to select the type of data to be stored!
This is also available through the API
You'll have to create a new property to replace P251 that uses and 'Item' instead of 'String'

Addshore

On 11 August 2015 at 10:22, Addshore <[email protected] <mailto:[email protected]>> wrote:

    Hi Bo!

    Would it be possible to get access / a URL to this test instance?
    Feel free to send it to me outside of this list (if possible)

    Addshore

    On 11 August 2015 at 08:05, Bo Ferri <[email protected]
    <mailto:[email protected]>> wrote:

        Hi Addshore,

        currently, I can't see what's wrong with the Statement with
        the property P251. It should refer to another Item (which
        should be possible within the Wikidata data model). This is
        the difference between all other Statements - they simply
        refer to literal Values. I also had a look at the JSON
        serialisation documentation. In the Snak section [1] I can
        find an example that looks similar to mine (or maybe I'm blind
        and oversee something). Furthermore, I'm serialising POJO
        objects from the Wikidata Toolkit (i.e. I do not construct the
        JSON at my own). The Item that is the Value of this Statement
        exists already in my Wikibase instance (all properties exists
        as well).
        We are running a nightly snapshot of MediaWiki (incl. Wikibase
        extension).

        Thanks a lot in advance for all your help.

        Cheers,


        Bo/T


        [1] https://www.mediawiki.org/wiki/Wikibase/DataModel/JSON#Snaks



        Quoting Addshore <[email protected]
        <mailto:[email protected]>>:

            At a guess this is due to a miss match between the
            datavalue of a property
            and the datavalue that you are trying to set in a
            statement for that
            property.

            The error also says that it gets an array where it expects
            a string so I
            guess the issue is with P251 where the value is an array
            instead of a
            string!

            Could P251 possibly be a string?

            On 10 August 2015 at 14:25, Bo Ferri <[email protected]
            <mailto:[email protected]>> wrote:

                Hi all,

                (apologies, if this is not the right place for raising
                the following issue
                (if this is the case, then please delegate me to a
                more appropriated place
                ;) ))

                we are currently evaluating Wikibase as storage for
                D:SWARM GDM data (see
                [1,2]). Right now, we have a prototype client [3] that
                makes use of a
                Wikidata Toolkit fork [4]. So far, we were able to
                write/create simple
                items and properties. However, we also would like to
                create new items with
                a given set of statements. Therefore, we intended to
                utilise the
                'wbeditentity' HTTP API (and I had (and still have) a
                lively conversation
                with Markus Krötzsch about this topic, see [5]). We
                get (a kind of) item
                JSON serialisation (e.g. with help of
                JacksonObjectFactory-based
                DatamodelConverter (Wikidata Toolkit code)). However,
                when sending this to
                the 'webeditentity' API we always receive an error
                response like this:

                "
                {
                  "error": {
                    "code": "modification-failed",
                    "info": "array instead of string",
                    "messages": [
                      {
                        "name": "wikibase-validator-bad-type",
                        "parameters": [
                          "string",
                          "array"
                        ],
                        "html": {
                          "*": "array instead of string"
                        }
                      }
                    ],
                    "*": "See http://[OUR WIKIBASE SERVICE IP]/api.php
                for API usage"
                  }
                }
                "

                We cannot really interpret what's wrong with the data
                model that we send
                to this API (note: we make use of the POJOs below
                'org.wikidata.wdtk.datamodel.json.jackson' package of
                Wikidata Toolkit, see
                [6]). An example of a data JSON is attached to this
                e-mail.

                Thanks a lot in advance for all your help.

                Cheers,


                Bo/T


                [1] http://dswarm.org
                [2]
                
https://github.com/dswarm/dswarm-documentation/wiki/Graph-Data-Model
                [3]
                
https://github.com/zazi/wikidata-d-swarm-importer/tree/own_mediawiki_api_client
                [4]
                
https://github.com/zazi/Wikidata-Toolkit/tree/wikibase_api_write_modifications
                [5]
                https://github.com/Wikidata/Wikidata-Toolkit/issues/162
                [6]
                
https://github.com/zazi/wikidata-d-swarm-importer/blob/own_mediawiki_api_client/src/main/java/org/dswarm/wikidataimporter/WikibaseAPIClient.java#L368

                _______________________________________________
                Wikidata-tech mailing list
                [email protected]
                <mailto:[email protected]>
                https://lists.wikimedia.org/mailman/listinfo/wikidata-tech




            --
            Addshore





        _______________________________________________
        Wikidata-tech mailing list
        [email protected]
        <mailto:[email protected]>
        https://lists.wikimedia.org/mailman/listinfo/wikidata-tech




-- Addshore




--
Addshore


_______________________________________________
Wikidata-tech mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-tech

_______________________________________________
Wikidata-tech mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-tech

Reply via email to