SlideShare a Scribd company logo
Semantics and the
Internet of Things
David Janes
@dpjanes
davidjanes@iotdb.org
http://iotdb.org/social/imadeit/
January 2016
Introduction
Why Semantics?
• Inter-stack Interoperability
• In use today
• …but can be improved
• Can be used for control
• Fits with REST (and HATEOAS) Model
Actuators
• How do I tell something “turn on”
• I don’t care how it does it, just that that it
does it
• the concept of "turn on" is basically
universal / standard independent
Sensors
• What does { t: 24.0 } mean?
Learning from the Web
• The Web works
• Use URIs
• Use REST
• Use JSON (-like data)
Classes v Composition
• Composition is better!
• Things do what they say they do
• Things are what they say they are
Goals
• Simplicity!
• Understandability!
• Orthogonality!
Semantics Today
CoAP / LWM2M
• RFC 6690 rt
• e.g. temperature could be

http://sweet.jpl.nasa.gov/2.0/
phys.owl#Temperature
Shortcomings
• We want to be able to easily create specify
more powerful semantics
• e.g. max temperature, what is being
measured, etc.
• We want to use semantics for control too
Proposed Model
N.B.
• We are leaving out some details to keep
this high level
Key concept: Bands
• Bands are JSON-like dictionaries
• Bands have a URI
• Bands fully elucidate Things:
• A Thing has multiple bands: model, istate,
ostate, meta, …
• think as: a Thing is a collection of bands
• each band can be manipulated RESTfully
• orthogonal
Assertion
• Everything we need to create
Interoperability can be done well with this
model
• Based on URIs / API / REST / JSON - i.e.
how we program the Internet today
Bands
• JSON-like dictionaries
• Referenced by URIs
• Manipulate in a “web standard” way
• URI (from id and band)
• PUT / PATCH / GET
band: istate
• The “input” (toward me) state
• The actual state of the Thing
• e.g. "the light is on", "the light is off"
band: ostate
• The “output” state (toward the Thing)
• What we want the state to become
• e.g. "turn the light on", "turn the light off"
band: model
• describes terms used in istate and ostate
• "secret sauce" / HATEOAS terms
• JSON-LD
• composition not classes
Light Thing
A brief interruption
• we follow with a simple example
• we use a "little language" called IoTQL to
write models
• it compiles to JSON-LD, which is what is
actually in the model band
• used for brevity!
Light example
• A simple light which can be turned on / off
• it's currently on
• we're currently not changing anything
• note "o", the dictionary key used
Live Example
• http://homestar.io:20000/api/things
• coap://184.107.137.234:22001/ts
• mqtt://184.107.137.235:20001
Semantics
• e.g. the concept of "turning on / off" is:

iot-purpose:on
• https://iotdb.org/pub/iot-purpose#on
• unconstrained "infinite" vocabulary
IoTQL model
CREATE MODEL Light WITH
schema:name = "Light",
iot:facet = iot-facet:lighting
ATTRIBUTE "o" WITH
schema:name = "on",
iot:purpose = iot-purpose:on,
iot:type = iot:type.boolean
;
JSON-LD model
{
"@type": "iot:Model",
"schema:name": "Light",
"iot:facet": [
"iot-facet:lighting"
],
"iot:attribute": [
{
"@type": "iot:Attribute",
"@id": "#o",
"schema:name": "on",
"iot:purpose": "iot-purpose:on",
"iot:type": "iot:type.boolean",
"iot:read": true,
"iot:write": true,
"iot:sensor": true,
"iot:actuator": true
}
]
}
JSON istate
{
"o": true
}
JSON ostate
{
"o": null
}
How it works
Step 1
• the user "says" turn on the light
• as code, e.g:



{

"iot-purpose:on": true

}
Step II
• Look in the model for
• an iot:Attribute
• with iot:purpose = iot-purpose:on
JSON-LD model
{
"@type": "iot:Model",
"schema:name": "Light",
"iot:facet": [
"iot-facet:lighting"
],
"iot:attribute": [
{
"@type": "iot:Attribute",
"@id": "#o",
"schema:name": "on",
"iot:purpose": "iot-purpose:on",
"iot:type": "iot:type.boolean",
"iot:read": true,
"iot:write": true,
"iot:sensor": true,
"iot:actuator": true
}
]
}
Step III
• Look in the iot:Attribute found
• look at the "@id"
• this will tell us what to manipulate
• in this case "o"
JSON ostate
{
"o": null
}
Step IV
• Change the ostate band in the usual
RESTful way
• e.g. PATCH { "o": true }
StepV
• Actually turn on the light
• It's an implementation detail
• we don't care if it's a WeMo, a Hue, a
LIFX, a homemade Arduino Light, …
Additional Notes
why istate / ostate?
• we need to know when things are
transitioning - the interstitial state.
• we often want to use the same terms, e.g.
"o" to describe both reading and writing
• it's a modelling concept,Things can "actually"
do their own whatever
why complicated
attributes?
• consider measuring temperature
• we may also need to describe:
• the units (celsius, fahrenheit), what is
being measured, the accuracy, the
minimum, the maximum, &c
Reference
Implementation
Semantics
• https://iotdb.org/pub
• iot: core definitions
• iot-purpose: sensor and actuators
• iot-unit: units of measure
• iot-facet: facets (what does it do)
• https://github.com/dpjanes/iotdb-vocabulary
IOTDB
• https://homestar.io/about
• https://github.com/dpjanes/iotdb-homestar
• complete reference implementation
• https://github.com/dpjanes/homestar-coap/tree/
master/docs/plugfest
Code
• https://github.com/dpjanes/node-iotdb
• https://github.com/dpjanes/iotdb-iotql
• (and many more)
Get in touch!
David Janes
@dpjanes
davidjanes@iotdb.org
http://iotdb.org/social/imadeit/

More Related Content

Similar to Semantic and the Internet of Things

xAPI Vocabulary Stone Soup: LAK 2016 JISC Learning Analytics Hackathon
xAPI Vocabulary Stone Soup: LAK 2016 JISC Learning Analytics HackathonxAPI Vocabulary Stone Soup: LAK 2016 JISC Learning Analytics Hackathon
xAPI Vocabulary Stone Soup: LAK 2016 JISC Learning Analytics Hackathon
Russell Duhon
 
SensorThings API webinar-#4-Connect Your Sensor
SensorThings API webinar-#4-Connect Your SensorSensorThings API webinar-#4-Connect Your Sensor
SensorThings API webinar-#4-Connect Your Sensor
SensorUp
 
Building Tomorrow's Web Services
Building Tomorrow's Web ServicesBuilding Tomorrow's Web Services
Building Tomorrow's Web Services
Pat Cappelaere
 
Austin Day of Rest - Introduction
Austin Day of Rest - IntroductionAustin Day of Rest - Introduction
Austin Day of Rest - Introduction
HandsOnWP.com
 
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
PyData
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
Taylor Lovett
 
Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...
Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...
Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...
Calvin Tan
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
Taylor Lovett
 
Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017
JoEllen Carter
 
Tori ORM for PyCon 2014
Tori ORM for PyCon 2014Tori ORM for PyCon 2014
Tori ORM for PyCon 2014
Juti Noppornpitak
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentals
AgileDenver
 
[Text Book] IoT Class Material - CoAP, OCF, and IoTivity
[Text Book] IoT Class Material - CoAP, OCF, and IoTivity[Text Book] IoT Class Material - CoAP, OCF, and IoTivity
[Text Book] IoT Class Material - CoAP, OCF, and IoTivity
Prof. Chung
 
IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013
Stuart Myles
 
The Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To TestingThe Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To Testing
Tim Duckett
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712
weitzelm
 
Beautiful REST+JSON APIs with Ion
Beautiful REST+JSON APIs with IonBeautiful REST+JSON APIs with Ion
Beautiful REST+JSON APIs with Ion
Stormpath
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
Patrick Chanezon
 
Walter api
Walter apiWalter api
Walter api
Nicholas Schiller
 
The JSON REST API for WordPress
The JSON REST API for WordPressThe JSON REST API for WordPress
The JSON REST API for WordPress
Taylor Lovett
 
DACS - The Internet of Things (IoT)
DACS - The Internet of Things (IoT)DACS - The Internet of Things (IoT)
DACS - The Internet of Things (IoT)
Steve Posick
 

Similar to Semantic and the Internet of Things (20)

xAPI Vocabulary Stone Soup: LAK 2016 JISC Learning Analytics Hackathon
xAPI Vocabulary Stone Soup: LAK 2016 JISC Learning Analytics HackathonxAPI Vocabulary Stone Soup: LAK 2016 JISC Learning Analytics Hackathon
xAPI Vocabulary Stone Soup: LAK 2016 JISC Learning Analytics Hackathon
 
SensorThings API webinar-#4-Connect Your Sensor
SensorThings API webinar-#4-Connect Your SensorSensorThings API webinar-#4-Connect Your Sensor
SensorThings API webinar-#4-Connect Your Sensor
 
Building Tomorrow's Web Services
Building Tomorrow's Web ServicesBuilding Tomorrow's Web Services
Building Tomorrow's Web Services
 
Austin Day of Rest - Introduction
Austin Day of Rest - IntroductionAustin Day of Rest - Introduction
Austin Day of Rest - Introduction
 
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
 
Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...
Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...
Why Node, Express and Postgres - presented 23 Feb 15, Talkjs, Microsoft Audit...
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
 
Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017
 
Tori ORM for PyCon 2014
Tori ORM for PyCon 2014Tori ORM for PyCon 2014
Tori ORM for PyCon 2014
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentals
 
[Text Book] IoT Class Material - CoAP, OCF, and IoTivity
[Text Book] IoT Class Material - CoAP, OCF, and IoTivity[Text Book] IoT Class Material - CoAP, OCF, and IoTivity
[Text Book] IoT Class Material - CoAP, OCF, and IoTivity
 
IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013
 
The Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To TestingThe Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To Testing
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712
 
Beautiful REST+JSON APIs with Ion
Beautiful REST+JSON APIs with IonBeautiful REST+JSON APIs with Ion
Beautiful REST+JSON APIs with Ion
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
 
Walter api
Walter apiWalter api
Walter api
 
The JSON REST API for WordPress
The JSON REST API for WordPressThe JSON REST API for WordPress
The JSON REST API for WordPress
 
DACS - The Internet of Things (IoT)
DACS - The Internet of Things (IoT)DACS - The Internet of Things (IoT)
DACS - The Internet of Things (IoT)
 

More from David Janes

Writing Alexa Voice Skills With NodeJS (with a little IoT)
Writing Alexa Voice Skills With NodeJS (with a little IoT)Writing Alexa Voice Skills With NodeJS (with a little IoT)
Writing Alexa Voice Skills With NodeJS (with a little IoT)
David Janes
 
What a Thing API Should Look Like (Global IoT Day Wien)
What a Thing API Should Look Like (Global IoT Day Wien)What a Thing API Should Look Like (Global IoT Day Wien)
What a Thing API Should Look Like (Global IoT Day Wien)
David Janes
 
IOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of ThingsIOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of Things
David Janes
 
IOTDB - #IoTDay 2014 Presentation
IOTDB - #IoTDay 2014 PresentationIOTDB - #IoTDay 2014 Presentation
IOTDB - #IoTDay 2014 Presentation
David Janes
 
Connecting the Internet of Things to the Semantic Web
Connecting the Internet of Things to the Semantic WebConnecting the Internet of Things to the Semantic Web
Connecting the Internet of Things to the Semantic Web
David Janes
 
Building Blocks for the Internet of Things @ Home
Building Blocks for the Internet of Things @ HomeBuilding Blocks for the Internet of Things @ Home
Building Blocks for the Internet of Things @ Home
David Janes
 
Discover Anywhere Mobile iPhone Apps
Discover Anywhere Mobile iPhone AppsDiscover Anywhere Mobile iPhone Apps
Discover Anywhere Mobile iPhone Apps
David Janes
 

More from David Janes (7)

Writing Alexa Voice Skills With NodeJS (with a little IoT)
Writing Alexa Voice Skills With NodeJS (with a little IoT)Writing Alexa Voice Skills With NodeJS (with a little IoT)
Writing Alexa Voice Skills With NodeJS (with a little IoT)
 
What a Thing API Should Look Like (Global IoT Day Wien)
What a Thing API Should Look Like (Global IoT Day Wien)What a Thing API Should Look Like (Global IoT Day Wien)
What a Thing API Should Look Like (Global IoT Day Wien)
 
IOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of ThingsIOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of Things
 
IOTDB - #IoTDay 2014 Presentation
IOTDB - #IoTDay 2014 PresentationIOTDB - #IoTDay 2014 Presentation
IOTDB - #IoTDay 2014 Presentation
 
Connecting the Internet of Things to the Semantic Web
Connecting the Internet of Things to the Semantic WebConnecting the Internet of Things to the Semantic Web
Connecting the Internet of Things to the Semantic Web
 
Building Blocks for the Internet of Things @ Home
Building Blocks for the Internet of Things @ HomeBuilding Blocks for the Internet of Things @ Home
Building Blocks for the Internet of Things @ Home
 
Discover Anywhere Mobile iPhone Apps
Discover Anywhere Mobile iPhone AppsDiscover Anywhere Mobile iPhone Apps
Discover Anywhere Mobile iPhone Apps
 

Recently uploaded

How to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdfHow to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdf
Infosec train
 
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
APNIC
 
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
thezot
 
cyber crime.pptx..........................
cyber crime.pptx..........................cyber crime.pptx..........................
cyber crime.pptx..........................
GNAMBIKARAO
 
KubeCon & CloudNative Con 2024 Artificial Intelligent
KubeCon & CloudNative Con 2024 Artificial IntelligentKubeCon & CloudNative Con 2024 Artificial Intelligent
KubeCon & CloudNative Con 2024 Artificial Intelligent
Emre Gündoğdu
 
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
dtagbe
 
Decentralized Justice in Gaming and Esports
Decentralized Justice in Gaming and EsportsDecentralized Justice in Gaming and Esports
Decentralized Justice in Gaming and Esports
Federico Ast
 
Bengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal BrandingBengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal Branding
Tarandeep Singh
 
Bangalore Call Girls 9079923931 With -Cuties' Hot Call Girls
Bangalore Call Girls 9079923931 With -Cuties' Hot Call GirlsBangalore Call Girls 9079923931 With -Cuties' Hot Call Girls
Bangalore Call Girls 9079923931 With -Cuties' Hot Call Girls
narwatsonia7
 
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
APNIC
 
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
3a0sd7z3
 
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
3a0sd7z3
 
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
rtunex8r
 

Recently uploaded (13)

How to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdfHow to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdf
 
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
 
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
 
cyber crime.pptx..........................
cyber crime.pptx..........................cyber crime.pptx..........................
cyber crime.pptx..........................
 
KubeCon & CloudNative Con 2024 Artificial Intelligent
KubeCon & CloudNative Con 2024 Artificial IntelligentKubeCon & CloudNative Con 2024 Artificial Intelligent
KubeCon & CloudNative Con 2024 Artificial Intelligent
 
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
 
Decentralized Justice in Gaming and Esports
Decentralized Justice in Gaming and EsportsDecentralized Justice in Gaming and Esports
Decentralized Justice in Gaming and Esports
 
Bengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal BrandingBengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal Branding
 
Bangalore Call Girls 9079923931 With -Cuties' Hot Call Girls
Bangalore Call Girls 9079923931 With -Cuties' Hot Call GirlsBangalore Call Girls 9079923931 With -Cuties' Hot Call Girls
Bangalore Call Girls 9079923931 With -Cuties' Hot Call Girls
 
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
 
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
 
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
 
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
 

Semantic and the Internet of Things