OK, got it. The URI's are:
ref_uri:dm4.contacts.mobile
ref_uri:dm4.contacts.home_phone
ref_uri:dm4.contacts.home_fax
ref_uri:dm4.contacts.work_phone
ref_uri:dm4.contacts.work_fax
Cheers,
JuergeN
Am Mittwoch, den 18.02.2015, 23:20 +0100 schrieb Juergen Neumann:
> Hi Jörg,
>
> so far everything works fine. Only that I cannot add any another phone
> label than ref_uri:dm4.contacts.mobile. When I try e.g.
> ref_uri:dm4.contacts.home or ref_uri:dm4.contacts.work, then it does not
> work. Any ideas?
>
> Thx
>
> Juergen
>
> Am Mittwoch, den 18.02.2015, 19:35 +0100 schrieb Jörg Richter:
> > Hi Juergen,
> >
> > to create a Person topic via REST:
> >
> > curl -X POST -H 'Authorization: Basic YWRtaW46' -H 'Cookie:
> > dm4_workspace_id=2301' -H 'Content-Type: application/json' -d '{
> > type_uri: "dm4.contacts.person",
> > childs: {
> > dm4.contacts.person_name: {
> > dm4.contacts.first_name: "Lucy",
> > dm4.contacts.last_name: "Suchman"
> > },
> > dm4.contacts.email_address: [
> > "[email protected]",
> > "[email protected]"
> > ],
> > dm4.contacts.phone_entry: [
> > {
> > type_uri: "dm4.contacts.phone_entry",
> > childs: {
> > dm4.contacts.phone_label:
> > "ref_uri:dm4.contacts.mobile",
> > dm4.contacts.phone_number: "0177 123456789"
> > }
> > }
> > ]
> > }
> > }' http://localhost:8080/core/topic
> >
> > While not all the Person's child topics are set in this example (no Address
> > for example) this demonstrates some crucial aspects. You should be able to
> > transfer these to the other Person parts.
> >
> > You create a Person by POSTing a topic JSON representation to /core/topic.
> >
> > Note that the JSON is less verbose than the JSON you're GETing, e.g. you
> > must specify no "id", "uri", "assoc" properties, and no "value" property
> > for composite topics (as this is computed).
> >
> > You see, when the child is modeled as cardinality "many" you have to
> > specify an JSON array, that is [ ... ]
> >
> > Another important thing is when the child is modeled via Aggregation
> > Definition. In this case you have 2 options: a) create a NEW child, or b)
> > refer to an EXISTING child. This is relevant e.g. with the Phone Label.
> > Here you want refer to the existing phone label "mobile". You can do the
> > referral by-ID or by-URI. That is you must know the ID or the URI of the
> > topic you want refer to. You must prefix the value with "ref_id:" or
> > "ref_uri:" respectively. For the Phone Label you use by-URI because its
> > easier (the Phone Label URIs are fixed whereas the ID differ on each
> > installation).
> > IMPORTANT: if you don't use one of these prefixes the other case applies:
> > you'll create a NEW child, that is you would CREATE another Phone Label
> > (additionally to the 5 existing ones).
> >
> > So, potentially you have to deal with referral and these prefixes always
> > when Aggregation Definitions are involved in the underlying model. That
> > applies e.g. also to all the Address childs (Street, Postal Code, City,
> > Country). All these are defined via aggregation. So, when you actually want
> > REUSE e.g. the City topic "Berlin" for all the Berlin addresses, you must
> > refer to that very Berlin topic (as said, either by ID or by URI).
> >
> > One more thing: when you specify the child topics in a JSON topic, you can
> > choose between 2 formats: 1) the "simplified" format, or 2) the "canonic"
> > format.
> >
> > Simplified format:
> >
> > childs: {
> > type.uri1: "my value",
> > type.uri2: "my value"
> > }
> >
> > Canonic format:
> >
> > childs: {
> > type.uri1: {
> > id: 1234.
> > uri: "my.uri",
> > type_uri: "type.uri"
> > value: "my value"
> > childs: {
> > ...
> > }
> > },
> > type.uri2: {
> > ...
> > }
> > }
> >
> > That is with the simplified format you specify just the child topic's
> > values. That is sufficient e.g. when you want create a bunch of simple
> > child topics with just the (payload) values set.
> > In contrast when you want give the new childs topics not only the (payload)
> > values but dedicated URIs as well (or when when the childs are not simple
> > but composite) you have to choose the canonic format. Here you can specify
> > complete topic representations possibly with all of the 5 canonic topic
> > properties (id, uri, type_uri, value, childs).
> >
> > In a topic JSON representation you are free to mix both formats, just like
> > in the Person example above.
> >
> > Tell me if you need any more help.
> >
> > Cheers,
> > Jörg
> >
> >
> > On Feb 18, 2015, at 17:31, Juergen Neumann wrote:
> >
> > > Hi Jörg et al.,
> > >
> > > how do I get|write all data from or to an dm4.contacts.person instance,
> > > including multiple adresses and phone numbers. I did not yet manage to
> > > get the complete composite through the REST call.
> > >
> > > Can you help me please.
> > >
> > > Thx
> > >
> > > Juergen
> > >
> > > --
> > > devel mailing list
> > > [email protected]
> > > http://lists.deepamehta.de/mailman/listinfo/devel-lists.deepamehta.de
> >
>
>
--
devel mailing list
[email protected]
http://lists.deepamehta.de/mailman/listinfo/devel-lists.deepamehta.de