- From: Filip Kolarik <filip26@gmail.com>
- Date: Thu, 31 Oct 2024 11:29:00 +0100
- To: Thad Guidry <thadguidry@gmail.com>
- Cc: JSON for Linking Data Community Group <public-linked-json@w3.org>
- Message-ID: <CADRK2_PjGLEbuESuasahhx3DGx=0qp+JvscZ58F2jt1cyJsRJA@mail.gmail.com>
correct example for "published" property "published": { "@def": "https://www.w3.org/ns/activitystreams#published", "@definedBy": "https://www.w3.org/ns/activitystreams", "@container": [ { "@value": "2015-01-25T12:34:56Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ] } On Thu, Oct 31, 2024 at 11:19 AM Filip Kolarik <filip26@gmail.com> wrote: > Hi Thad, > the form could be seen as something like a type/class reflection API > populated with values/objects. > > Here is a variation on the "Activity" example that I've picked instead > because it does not use inline contexts. > > { > > "@context": "https://www.w3.org/ns/activitystreams", > > "@type": { > > "Created": { > > "@def": "https://www.w3.org/ns/activitystreams#Create", // a source of > the definition, could be JSON pointer for inline context > > "@definedBy": "https://www.w3.org/ns/activitystreams" > > } > > }, > > "actor": { > > "@def": "https://www.w3.org/ns/activitystreams#actor", > > "@definedBy": "https://www.w3.org/ns/activitystreams", > > "@container": [ > > { > > "@type": { > > // there could be type property definition in case of non-generic prop name > > "Person": { > > "@def": "https://www.w3.org/ns/activitystreams#Person", > > "@definedBy": "https://www.w3.org/ns/activitystreams" > > } > > }, > > "@id": "acct:sally@example.org", > > "name": { > > "@def": "https://www.w3.org/ns/activitystreams#name", > > "@definedBy": "https://www.w3.org/ns/activitystreams", > > "@container": [ > > { > > "@value": "Sally" > > } > > ] > > } > > } > > ] > > }, > > "published": { > > "@def": "https://www.w3.org/ns/activitystreams#published", > > "@definedBy": "https://www.w3.org/ns/activitystreams", > > "@container": { > > "@def": "https://www.w3.org/ns/activitystreams#published", > > "@definedBy": "https://www.w3.org/ns/activitystreams", > > "@container": [ > > { > > "@value": "2015-01-25T12:34:56Z", > > "@type": "http://www.w3.org/2001/XMLSchema#dateTime" > > } > > ] > > } > > } > > } > > > It's only an example of what it could be like when serialized to JSON, to > demonstrate what is needed to get - you would be rather processing a > programmatic structure using pointers/references to definitions, etc. than > plain JSON serialization. > > The main difference is that now you can start processing an input JSON-LD > using compacted form and still have a quite fine granular and complete > picture of what you are dealing with. > > One could say: Why don't you just expand and then re-compact it to a form > you want to work with? > * the def mapping is still lost, it's only a programmers knowledge to > what re-compact to what and what a context defines > * it does not scale - see above > * current JSON-LD expansion drops/or rejects to deal with/ undefined terms > * it's overhead, you run two transformation instead of one > > I hope this helps, I don't have a complete solution, nor answers to all > questions (@reverse, etc.), but a need to improve the processing > performance with keeping full extensibility and adaptability. > > Best, > Filip > > > On Thu, Oct 31, 2024 at 4:49 AM Thad Guidry <thadguidry@gmail.com> wrote: > >> Hi Filip! >> >> Can you provide 1 simple example, in expanded form, contrasted with >> compact form, and then explain your problem space with your use cases? >> >> Let's start with the the JSON-LD Playground's >> <https://json-ld.org/playground/> "Place" example, which expanded form >> looks like this: >> >> [ >> { >> "http://schema.org/description": [ >> { >> "@value": "The Empire State Building is a 102-story landmark in >> New York City." >> } >> ], >> "http://schema.org/geo": [ >> { >> "http://schema.org/latitude": [ >> { >> "@type": "http://www.w3.org/2001/XMLSchema#float", >> "@value": "40.75" >> } >> ], >> "http://schema.org/longitude": [ >> { >> "@type": "http://www.w3.org/2001/XMLSchema#float", >> "@value": "73.98" >> } >> ] >> } >> ], >> "http://schema.org/image": [ >> { >> "@id": " >> http://www.civil.usherbrooke.ca/cours/gci215a/empire-state-building.jpg" >> } >> ], >> "http://schema.org/name": [ >> { >> "@value": "The Empire State Building" >> } >> ] >> } >> ] >> >> >> Thad >> https://www.linkedin.com/in/thadguidry/ >> https://calendly.com/thadguidry/ >> >
Received on Thursday, 31 October 2024 10:29:17 UTC