در این مقاله نمونه ها و دستورالعمل های پرس و جو برای استفاده از زبان پرس و جو دیجیتال Azure برای پرس و جو از نمودار دوقلوی خود برای اطلاعات ارائه شده است.(برای معرفی زبان پرس و جو ، به زبان پرس و جو مراجعه کنید.)
این مقاله شامل نمایش داده های نمونه ای است که نشان دهنده ساختار زبان پرس و جو و عملیات پرس و جو مشترک برای دوقلوهای دیجیتال است. همچنین نحوه اجرای نمایش داده های خود را پس از نوشتن آنها ، با استفاده از API Query Digital Digital Azure یا SDK توصیف می کند.
اگر نمونه های زیر را با تماس API یا SDK اجرا می کنید ، باید متن پرس و جو را در یک خط واحد متراکم کنید.
مستندات مرجع
مرجع زبان پرس و جو را می توان در جدول سمت چپ مطالب برای مستندات دوقلوهای دیجیتال لاجورد یافت. همچنین می توانید با استفاده از پیوندهای زیر مستقیماً به بخش های مرجع بروید:
تمام دوقلوهای دیجیتال را نشان دهید
در اینجا پرس و جو اساسی وجود دارد که لیستی از تمام دوقلوهای دیجیتال را به عنوان مثال باز می گرداند:
پرس و جو توسط املاک
دوقلوهای دیجیتال را بر اساس خواص (از جمله شناسه و ابرداده) دریافت کنید:
همانطور که در پرس و جو در بالا نشان داده شده است ، شناسه یک دوقلو دیجیتال با استفاده از قسمت ابرداده $ dtid پرس و جو می شود.
اگر از Cloud Shell استفاده می کنید تا یک پرس و جو را با زمینه های ابرداده ای که با $ شروع می شود ، اجرا کنید ، باید از $ با یک backslash فرار کنید تا Cloud Shell بدانید که این یک متغیر نیست و باید به عنوان یک لفظ در متن پرس و جو مصرف شود.
همچنین می توانید دوقلوها را بر اساس تعریف خاص یک خاصیت خاص دریافت کنید. در اینجا یک پرس و جو وجود دارد که به دوقلوها می رسد که دارای یک ویژگی مکان مشخص هستند:
این پرس و جو می تواند به شما در گرفتن دوقلوها توسط ویژگی های برچسب آنها کمک کند ، همانطور که در افزودن برچسب ها به دوقلوهای دیجیتال توضیح داده شده است. در اینجا یک پرس و جو وجود دارد که همه دوقلوها را با قرمز برچسب می زند:
همچنین می توانید دوقلوها را بر اساس نوع خاصیت دریافت کنید. در اینجا یک پرس و جو وجود دارد که دوقلوها را دریافت می کند که خاصیت دمای آنها یک عدد است:
اگر یک ویژگی از نوع نقشه است ، می توانید از کلیدها و مقادیر نقشه به طور مستقیم در پرس و جو استفاده کنید ، مانند این:
پرس و جو بر اساس مدل
از اپراتور IS_OF_MODEL می توان بر اساس مدل دوقلو استفاده کرد.
این وراثت و نسخه مدل سازی را در نظر می گیرد و اگر دوقلو با هر یک از این شرایط ملاقات کند ، برای یک دوقلو معین به درستی ارزیابی می کند:
- دوقلو به طور مستقیم مدل ارائه شده به IS_OF_MODEL () را پیاده سازی می کند ، و شماره نسخه مدل روی دوقلو بیشتر یا برابر با شماره نسخه مدل ارائه شده است
- دوقلو مدلی را اجرا می کند که مدل ارائه شده به IS_OF_MODEL () را گسترش می دهد ، و شماره نسخه مدل توسعه یافته دوقلو بیشتر از یا مساوی با شماره نسخه مدل ارائه شده است
به عنوان مثال ، اگر برای دوقلوهای مدل DTMI پرس و جو می کنید: مثال: ویجت ؛ 4 ، پرس و جو تمام دوقلوها را بر اساس نسخه 4 یا بیشتر مدل ویجت باز می گرداند ، و همچنین دوقلوها بر اساس نسخه 4 یا بیشتر از هر مدلوراثت از ویجت.
IS_OF_MODEL می تواند چندین پارامتر مختلف را در اختیار بگیرد و بقیه این بخش به گزینه های مختلف اضافه بار آن اختصاص داده شده است.
ساده ترین استفاده از IS_OF_MODEL فقط یک پارامتر TwinTypename را می گیرد: IS_OF_MODEL (نام TwinTypename). در اینجا یک مثال پرس و جو وجود دارد که در این پارامتر مقداری را منتقل می کند:
برای مشخص کردن یک مجموعه دوقلوی برای جستجو در هنگام وجود بیش از یک (مانند هنگام استفاده از پیوستن) ، پارامتر TwinCollection را اضافه کنید: is_of_model (TwinCollection ، TwinTypename). در اینجا یک مثال پرس و جو وجود دارد که مقداری را برای این پارامتر اضافه می کند:
برای انجام یک مسابقه دقیق ، پارامتر دقیق را اضافه کنید: IS_OF_MODEL (نام TwinTypename ، دقیق). در اینجا یک مثال پرس و جو وجود دارد که مقداری را برای این پارامتر اضافه می کند:
همچنین می توانید هر سه آرگومان را با هم منتقل کنید: IS_OF_MODEL (TwinCollection ، TwinTypename ، دقیق). در اینجا یک مثال پرس و جو وجود دارد که یک مقدار را برای هر سه پارامتر مشخص می کند:
پرس و جو با رابطه
هنگام پرس و جو بر اساس روابط دوقلوهای دیجیتال ، زبان پرس و جو دیجیتال دیجیتال Azure دارای نحوی ویژه ای است.
روابط در بند از FROM به دامنه پرس و جو کشیده می شود. بر خلاف زبان های "کلاسیک" از نوع SQL ، هر بیان در بند FROM یک جدول نیست. در عوض ، بند FROM ، یک رابطه متقابل واردات را بیان می کند. برای گذر از روابط ، دوقلوهای دیجیتال Azure از نسخه سفارشی پیوستن استفاده می کنند.
به یاد بیاورید که با قابلیت های مدل دوقلوهای دیجیتال Azure ، روابط مستقل از دوقلوها وجود ندارند ، به این معنی که روابط در اینجا نمی تواند به طور مستقل پرسیده شود و باید با یک دوقلو گره خورده باشد. برای بازتاب این واقعیت ، از کلمه کلیدی مربوط به بند پیوست استفاده می شود تا مجموعه ای از نوع خاصی از رابطه را که از مجموعه دوقلوی حاصل می شود ، بکشید. سپس پرس و جو باید در بند WHERE فیلتر شود تا نشان دهد کدام دوقلوهای خاص برای استفاده در پرس و جو رابطه (با استفاده از مقادیر DTID $ Twins) استفاده می کنند.
در بخش های زیر نمونه هایی از آنچه به نظر می رسد ارائه شده است.
پرس و جو روابط اساسی
در اینجا یک پرس و جو مبتنی بر رابطه وجود دارد. این قطعه کد تمام دوقلوهای دیجیتال را با خاصیت ID ABC انتخاب می کند و تمام دوقلوهای دیجیتال مربوط به این دوقلوهای دیجیتال از طریق یک رابطه حاوی.
نوع رابطه (موجود در مثال بالا) با استفاده از قسمت نام رابطه از تعریف DTDL آن نشان داده شده است.
توسعه دهنده نیازی به همبستگی این اتصال با یک مقدار کلیدی در بند WHERE ندارد (یا یک مقدار کلیدی را با تعریف پیوست مشخص کنید). این همبستگی به طور خودکار توسط سیستم محاسبه می شود ، زیرا خصوصیات رابطه خود موجودیت هدف را شناسایی می کنند.
پرس و جو توسط منبع یا هدف یک رابطه
شما می توانید از ساختار پرس و جو رابطه برای شناسایی یک دوقلوی دیجیتال که منبع یا هدف یک رابطه است استفاده کنید.
به عنوان مثال ، می توانید با یک دوقلو منبع شروع کنید و روابط آن را دنبال کنید تا دوقلوهای هدف روابط را پیدا کنید. در اینجا نمونه ای از پرس و جو آورده شده است که دوقلوهای هدف روابط فیدز را که از منبع دوقلوی دوقلو حاصل می شود ، پیدا می کند.
همچنین می توانید با هدف رابطه شروع کنید و رابطه را برای یافتن دوقلوی منبع ردیابی کنید. در اینجا نمونه ای از پرس و جو آورده شده است که دوقلو منبع یک رابطه فیدز با دوقلو دوقلوی را پیدا می کند.
خواص یک رابطه را پرس و جو کنید
به طور مشابه با روشی که دوقلوهای دیجیتال از طریق DTDL توصیف شده اند ، روابط نیز می توانند دارای خواص باشند. شما می توانید دوقلوها را بر اساس خصوصیات روابط آنها پرس و جو کنید. زبان پرس و جو دوقلوهای دیجیتال Azure با اختصاص یک نام مستعار به رابطه در بند پیوست ، فیلتر و پیش بینی روابط را امکان پذیر می کند.
به عنوان نمونه ، یک رابطه سرویس دار را در نظر بگیرید که دارای یک خاصیت گزارش شده است. در پرس و جو زیر ، این رابطه به عنوان نام مستعار R برای مراجعه به خاصیت آن داده می شود.
در مثال بالا ، توجه داشته باشید که چگونه گزارش شده خاصیت خود از رابطه با سرویس دهی است (نه برخی از دوقلوهای دیجیتال که دارای یک رابطه سرویس دهنده است).
پرس و جو با چندین پیوست
حداکثر پنج عضو در یک پرس و جو واحد پشتیبانی می شوند ، که به شما امکان می دهد چندین سطح از روابط را به طور همزمان طی کنید.
برای پرس و جو در مورد چندین سطح از روابط ، از یک بیانیه از بیانیه و به دنبال آن در بیانیه های پیوست استفاده کنید ، جایی که بیانیه های پیوستن روابط را در مورد نتیجه قبلی از یا پیوستن بیان می کنند.
در اینجا نمونه ای از پرس و جو چند جانبه وجود دارد که تمام لامپ های موجود در پانل های نوری در اتاق های 1 و 2 را بدست می آورد.
موارد را بشمارید
با استفاده از بند شمارش انتخاب می توانید تعداد موارد را در یک نتیجه شمارش کنید:
یک بند را اضافه کنید تا تعداد مواردی که معیارهای خاصی را برآورده می کنند ، حساب کنید. در اینجا چند نمونه از شمارش با یک فیلتر کاربردی بر اساس نوع مدل دوقلوی آورده شده است (برای اطلاعات بیشتر در مورد این نحو ، به پرس و جو بر اساس مدل زیر مراجعه کنید):
همچنین می توانید از COUNT به همراه بند پیوست استفاده کنید. در اینجا یک پرس و جو وجود دارد که تمام لامپ های موجود در پانل های نور اتاق های 1 و 2 را در خود جای می دهد:
نتایج فیلتر: موارد برتر را انتخاب کنید
می توانید با استفاده از بند برتر انتخاب ، چندین مورد "بالا" را در یک پرس و جو انتخاب کنید.
نتایج فیلتر: مجموعه بازگشت را با پیش بینی ها مشخص کنید
با استفاده از پیش بینی ها در عبارت SELECT ، می توانید انتخاب کنید که کدام ستون پرس و جو باز خواهد گشت. اکنون طرح ریزی برای هر دو خاصیت بدوی و پیچیده پشتیبانی می شود. برای اطلاعات بیشتر در مورد پیش بینی با دوقلوهای دیجیتال Azure ، به اسناد مرجع Select Clause مراجعه کنید.
در اینجا نمونه ای از پرس و جو است که از طرح ریزی برای بازگشت دوقلوها و روابط استفاده می کند. پرس و جو زیر مصرف کننده ، کارخانه و لبه را از سناریویی که یک کارخانه با شناسه ABC از طریق رابطه کارخانه ای به مصرف کننده مربوط می شود ، پروژه می کند.
همچنین می توانید برای بازگشت یک خاصیت یک دوقلو از طرح ریزی استفاده کنید. پرس و جو زیر نام خاصیت مصرف کنندگان را که مربوط به کارخانه با شناسه ABC از طریق رابطه کارخانه است.
همچنین می توانید از پیش بینی برای بازگشت خاصیت یک رابطه استفاده کنید. مانند مثال قبلی ، پرس و جو زیر نام خاصیت مصرف کنندگان مربوط به کارخانه را با شناسه ABC از طریق رابطه کارخانه. Customer ؛اما اکنون این دو ویژگی از آن رابطه ، prop1 و prop2 را نیز برمی گرداند. این کار را با نامگذاری لبه رابطه و جمع آوری خواص آن انجام می دهد.
همچنین می توانید از نام مستعار برای ساده کردن نمایش داده ها با طرح ریزی استفاده کنید.
پرس و جو زیر همان عملیات را به عنوان مثال قبلی انجام می دهد ، اما نام ملک را به نام تجاری ، اول ، دوم و FactoryArea معرفی می کند.
در اینجا یک پرس و جو مشابه وجود دارد که همان مجموعه ای را که در بالا وجود دارد پرس و جو می کند ، اما فقط دارایی مصرف کننده را به عنوان نام تجاری نامگذاری می کند و کارخانه کامل را به عنوان یک دوقلو پروژه می کند.
با اپراتور IN نمایش داده شد
شما می توانید با ساختن آرایه ای از دوقلوها و پرس و جو با اپراتور IN ، تعداد پرس و جو مورد نیاز خود را به میزان قابل توجهی کاهش دهید.
به عنوان مثال ، سناریویی را در نظر بگیرید که در آن ساختمانها دارای کف و کف هستند که دارای اتاق هستند. برای جستجوی اتاقهای داخل یک ساختمان که داغ است ، یک راه پیروی از این مراحل است.
طبقه های موجود در ساختمان را بر اساس رابطه حاوی پیدا کنید.
برای پیدا کردن اتاق ، به جای در نظر گرفتن کف ها یک به یک و یک پرس و جو برای یافتن اتاق برای هر یک از آنها ، می توانید با مجموعه ای از کفهای موجود در ساختمان (به نام طبقه در پرس و جو زیر) پرس و جو کنید.
سایر نمونه های پرس و جو ترکیبی
شما می توانید هر یک از انواع فوق را با استفاده از اپراتورهای ترکیبی ترکیب کنید تا جزئیات بیشتری را در یک پرس و جو واحد درج کنید. در اینجا چند نمونه دیگر از نمایش داده شدگان مرکب وجود دارد که بیش از یک نوع توصیف کننده دوقلوی را به طور هم زمان پرس و جو می کند.
- از دستگاه هایی که اتاق 123 دارد ، دستگاه های MXCHIP را که نقش اپراتور را خدمت می کنند ، برگردانید
- دوقلوهایی را دریافت کنید که دارای یک رابطه به نام است با دوقلو دیگری که دارای شناسه ID1 است
- تمام اتاقهای این مدل اتاق را که توسط Floor11 موجود است ، بدست آورید
با API نمایش داده شد
پس از تصمیم گیری در مورد رشته پرس و جو ، با برقراری تماس با API پرس و جو ، آن را اجرا می کنید.
می توانید مستقیماً با API تماس بگیرید ، یا از یکی از SDK های موجود برای دوقلوهای دیجیتال Azure استفاده کنید.
قطعه کد زیر تماس SDK .net (C#) را از یک برنامه مشتری نشان می دهد:
پرس و جو مورد استفاده در این تماس لیستی از دوقلوهای دیجیتال را برمی گرداند ، که مثال فوق با اشیاء BasicDigitalTwin نشان داده شده است. نوع بازگشت داده های شما برای هر پرس و جو به چه شرایطی که با عبارت SELECT مشخص می کنید بستگی دارد:
- نمایش داده شده هایی که با انتخاب * از آن شروع می شوند. لیستی از دوقلوهای دیجیتال را برمی گرداند (که می تواند به عنوان اشیاء BasicDigitaltwin یا سایر انواع دوقلوی دیجیتال سفارشی که ممکن است ایجاد کرده باشید) سریال کنید.
- نمایش داده شده هایی که در قالب شروع می شوند ، از. یک فرهنگ لغت را با کلیدها بازگرداند ، و.
- برای بازگشت داده های سفارشی می توان از دیگر فرم های اظهارات منتخب استفاده کرد. ممکن است در نظر بگیرید که کلاسهای خود را برای رسیدگی به مجموعه های نتیجه سفارشی ایجاد کنید.
پرس و جو با صفحه بندی
پرس و جو از صفحه پشتیبانی پشتیبانی می کند. در اینجا یک مثال کامل با استفاده از BasicDigitaltwin به عنوان نوع نتیجه پرس و جو با استفاده از خطا و صفحه بندی وجود دارد:
مراحل بعدی
درباره API های دوقلوهای دیجیتال Azure و SDK ها ، از جمله API پرس و جو که برای اجرای نمایش داده شد از این مقاله استفاده می شود ، بیشتر بدانید.
ویدیو های آموزشی فارکس...
ما را در سایت ویدیو های آموزشی فارکس دنبال می کنید
برچسب :
نویسنده : محبوب امانی
بازدید : 50
تاريخ : چهارشنبه
27 ارديبهشت
1402 ساعت: 16:13