Metaformat

+2  

Create a polycontext metasymbol, and overcome the fact that standardization does not generalize.

YAML 想法

The basic idea is that we can create a header ("metaheader") to bind format and schema specifications to data, and a single polycontext metasymbol (a map that specifies in which context what metasymbol is to be used) to bind it to data, and link them with global namespaces of ontologies, schemas, and user identities. For example, the polycontext metasymbol may be defined by providing a map:

Where, C1...CN are format or language contexts, and S1...SN are metasymbols, and N ∈ ℕ.

For example if we want to introduce a metasymbol in multiple languages and formats, which may be in conflict with the already-defined symbols and reserved words within the languages and formats, we can introduce a polycontext metasymbol with domain in those languages and formats, for example, XML, RDF, JSON, YAML, Python, JavaScript, Scheme , and codomain with our chosen values for S, for example __, _, *, *, #*, {/*S*/}, #|*|#, etc., and then use it for arbitrary semantic or syntactic purposes.

Universal Finger ☝️

Think of polycontext metasymbol as a universal pointer, that can point to anything, and acquires context-neutral form to go to point and ask questions about the things that monocontext metasymbols cannot. You may also think of polycontext metasymbol as an operator with domain spanning across the data specified in different languages, and thus enables us to talk about or operate on them all at once.

Metaformat

A metaformat, is a set of rules that specify, how the parsing (interpretation) rules are to be embedded within different contexts (data chunks). This is done via the polycontext metasymbol and a few standards, like URLs for referencing, and the serialization languages for schema specification within that URL. Many specific metaformats can be defined, by choosing different polycontext metasymbols, URL formats, and schema specification styles. The below example relies on what I call MFT-1 specification.

Usage Example

Suppose that we use polycontext metasymbol * in all contexts, except those where it is a reserved word, and use key-value pairs to provide formats via URLs as their values, with the format (schema) data in machine-human readable key-value specifications. Then here is how it may look as follows.

In JSON As * key, with value pointing to URL of specifications.

{"*": "https://github.com/infamily/_/wiki/example#test1", "field1": "Haiz", "field2": { "properties": { "field3": 12}}}

In XML As <?_ *=""> attribute at any level, with value pointing to URL of specification.

```

Haiz 12 ```

Specifying the value for the symbol, allows to link schema and data formats directly to the data instances, and have data self-normalizable, and ontologically automatically combine-able, and understand the above record as:

Simpler than JSON-LD

The LinkedData format, such as JSON-LD, we may have:

{ "@context": "https://json-ld.org/contexts/person.jsonld", "@id": "http://dbpedia.org/resource/John_Lennon", "name": "John Lennon", "born": "1940-10-09", "spouse": "http://dbpedia.org/resource/Cynthia_Lennon" }

We can write the same thing using the above metaformat, as:

{ '*': 'https://github.com/mindey/terms/wiki/person#foaf', 'url': 'http://dbpedia.org/resource/John_Lennon', 'fullname': 'John Lennon', 'birthdate': '1940-10-09', 'spouse': 'http://dbpedia.org/resource/Cynthia_Lennon' }

This way, we do not require the standardization of @id field, because the mapping of the field specifying it can be described in the format specification itself, provided via the polycontext metasymbol. This adds additional degree of freedom for data authors, and less burden for data analysts.

Hypothesis -- the reason of small adoption of semantic web technologies is because of the overcomplexification of metastandards. This simplifies it, deconstrains, and reduces burden to stick with any particular vocabulary.

Mindey,


(别通知) (可选) 请,登录

那么,语义​​Web技术-过度约束的系统?

So, semantic web technologies -- overconstrained system?


相关协议: -[DID](https://w3c-ccg.github.io/did-spec/)s -[DCAT](https://www.w3.org/TR/vocab-dcat/)s

Related protocols: - DIDs - DCATs


嗯,现在有一个软件包,可以使用以下工具进行测试:

尝试pip install metaform,然后

导入变形

metaform.load({
'*':'https://github.com/mindey/terms/wiki/person#foaf',
 'url':'http://dbpedia.org/resource/John_Lennon',
 '全名':'约翰·列侬',
 '生日':'1940-10-09',
 '配偶':'http://dbpedia.org/resource/Cynthia_Lennon'
})。格式()

Umm, there is a package now, that can be tested with:

Try pip install metaform, and then

import metaform

metaform.load({
'*': 'https://github.com/mindey/terms/wiki/person#foaf',
 'url': 'http://dbpedia.org/resource/John_Lennon',
 'fullname': 'John Lennon',
 'birthdate': '1940-10-09',
 'spouse': 'http://dbpedia.org/resource/Cynthia_Lennon'
}).format()

我正在开发一个称为实时文档的系统。这里有一个截屏的链接:

https://github.com/samsquire/ideas

I am working on a system I call living documents. There's a link to a screencast here: https://github.com/samsquire/ideas#4-living-documents


[按时间顺序],首先,欢迎您来到Homebase!希望您发现这个地方有趣而有趣。真高兴能有您在这里!让我看看这个。

[chronological], first of all, big welcome to Homebase! Hope you find the place fun and entertaining. It's amazing to have you here! Let me check this out.


//活动文档是内部文档CMS的概念,它具有任意数据格式的可插入性并在插入的内容块之间提供集成。这是一个通用的数据结构编辑器。 //

很好的概念。但是,现在想象一下,在内部系统之外确实存在其他系统,并且您希望通过内部系统进行控制。怎么办metaform方法导致创建了我称为metadrive的东西(它是在这种想法下的项目之中,尽管不是处于“已发布”状态)。其概念是,如果我们有用于其他系统的驱动程序,则可以简单地将它们安装到我们的系统中。挂载任何内容,例如linkedin,youtube或其他更高级的内容,并使其成为您的内部数据结构。

实际上,我认为实现此目标所需的是Darklang之类的东西,但最好是开源的。选中[Darklang](https://www.youtube.com/watch?v=NDg6Ko9gbGk)。附言我将尽快解决降价问题。 :)

// Living documents are the idea of intra document CMS that features the insertability of arbitrary data formats and provides integrations between inserted content blocks. It's a general purpose data structure editor. //

Very good concept. However, imagine now that there do exist other systems, outside your internal system, and you want to control them via your internal system. How can you do? The metaform approach results in creating something I call a metadrive (it's among projects under this idea, not in "published" state though). The concept is that if we have drivers for other systems, we could simply mount them to our system. Mount anything, -- e.g., linkedin, or youtube, or something more advanced, and let it become your internal data structure.

In practise, I think what's needed for this to happen, is something like Darklang, but better be open source. Check Darklang. P.S. I'll fix the markdown, very soon. :)


最后,减价是固定的,您可以更好地看待它,希望它更容易理解。元格式的概念实际上很深。我在[这里](https://book.mindey.com/metaformat/0001-metaform-philosophy/0001-metaform-philosophy.html)上写了一本gitbook。从理论上讲,需要做的是概括性地提取多上下文元符号的等价类。实际上,需要编写许多驱动程序并为我们要使其互操作的系统提供支持。

短期而言,需要完成的工作包括:从使用元格式为数据集创建的较大数据注释集中识别字段名称以及数据类型和度量单位的格式。称其为“'自动格式'**”:-查看数据集->自动生成元格式描述-:)

Finally, the markdown is fixed, and you can take a look better, hopefully, more understandable. The concept of metaformat is actually very deep. I had written a gitbook on it here. More generall, what needs to be done, is theoretically extract the equivalence classes for polycontext metasymbols. Practically, many drivers need to be written and supported for the systems that we want to make interoperative.

In short term, work that needs to be done includes: recognition of field names and the formats of data types and measure units, from larger set of data annotations created for datasets using metaformat. Call it 'autoformat': -see a dataset -> automatically generate metaformat description- :)