Skip to content

MessageThread structure has changed #5

Closed
@fabrizio-turchi

Description

@fabrizio-turchi

The class uses the co:element instead of uco-observable:message + "olo:slot".
Example:

{
            "@id": "kb:4237ff8b-e049-4a56-bcf7-e89ed2797d83",
            "@type": "uco-observable:MessageThread",
            "uco-core:hasFacet": [
                {
                    "@id": "kb:0cd2f9f8-9040-4af7-82f8-8287fb3f861d",
                    "@type": "uco-observable:MessageThreadFacet",
                    "identifier": "jane~vivienne@whatsapp.gs.net",
                    "uco-observable:displayName": "Best Friend Chat!!",
                    
                    "uco-observable:messageThread": {
                        "@id": "kb:1a921f84-eadd-4591-be0d-57b936933622",
                        "@type": "uco-types:Thread",
                        "co:size": {
                            "@type": "xsd:nonNegativeInteger",
                            "@value": 2
                        },
                        "co:element": [
                            {
                                "@id": "kb:d8330d5a-b8de-4425-9cd8-a37b038afe81"
                            },
                            {
                                "@id": "kb:3328fbc7-1f63-4e66-b8fc-e27143a64331"
                            }
                        ]                        
                    },
                    
                    "uco-observable:participant": [
                        {
                            "@id": "kb:a5931c7e-fc1e-4def-a618-fc31d9ae4cc7"
                        },
                        {
                            "@id": "kb:f135dee3-ba06-4ded-ad63-5484ce240ec8"
                        }
                    ]
                }
            ]
        }
  • co:element refers to a list of Message objects (not ObservableObject!)
  • the example uses the class "@type": "uco-observable:MessageThreadFacet", instead of "@type": "uco-observable:ObjectObservable", because it’s a subclass of the latter. Both classes can be used.
  • the "co:element" array property is equal to the old uco-observable:message + "olo:slot"
  • the "co:item" array property is not compulsory and it serves to indicate the sequential order of the messages (aim not completely clear), the parsers do not use that property
  • the "uco-observable:participant" property remains the same
  • the items of the co:item link to a message observable but it’s not a uco-observable:ObservableObject but it’s a uco-observable:Message
  • the use of "@type": "uco-observable:MessageThread" is because it is a subclass of ObservableObject, so it is also possible uso the super class.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions