[x3d-public] Proposal for MetadataVersion (like MetadataSet), any number of dimensions
John Carlson
yottzumm at gmail.com
Thu Apr 3 06:51:19 PDT 2025
Understood, I just have a need to separate out normal MetadataSets from
versioned MetadataSets. See proposal for adding optional versions
alongside DEF/USE/id/ROUTE.
Of course, adding a hierarchical bill of materials (BOM) becomes relevant
once one has versions.
Perhaps a MetadataSet can do a BOM.
John
On Thu, Apr 3, 2025 at 8:38 AM Holger Seelig <holger.seelig at yahoo.de> wrote:
> The metadata system is actually already so universal that all data
> structures can be represented with it.
>
> Several versions of data can be displayed with MetadataSet, for example:
>
> MetadataSet {
> name "versions"
> value [
> MetadataSet {
> name "version A"
> value MetadataInteger {
> name "count"
> value 3
> }
> }
> MetadataSet {
> name "version B"
> value MetadataInteger {
> name "count"
> value 4
> }
> }
> ]
> }
>
> Best regards,
> Holger
>
> --
> Holger Seelig
> Leipzig, Germany
>
> holger.seelig at yahoo.de
> https://create3000.github.io/x_ite/
>
> Am 03.04.2025 um 15:27 schrieb John Carlson via x3d-public <
> x3d-public at web3d.org>:
>
> One can also think about providing different versions to prototypes and
> protoinstances.
>
> Hmm!
>
> John
>
> On Thu, Apr 3, 2025 at 8:00 AM John Carlson <yottzumm at gmail.com> wrote:
>
>> This seems relevant:
>>
>> https://3drepo.com/wp-content/uploads/2022/02/xml3drepo.pdf
>>
>> I’m interested in versioning some objects, not necessarily a whole
>> document. The question is, how to define a versioned collection of
>> objects in an X3D encoding, particularly JSON.
>>
>> I’m also interested in temporal logic for a 3D graph (humanoid),
>> potentially for HIPAA data.
>>
>> John
>>
>> On Thu, Apr 3, 2025 at 7:33 AM John Carlson <yottzumm at gmail.com> wrote:
>>
>>> I’m thinking that adding a sequence or index field to MetadataVersion
>>> may be appropriate, if not MetadataInteger.. Also, add a MetadataTime
>>> node/statement as well, but a generic set of fields for metadata rears its
>>> head again, but I’m not doing it yet.
>>>
>>> Ideally, we could store events in a time series data store, potentially
>>> gathered from multiple sources. Scripts might do that, but a way to
>>> replay events might be needed/ helpful.
>>>
>>> Traditional source code repositories are line oriented. I’m aiming for
>>> a versioned object store, like recording animation. If a program is an
>>> AST, I’m working on saving changes to the AST.
>>>
>>> Think about it.
>>>
>>> John
>>>
>>> On Wed, Apr 2, 2025 at 11:49 PM John Carlson <yottzumm at gmail.com> wrote:
>>>
>>>> I want 2 more fields beyond MetadataSet, below.
>>>>
>>>> I want a MetadataVersion to call it out as different from MetadataSet.
>>>>
>>>> I realized that I can give the MetadataSet a "version" name.
>>>>
>>>> I also want to achieve a crontab-like or scheduling feature.
>>>>
>>>> Ideally, I could provide field-like nodes or statements for version information separate from axes.
>>>>
>>>> The idea is to create a vector-like object to maintain time series data
>>>>
>>>> and version data, and for building information, bill or materials, etc. There may already be something in X3D,
>>>>
>>>> but I've not spotted it yet...CAD?
>>>>
>>>> The goal is to put this into a SQL database, such that I can input and output different versions of the JSON or JSON objects and arrays, watch the JSON change through time, etc. The whole history of the document is stored.
>>>>
>>>>
>>>> If the axes field is unacceptable, can we have a version field in MetadataSet?
>>>>
>>>>
>>>> Basically, I need a way to separate version and dimensional data from ordinary MetadataSets.
>>>>
>>>> MetadataVersion: MetadataSet
>>>>
>>>> {
>>>>
>>>> MFNode axes NULL [X3DMetadataObject]
>>>>
>>>> MFString version '"0"'
>>>>
>>>> // Add everything from MetadataSet.
>>>>
>>>> // Default containerField is axes, not value or metadata.
>>>> }
>>>>
>>>> Possible axes are below:
>>>>
>>>> <MetadataVersion version='"A"'>
>>>>
>>>> <MetadataVersion version='"1" "b"'>
>>>>
>>>> <MetadataInteger name="count" value="3"/>
>>>>
>>>> <MetadataDouble name="quantity" value="3.5"/>
>>>>
>>>> <MetadataString name="unit" value='"mg"'/>
>>>>
>>>> <MetadataDouble name="mg" value="0.4"/>
>>>>
>>>> <MetadataDouble name="x" value="1.0"/>
>>>>
>>>> <MetadataDouble name="y" value="4.0"/>
>>>>
>>>> <MetadataDouble name="z" value="9.0"/>
>>>>
>>>> <MetadataInteger name="century" value="2000"/>
>>>>
>>>> <MetadataInteger name="score" value="20"/>
>>>>
>>>> <MetadataInteger name="decade" value="20"/>
>>>>
>>>> <MetadataInteger name="year" value="2025"/>
>>>>
>>>> <MetadataInteger name="decade" value="20"/>
>>>>
>>>> <MetadataInteger name="month" value="4"/>
>>>>
>>>> <MetadataInteger name="fortnight" value="3"/>
>>>>
>>>> <MetadataInteger name="week" value="6"/>
>>>>
>>>> <MetadataInteger name="day" value="2"/>
>>>>
>>>> <MetadataInteger name="pm" value="10"/>
>>>>
>>>> <MetadataInteger name="24" value="22"/>
>>>>
>>>> <MetadataInteger name="minute" value="51"/>
>>>>
>>>> <MetadataInteger name="second" value="0"/>
>>>>
>>>> <MetadataDouble name="subsecond" value="0.0025"/>
>>>>
>>>> </MetadataVersion>
>>>>
>>>> </MetadataVersion>
>>>>
>>>>
>>>>
>>>> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250403/046f12e3/attachment-0001.html>
More information about the x3d-public
mailing list