qudt / qudt-public-repo

QUDT -Quantities, Units, Dimensions and dataTypes - public repository
Other
117 stars 74 forks source link

Missing MBTUs? #597

Open jbkoh opened 2 years ago

jbkoh commented 2 years ago

Hi all, I just found that MBTU (million BTU) is missing in the QUDT unit vocabulary. MBTU is a common term as well as BACnet also has mega-BTUs (148) as a unit. Is it something QUDT would consider to include? If so, I can create a PR, though I'd like to also know QUDT's preference on MBTU vs MegaBTU (or even MMBTU?).

Thanks!

jhodgesatmb commented 2 years ago

Jason,

QUDT has a published logic for defining unit qnames. Prefixes such as ‘Mega’ are not preferred but required by this convention. Label annotations and symbols can follow international standards conventions.

As a curiosity, why would it matter what the unit qname is? After all, it is not a part of the semantic structure of the unit but a unique namespace identifier.

I have forgotten about the BACnet unit model. The .ttl version I have has this:

EngineeringUnits:megaBtus rdf:type dtype:EnumeratedValue ; dtype:code "148"^^xsd:nonNegativeInteger ; dtype:value "megaBtus"^^xsd:string .

I do not see any meaningful structure here. It is just a member of an enumerated type and has a code. Has the model been improved upon since this version (http://bacowl.sourceforge.net/2012/bacnet) was published?

We have discussed various methods of cross referencing units across different models. Perhaps a BACnet cross reference would be a better solution that trying to make the units be equivalent. I will toss this out for discussion as there may very well be other considerations than those I have voiced here.

Jack Hodges, Ph.D. Arbor Studios

On Mon, Oct 31, 2022 at 3:32 PM Jason B. Koh @.***> wrote:

Hi all, I just found that MBTU (million BTU) is missing in the QUDT unit vocabulary. MBTU is a common term as well as BACnet also has mega-BTUs (148) as a unit. Is it something QUDT would consider to include? If so, I can create a PR, though I'd like to also know QUDT's preference on MBTU vs MegaBTU (or even MMBTU?).

Thanks!

— Reply to this email directly, view it on GitHub https://github.com/qudt/qudt-public-repo/issues/597, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATQRWLR6SMENGRIEBGVHXDWGBCGHANCNFSM6AAAAAARTQ2B7Q . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Jack

jbkoh commented 2 years ago

Hi Jack,

I don't have any preferences on the qnames; as stated in my comment, I'm fine with MBTU / MegaBTU / MMBTU or whatever QUDT conventions prefer. I just don't see anything defined for such a concept in the existing vocabualry set in either this repo or the catalog. Maybe I missed the exact term, and if that's the case, I'd appreciate any pointer to it. At least I can't see MegaBtus anywhere.

jhodgesatmb commented 2 years ago

It may not be in the catalog yet. We do not create prefix units for all prefixes; only by request/submission. Otherwise how would we know anyone needs it? No need to make the catalog larger than necessary.Jack Hodges, Ph.D.Arbor StudiosOn Oct 31, 2022, at 4:42 PM, Jason B. Koh @.***> wrote: Hi Jack, I don't have any preferences on the qnames; as stated in my comment, I'm fine with MBTU / MegaBTU / MMBTU or whatever QUDT conventions prefer. I just don't see anything defined for such a concept in the existing vocabualry set in either this repo or the catalog. Maybe I missed the exact term, and if that's the case, I'd appreciate any pointer to the term. At least I can't see MegaBtus anywhere.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

jhodgesatmb commented 2 years ago

If you don’t see it with a simple query it isn’t there. You could look for all BTU variants in the query. I’d do it but I am mobile at the moment.Jack Hodges, Ph.D.Arbor StudiosOn Oct 31, 2022, at 4:42 PM, Jason B. Koh @.***> wrote: Hi Jack, I don't have any preferences on the qnames; as stated in my comment, I'm fine with MBTU / MegaBTU / MMBTU or whatever QUDT conventions prefer. I just don't see anything defined for such a concept in the existing vocabualry set in either this repo or the catalog. Maybe I missed the exact term, and if that's the case, I'd appreciate any pointer to the term. At least I can't see MegaBtus anywhere.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

JoelBender commented 2 years ago

I do not see any meaningful structure here. It is just a member of an enumerated type and has a code.

The OWL ontology for BACnet has been abandoned as unworkable and there is a new SHACL based model in process. The basics are the same, it is just an enumeration and the code is what appears on the wire between communicating peers (which is defined in ASN.1 for the tidbit of the day you didn't need to know). Assuming that "148"^^xsd:nonNegativeInteger is not the friendliest content and it gets mapped to bacnet:EngineeringUnits-megaBtus, it would be nice to have some reference between this IRI and something in QUDT.

jhodgesatmb commented 2 years ago

Personally those ‘tidbits’ are the interesting part for me. Anyway, we will find a way to integrate BACnet units with QUDT. Perhaps Steve has input into the approachJack Hodges, Ph.D.Arbor StudiosOn Oct 31, 2022, at 10:03 PM, Joel Bender @.***> wrote:

I do not see any meaningful structure here. It is just a member of an enumerated type and has a code.

The OWL ontology for BACnet has been abandoned as unworkable and there is a new SHACL based model in process. The basics are the same, it is just an enumeration and the code is what appears on the wire between communicating peers (which is defined in ASN.1 for the tidbit of the day you didn't need to know). Assuming that "148"^^xsd:nonNegativeInteger is not the friendliest content and it gets mapped to bacnet:EngineeringUnits-megaBtus, it would be nice to have some reference between this IRI and something in QUDT.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

steveraysteveray commented 2 years ago

Hi @jbkoh. I have been called out of town until Thursday, but @jhodgesatmb is correct. Just submit a PR, following our naming rules here and we will incorporate whatever prefixed units you want. We can also think about bidirectional cross-references (of course the BACnet people would do the incoming reference to QUDT if they choose).

jhodgesatmb commented 2 years ago

Jason,

Sorry I was out for so long. Running this query:

SELECT *

WHERE {

?unitC (rdfs:subClassOf)* qudt:Unit .

?unit a ?unitC .

?unit rdfs:label ?ulab .

*FILTER* (fn:contains(?ulab, "BTU")) .

}

shows that the vocabulary has no prefix versions of BTU at the present time. Steve sent you the link to the submission guidelines for PRs and that includes the qname naming conventions (etc). I suspect that there are other BACnet-specific units that are missing.

Jack

On Tue, Nov 1, 2022 at 5:54 AM steveraysteveray @.***> wrote:

Hi @jbkoh https://github.com/jbkoh. I have been called out of town until Thursday, but @jhodgesatmb https://github.com/jhodgesatmb is correct. Just submit a PR, following our naming rules here https://github.com/qudt/qudt-public-repo/wiki/Unit-Vocabulary-Submission-Guidelines and we will incorporate whatever prefixed units you want. We can also think about bidirectional cross-references (of course the BACnet people would do the incoming reference to QUDT if they choose).

— Reply to this email directly, view it on GitHub https://github.com/qudt/qudt-public-repo/issues/597#issuecomment-1298465890, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATQRWORGZ6UBNICKBPM6ODWGEHJ5ANCNFSM6AAAAAARTQ2B7Q . You are receiving this because you were mentioned.Message ID: @.***>

-- Jack

jhodgesatmb commented 2 years ago

Joel,

I am a bit confused by your comment. SHACL is really an extension to OWL that provides validation support, but if there is no structure then there is nothing to validate. Do you have the baseURI for this model? Is someone working on the QUDT integration with this ontology, or do you think a cross reference would be more appropriate? Thank you.

Jack

Sent from my iPad

On Oct 31, 2022, at 10:03 PM, Joel Bender @.***> wrote:

 I do not see any meaningful structure here. It is just a member of an enumerated type and has a code.

The OWL ontology for BACnet has been abandoned as unworkable and there is a new SHACL based model in process. The basics are the same, it is just an enumeration and the code is what appears on the wire between communicating peers (which is defined in ASN.1 for the tidbit of the day you didn't need to know). Assuming that "148"^^xsd:nonNegativeInteger is not the friendliest content and it gets mapped to bacnet:EngineeringUnits-megaBtus, it would be nice to have some reference between this IRI and something in QUDT.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

JoelBender commented 2 years ago

I don't see SHACL as an extension to OWL, it doesn't use OWL classes or concepts and it's closed world dealing with what actually exists as stated in a graph rather that open world of what somebody might say someplace in the universe. There is absolutely a structure to BACnet and a one-to-one serialization of BACnet concepts and data to RDF statements, and there are shapes that can validate each of those according to the rules as it has been defined by the committee, but they do not follow the rules of a decidable subset of first order logic! I've been able to squeak in references to rdfs:Class and rdfs:Property, but they aren't required.

The base URI will be owned by ASHRAE with a resolvable URI someplace in https://data.ashrae.org/bacnet but that will be up to the Data Modeling Working Group (DM-WG) to decide. Because ASHRAE has not been in the publishing business outside of PDF documents, the Manager of Standards has agreed that the SSPC would provide an acceptable level of oversight. I've been using https://data.ashrae.org/bacnet/2020/bacnet.ttl in my presentations because that's the latest version, ANSI uses the ASHRAE numbering, the ISO version is ISO 16484-6:2020.

A cross-reference with things like bacnet:degrees-fahrenheit skos:exactMatch https://qudt.org/vocab/unit/DEG_F would be acceptable. I'm guessing that this xref would be maintained by the DM-WG and live as a separate document because it's not BACnet as such. There are a fair number of "units" like "currency1" that aren't going to have a mapping, and some like "european-brewing-convention" will take some work to resolve (it's a color! :open_mouth: ).

jhodgesatmb commented 2 years ago

Thank you for this information Joel. QUDT is committed to integrating with other/all unit standards and we have been working on cross references or direct integrations with them. The good news is that unit ontologies are all trying to represent the same thing, though sometimes in different ways, such as with different qnames, different labels, or different symbols. Since these are annotations they are not problematic. When the unit models are a part of another ontology, such as a building-related ontology, then it is more complicated. Should QUDT integrate with every domain ontology that has chosen to build a model of units, or should we stick to existing unit standards and recommend that these other models map to the standards. It is a challenge we are still working on, and your suggested approach is one that has been proposed.

Assuming that there are exact matches (as you suggest with the degrees-fahrenheit example, i.e., no conflicts) between BACnet and QUDT units, then we can support a cross reference to BACnet units in the QUDT vocabulary rather than external to it. By your comment that the xref would be maintained as a separate document, I am guessing you are interested in using something like SSSOM (we have only recently been made aware of it). I see SSSOM working for exact matches (though less efficient than a cross reference within the QUDT vocabulary, but it would be more complicated if there isn't an exact match. For example, if there are dependencies in the BACnet unit model to other concepts in BACnet, or if there is a conflict in the model structure between the BACnet unit model and the QUDT unit model, then it would be better to build a structural mapping between BACnet and QUDT than to have a cross reference or direct integration. Since ASHRAE is the owner of this model, then if you want the cross reference to reside within the QUDT vocabulary, then someone on your team would have to perform the analysis and create the PR to the QUDT vocabulary. Since Jason started this thread and volunteered to create the PR I see no reason to not move forward to see what comes of it, but he could also do an SSSOM mapping if you prefer. We are thinking of placing such mapping files into the QUDT extensions but if ASHRAE would prefer to manage the mapping that is understandable. I thought that looking at the model beforehand might make this process go faster but we can save the review until the PR is produced/submitted if that is what you prefer.

Approaches:

Jack

On Wed, Nov 9, 2022 at 9:22 PM Joel Bender @.***> wrote:

I don't see SHACL as an extension to OWL, it doesn't use OWL classes or concepts and it's closed world dealing with what actually exists as stated in a graph rather that open world of what somebody might say someplace in the universe. There is absolutely a structure to BACnet and a one-to-one serialization of BACnet concepts and data to RDF statements, and there are shapes that can validate each of those according to the rules as it has been defined by the committee, but they do not follow the rules of a decidable subset of first order logic! I've been able to squeak in references to rdfs:Class and rdfs:Property, but they aren't required.

The base URI will be owned by ASHRAE with a resolvable URI someplace in https://data.ashrae.org/bacnet https://data.ashrae.org/bacnet but that will be up to the Data Modeling Working Group (DM-WG https://bacnet.org/working-groups/dm-wg/) to decide. Because ASHRAE has not been in the publishing business outside of PDF documents, the Manager of Standards has agreed that the SSPC https://bacnet.org/about-bacnet-committee/ would provide an acceptable level of oversight. I've been using https://data.ashrae.org/bacnet/2020/bacnet.ttl https://data.ashrae.org/bacnet/2020/bacnet.ttl in my presentations because that's the latest version, ANSI uses the ASHRAE numbering, the ISO version is ISO 16484-6:2020.

A cross-reference with things like bacnet:degrees-fahrenheit skos:exactMatch https://qudt.org/vocab/unit/DEG_F would be acceptable. I'm guessing that this xref would be maintained by the DM-WG and live as a separate document because it's not BACnet as such. There are a fair number of "units" like "currency1" that aren't going to have a mapping, and some like "european-brewing-convention" will take some work to resolve (it's a color! 😮 ).

— Reply to this email directly, view it on GitHub https://github.com/qudt/qudt-public-repo/issues/597#issuecomment-1309792868, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATQRWK7YUUZV3EAQO35P43WHSBARANCNFSM6AAAAAARTQ2B7Q . You are receiving this because you were mentioned.Message ID: @.***>

-- Jack