A discovery mechanism for Web of Things (WoT) Thing Descriptions (TDs) based on link traversal of relatedThingDescription links.
This project provides a simple crawler for discovering WoT TDs by following links between TD documents.
Starting from a single Thing Description URL, the crawler:
- fetches the document
- parses it as RDF
- extracts links to related Thing Descriptions
- follows those links recursively
This makes it possible to explore networks of linked Thing Descriptions using a lightweight traversal-based discovery approach.
The crawler attempts to parse TDs using several common RDF formats:
- JSON-LD
- Turtle
- RDF/XML
- N-Triples
- Notation3
The crawler discovers additional Thing Descriptions by inspecting TD link annotations such as:
{
"links": [
{
"href": "https://paul.ti.rw.fau.de/~jo00defe/things/ruuvi_3BB3.td.json",
"type": "application/td+json",
"rel": "relatedThingDescription"
}
]
}from wot_td_crawler import crawl
tds = crawl("https://paul.ti.rw.fau.de/~jo00defe/things/ruuvi_3BB3.td.json")
for td in tds:
print(td)Clone the repository and install the package in editable mode:
git clone https://github.com/wintechis/wot_td_crawler
cd wot_td_crawler
pip install -e .