轻量级以数据为中心的框架,用于处理科学数据
项目描述
DLite
轻量级以数据为中心的框架,用于语义互操作性
DLite是SINTEF Open Framework and Tools (SOFT)的C实现,SOFT是一套用于使用数据模型(又称元数据)来高效描述和处理科学数据的理念和方法。
DLite的核心是一个用于正式表示由数据模型(在DLite中称为元数据或实体)描述的数据的框架。在此基础上,DLite提供了一个插件系统,用于处理不同格式和存储方式的数据表示,以及与Python等流行语言的绑定、本体概念的映射以及一系列工具。
文档
DLite的官方文档可以在https://sintef.github.io/dlite/找到。
安装
DLite可在PyPI上找到,并可以使用pip进行安装
pip install dlite-python[full]
方括号[full]
是可选的,但确保您安装所有可选依赖项以及DLite。没有[full]
,您将获得一个最小的DLite安装,它仅依赖于NumPy。这将禁用大多数存储插件,除了内置的“json”、“bson”和“rdf”(当与Redland librdf编译时)。有关其他安装方法,请参阅安装说明。
用法
DLite中的所有数据都由一个实例表示,该实例由一个简单的数据模型(即元数据)描述。实例由一个唯一的UUID标识,并有一组命名维度和属性。维度用于描述多维属性的形状。
DLite元数据由一个URI标识,并有一个(可选)可读的描述。每个维度都有一个名称和描述(可选),每个属性都有一个名称、类型、形状(可选)、单位(可选)和描述(可选)。属性的形状指的是命名维度。例如,一个序列化为YAML的元数据可能看起来像
uri: http://onto-ns.com/meta/0.1/Person
description: A person.
dimensions:
nskills: Number of skills.
properties:
name:
type: string
description: Full name.
age:
type: float32
unit: year
description: Age of person.
skills:
type: string
shape: [nskills]
description: List of skills.
假设您有一个包含以下内容的文件Person.yaml
。在Python中,您可以使用以下方式加载此元数据
import dlite
Person = dlite.Instance.from_location("yaml", "Person.yaml", options="mode=r")
其中第一个参数是“驱动程序”,即用于加载元数据的存储插件名称。options
参数是可选的。通过提供"mode=r"
,您指定以只读模式打开存储。
您可以通过以下方式验证Person是否是元数据
>>> isinstance(Person, dlite.Metadata)
True
我们可以使用以下方式创建一个Person
的实例
holmes = Person(
dimensions={"nskills": 4},
properties={
"name": "Sherlock Holmes",
"skills": ["observing", "chemistry", "violin", "boxing"],
}
)
当实例化元数据时,必须提供dimensions
参数。它确保所有属性的形状都初始化得一致。properties
参数是可选的。通过指定它,我们将属性初始化为提供的值(否则,它们将初始化为零)。
在这种情况下,我们没有初始化年龄
>>> holmes.age
0.0
>>> holmes.age = 34 # Assign the age
如果您已安装Pint,您还可以指定或访问具有单位的年龄
>>> holmes.q.age = "34year"
>>> holmes.q.age
<Quantity(34, 'year')>
>>> holmes.q.age.to("century").m
0.34
我们可以使用以下方式查看(实例的JSON表示形式)
>>> print(holmes)
{
"uuid": "314ac1ad-4a7e-477b-a56c-939121355112",
"meta": "http://onto-ns.com/meta/0.1/Person",
"dimensions": {
"nskills": 4
},
"properties": {
"Sherlock Holmes" {
"age": 34.0,
"skills": [
"observing",
"chemistry",
"violin",
"boxing"
]
}
}
}
实例也可以使用save()
方法存储
holmes.save("yaml", "holmes.yaml", "mode=w")
这将生成以下内容的YAML文件
8cbd4c09-734d-4532-b35a-1e0dd5c3e8b5:
meta: http://onto-ns.com/meta/0.1/Person
dimensions:
nskills: 4
properties:
Sherlock Holmes:
age: 34.0
skills:
- observing
- chemistry
- violin
- boxind
这只是个简短的例子。DLite还有很多内容,将在文档中揭晓。
许可
DLite采用MIT许可。然而,它包含一些其他许可的第三方源文件。所有这些都应该允许与开放和专有代码进行动态和静态链接。包含的许可证的完整列表可以在LICENSES.txt中找到。
致谢
除了来自SINTEF和NTNU的内部资金外,这项工作还得到了几个项目的支持,包括
- AMPERE(2015-2020)由Forskningsrådet和挪威工业伙伴资助。
- FICAL(2015-2020)由Forskningsrådet和挪威工业伙伴资助。
- 合理的合金设计(ALLDESIGN)(2018-2022)NTNU内部资助项目。
- SFI Manufacturing(2015-2023)由Forskningsrådet和挪威工业伙伴资助。
- SFI PhysMet(2020-2028)由挪威研究委员会和挪威工业合作伙伴资助。
- OntoTrans(2020-2024)获得欧盟“地平线2020”研究和创新计划的资金,项目编号为n. 862136。
- OpenModel(2021-2025)获得欧盟“地平线2020”研究和创新计划的资金,项目编号为n. 953167。
- DOME 4.0(2021-2025)获得欧盟“地平线2020”研究和创新计划的资金,项目编号为n. 953163。
- VIPCOAT(2021-2025)获得欧盟“地平线2020”研究和创新计划的资金,项目编号为n. 952903。
- MEDIATE(2022-2025)获得挪威RCN、卢森堡FNR和德国SMWK的资金,通过M-era.net项目,项目编号9557。
- MatCHMaker(2022-2026)获得欧盟“地平线2020”研究和创新计划的资金,项目编号为n. 101091687。
DLite的开发旨在使其使用愉快。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建的分发
dlite_python-0.5.22.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 58a0a17cbeadb793169bb5a115cc9df760d66990ad916febd22457a3a1ff0b0d |
|
MD5 | ff6586c7fc960b4c014191051e098bb1 |
|
BLAKE2b-256 | 04641c1155287d67732adb6752401afc3d5cb542d593150249d14c11364074fc |
DLite_Python-0.5.22-cp312-cp312-win_amd64.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7aba3d121c89688e3d69432c65eec87dbc5bdb8b9926ae8990a98cde26a0b7ef |
|
MD5 | effaec728b3be8eb4288e9e3c0419545 |
|
BLAKE2b-256 | 616d3dbc8307e94d5f52170ca1ffa2e5e371f5b88dd695abb3b1f032d9cc44bc |
哈希值 用于 DLite_Python-0.5.22-cp312-cp312-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c3fcfb839379b05176061f0532f2c358c6717e52d024d0f6624372d002ef3ad3 |
|
MD5 | ac5e03068a2e7cd0ec3eca7cc9a52892 |
|
BLAKE2b-256 | e7045d062601ecb1f17b488516a0760614c0461305b4dadd143d318c3179f26c |
哈希值 用于 DLite_Python-0.5.22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3ab6c862cba32121fd0b3f629f70dee0506050cda531bf61d8570dbfa4f84ce5 |
|
MD5 | 7f2862ca4a949e6688c5832766e201d8 |
|
BLAKE2b-256 | 42cdb42d57d4d03e07b15487afb461a17c6ae4179f4cfac6dffbfa16389cc06c |
哈希值 用于 DLite_Python-0.5.22-cp311-cp311-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 46b8ea2733c1fa6522da4cc0912e3ddd9b10d9482c6a7aaace3930ca27f48291 |
|
MD5 | 345aefb08e1e32f0c32ac1c6550fc11b |
|
BLAKE2b-256 | abc5027dd70eb2dd4414f4ce858c199300c8a7df8e0e2eae0c0bdd10b388a17b |
哈希值 用于 DLite_Python-0.5.22-cp311-cp311-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f7b7010343f0875911cefdaf4681b62936af3a48012202944c3b6409a667c72 |
|
MD5 | 8b4f231aa9373ef18a0f9b1918476c45 |
|
BLAKE2b-256 | 61e8ee84b5f45140d2a430b83f8e2f274328bfd79362f948de15a00d2acdd1f4 |
哈希值 用于 DLite_Python-0.5.22-cp311-cp311-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3e5514afe2064096497e2eccc89bf22d7ed63ce23c11be851c72ae57c1484071 |
|
MD5 | 6da621f3ef69d93adc7ac5c416afd2da |
|
BLAKE2b-256 | f6be22754cf800b720ba149196081518c0eee3b55dc515d5e54eb9f5369bb9d7 |
哈希值 用于 DLite_Python-0.5.22-cp311-cp311-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | da49bed56c41e712d44a9cca66bdf39f38c68ab741a8033986d9c4357cebcd8f |
|
MD5 | bf261d0da9766f280d824fb51d4f965c |
|
BLAKE2b-256 | c501a6d351ffe767e9ab8f356767654cd9cdfb719b6dd4c2a61d94b4512360dc |
哈希值 用于 DLite_Python-0.5.22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f1e73a3885308dad2d6d863aa3fdeeed36554d25f445a76d34c18d4ae61fbf66 |
|
MD5 | 0abcdc6a31054f59ee5f5cb972b1ad9d |
|
BLAKE2b-256 | e2a6d154339381497a84246d6b2fb4b6ef324b55f242b3ae5ce7edd66cce65a7 |
哈希值 用于 DLite_Python-0.5.22-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cb2e42753f51cf8f107582930040f6e3c3337b7fb89b91a164ab0ff525893140 |
|
MD5 | 91b7cca3b94261e3d0c5e7e30b98ab42 |
|
BLAKE2b-256 | 2f7c344dacf1ba6aaefe7274e8b8a6743496d026d3d5cb2b3977d9edd27708db |
哈希值 用于 DLite_Python-0.5.22-cp310-cp310-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d19a127c1c118e33a76879d210af1039f0a707e01ff83bb8ecadd817e3570fb4 |
|
MD5 | f55b2c927cf36fbdf265195a3d4ba865 |
|
BLAKE2b-256 | 5b7731a5e898987c80bda6c0b158758b9397fc018f5738077133ed1d97d5cdcf |
哈希值 用于 DLite_Python-0.5.22-cp310-cp310-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b3b36262a7f8cb45788ee08e0cb0e6df9c8599ebcf469f4c4f9fbdbb37f0f11a |
|
MD5 | 9c577a11859419db44848429a514a32e |
|
BLAKE2b-256 | 1b02b394f65b1787bf85790783293803a0325312ec571c5a1e4727cd71bf7724 |
哈希值 用于 DLite_Python-0.5.22-cp310-cp310-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e4ef9a480f301db5c5f35f99aec4bb1cd326880ff36fe777849ca7a61b2ac1c7 |
|
MD5 | afd8a3465e5db89ef0dcf7385ef6c04a |
|
BLAKE2b-256 | ad69e22b0867933529f25586f08744149cafa999468d2cd3491cafc76c1a3f1b |
哈希值 用于 DLite_Python-0.5.22-cp310-cp310-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6f510e28996569028cd582b5b59a2a638a417d682d4c07f2d4b6862b4e91c324 |
|
MD5 | 75806e71003e3f1ab6cd6bd10887e3fb |
|
BLAKE2b-256 | c3a5d88fc4d2eb73b5a94971ee4c83e7be6c78061341423edfa392a06cc7e1d5 |
哈希值 用于 DLite_Python-0.5.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 00d6f9d53ca362d6f656a8da33e4dd73fc9268196bfd8f176a4278332270784c |
|
MD5 | 3f8af47a4e2142247699d2001f5e62b9 |
|
BLAKE2b-256 | 8d6b6c22d34223da480b4c1374f3ff606c5f1ecad2dec0d08ec954f0d9c21d46 |
哈希值 用于 DLite_Python-0.5.22-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5f1b3d0ba4daeeb0453d2f1c26f9bb3cd07df032c7c8f0f1925be01024e28c91 |
|
MD5 | 807e33efd26e3edbaf924aef3fdcb67c |
|
BLAKE2b-256 | e4114a346b0e0ec19580ff7b63c0fea9caba71d121d9b6080daf3b83b38de438 |
哈希值 用于 DLite_Python-0.5.22-cp39-cp39-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 571beddd82a019a3c722cd7b03c2914b4d5bf843d5a3d27cebf85d9270ec4df6 |
|
MD5 | 56f71538fe0d677fbd4a86df33c77a96 |
|
BLAKE2b-256 | fea6758f5b27659626360bb9af66f1885bb3b68f155451a062d1ab585d4f8f88 |
哈希值 用于 DLite_Python-0.5.22-cp39-cp39-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 57963622a7299b0a1288c3fee09349ea2c7e9d228c8ef7a8663c5699e39ddfd2 |
|
MD5 | 9901a72657756b04bf5697dcdd56aee1 |
|
BLAKE2b-256 | b036a64e6d9054dd95310b9d8228779fd700224a8d23728ee4006bb4c200028d |
哈希值 用于 DLite_Python-0.5.22-cp39-cp39-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 794750eae2f549126cdef7311693a5c69742d01f040c1bafafb34e3bdc71bd49 |
|
MD5 | 0efd2454ff7673ef06695da07b8aa1dc |
|
BLAKE2b-256 | 2647a945cf230511f934482189a37a18e4174c9216931a645b4617defe88bf6a |
哈希值 用于 DLite_Python-0.5.22-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 39ee52d216edce53f04262386753537d7377d43291f754f2e911abd213808591 |
|
MD5 | d2c10ebd5d3516b1cb61c2ba7995695c |
|
BLAKE2b-256 | 6227f7ac709e2e3b73ab754ed2e0f12e2c5da0713215ae58faec371609f31f5c |
哈希值 用于 DLite_Python-0.5.22-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ef09e3725c3f7425a866e122782b4fdb166e0d1440973277af3d38978c4553c6 |
|
MD5 | d8c651a6120c638d67c6e7d02a296e99 |
|
BLAKE2b-256 | 246b8733b291295ce22b9b8ae18832f94ca1d2ce8c447ff8e370cde59ffaa901 |
哈希值 用于 DLite_Python-0.5.22-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4de8f726a2cfb41fd66cc3e94c48b3a7537132484fd1c9669e4bde65008ee7e9 |
|
MD5 | 70a90e022eb58af72ffbfaa55b37ca98 |
|
BLAKE2b-256 | 9fa6e40ce894bfaf9cfe072739eaba1e8e8994ffa9650e1fadc5c96b4c4e19a3 |
哈希值 用于 DLite_Python-0.5.22-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c6b7ed6fb750426580481a42507587b5b60d0dc171ff972cc5b0bdd8dcf4c320 |
|
MD5 | 77a251d131da67501728be4fec6ba3e5 |
|
BLAKE2b-256 | 0b7a7bc69286247b3f8337162927036c6768d1c1f2f380e37df3287d11e9d5bf |
哈希值 用于 DLite_Python-0.5.22-cp38-cp38-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 04026661cabdaef90793cac814664f5188c7b45bd110c2e0b4ac7eb8de9823b5 |
|
MD5 | d059fba229ca0183e942bf9d5ca8b4cc |
|
BLAKE2b-256 | 3c6c342fa647c90dfa6be798e82ec5eacc08ff276d846892ecd831a5f5e7aae8 |
哈希值 用于 DLite_Python-0.5.22-cp38-cp38-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 064023a104a2616c2b7adf9a85b0c55784684e2257baeaa907ba7595b43d1567 |
|
MD5 | 12a51fa6733d783e55a35bc13ff1f6f8 |
|
BLAKE2b-256 | 2ee40911c8f3bb852a2fa58735d4858f91eac7631cbceeb38e6915bffda7cc7f |
哈希值 用于 DLite_Python-0.5.22-cp38-cp38-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0125fff0cfe504c0dc4d5e054e32f28ed201676c544ca0d6f538739295b7af69 |
|
MD5 | b2952321367d8f90cf2ac9586805c80c |
|
BLAKE2b-256 | 8e65225652a3288ef91c2b3f7e72f054a7f08b952f61af677613695902f9de87 |
散列值 for DLite_Python-0.5.22-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 241f3c0cb53aa8a7e89b86f67e1688025911f59b77d4965c24fd3297231bff16 |
|
MD5 | 25323843c3d7417730cb3d571b1c28b5 |
|
BLAKE2b-256 | 7de77c8e807d1263ef4c5d2dc074f1985b0014f2b687702ff5ee4167e14f7d35 |
散列值 for DLite_Python-0.5.22-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d25df8df4e48f8428c89d1fe4efed0775b61bf17b859ce7e13891eb43f9f337 |
|
MD5 | b253c1f621f07b7c7f325c6b94da47b3 |
|
BLAKE2b-256 | 3bfd05d14cf35651bee15e85b46f1514a7cdb27fdcedf17572286358c1c386bd |
散列值 for DLite_Python-0.5.22-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 13d5d63859d68b2145de7c450a14e86418991afce0f12a0377d0e19d78e2aa23 |
|
MD5 | f074f71a83d333121f4548d52a03d0d2 |
|
BLAKE2b-256 | 6ad1dc6dac1e07119fe744113fbce276e7d483c9cf3576b111d44f3d52aa0110 |
散列值 for DLite_Python-0.5.22-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 044f512bdf9268ae3b92c130bc101a001d78789a3877ab8dad356ee0524b964f |
|
MD5 | 0fbc4a35f955a697f946955c575dab84 |
|
BLAKE2b-256 | c495014377a9a8b13836d0a659aca32948d9b6f73ab9ed3f0f133bcbb77b5afa |