Quick Reference

Retrieve data from the Technopedia database by making HTTP requests to the Technopedia endpoints.

Base URL for API queries: https://data.technopedia.com/

For example, the following examples show a cURL and a GET request:

curl -G -H "Authorization: Bearer <API_KEY>" "https://data.technopedia.com/tql" --data-urlencode "q=<TQL Query>"

GET https://data.technopedia.com/tql?q=<TQL Query>

TQL endpoint

The following examples show the endpoint and a query example:

GET https://data.technopedia.com/tql?q=<TQL Query>
GET https://data.technopedia.com/tql?q=MATCH (n:ASSET) RETURN n LIMIT 5

Technopedia ID endpoint

The following examples show the endpoint and a query example:

GET https://data.technopedia.com/technopedia-id/<Technopedia ID>
GET https://data.technopedia.com/technopedia-id/f3f988ff-eb17-4830-95ef-ed1d78c1ac33

Software mapping endpoint

POST https://data.technopedia.com/mapping/software
Submit the JSON object in the body of the HTTP POST request to return a Technopedia ID when data is matched.

{
   "title": "<value>",
   "version": "<value>",
   "manufacturer": "<value>"
}

Hardware mapping endpoint

POST https://data.technopedia.com/mapping/hardware
Submit the JSON object in the body of the HTTP POST request.

{
   "title": "<value>",
   "model": "<value>",
   "manufacturer": "<value>"
}

Nodes

Nodes represent asset data, for example, the ASSET node represents software, hardware, and CPU asset data, and the OWNER node represents the owner or manufacturer of an asset.

Node attributes

Node attributes can be referenced by class, type, or more granular attributes such as title or version.

Class attributes

Use the class attribute in ASSET node queries only to filter by software, hardware, or CPU.
Class: Software, Hardware, CPU

Type attributes

Use the type attribute in ASSET node queries to further refine the software, hardware, or CPU classes in queries.
Type attributes for the Software class: Product, Version, Edition, Release, Component, Family
Type attributes for the Hardware class: Model, Product
Type attribute for the CPU class: Model


Every type attribute has more granular attributes, which are child attributes that you use to refine your queries.

Software Attributes

Software attributes are properties of nodes and they are used to define software assets.

Class Attribute
Software Type Attributes
Attributes of Software Type Attributes

Software

Product

owner, technopedia_id, product, title, type, is_suite class, url

Version

owner, product, version_order title, type version, technopedia_id is_major, version_group class

Edition

owner, product, edition title, type, technopedia_id, component, edition_order, family, class

Release

class, type, owner, release, family, product, component, version, version_order, version_group, edition, edition_order, title, is_major

Component

class, type, owner, family, product, component, title

Family

class, owner, family, technopedia_id, title, type,
url

Return software products
MATCH (a:ASSET {class: 'Software', type: 'Product'}) RETURN a

Return software products for 'Mia Quality'.
MATCH (a:ASSET {class: 'Software' , type: 'Product', product: 'Mia-Quality'}) RETURN a

Hardware Attributes

Hardware attributes are properties of nodes and they are used to define hardware assets.

Class Attribute
Hardware Type Attributes
Attributes of Hardware Type Attributes

Hardware

Product

class, owner, product, technopedia_id, title, type

Model

owner, product, title, type,
url, technopedia_id, model, class

Return hardware products.
MATCH (n:ASSET {class: 'Hardware', type: 'Product'}) RETURN n

Return hardware models that contain '636' in the model name.
MATCH (n:ASSET {class: 'Hardware', type: 'Model'}) WHERE n.model CONTAINS '636' RETURN n

CPU Attributes

CPU attributes are properties of nodes and they are used to define hardware assets.

Class Attribute
CPU Type Attribute
Attributes of CPU Type Attribute

CPU

Model

class, owner, clock_rate, title, type, isa_bit_mode, url, num_threads, technopedia_id, cores,

Return data for CPUs that have a clock rate of 2400.
MATCH (n:ASSET {class: 'CPU', type: 'Model', clock_rate: 2400}) RETURN n LIMIT 2

Owner Node Attributes

Owner node attributes are properties of nodes and they are used to define Owner data.

Owner Type Attribute
Attributes of Manufacturer Type Attribute

Manufacturer

city, country, email, owner, fiscal_end_date, legal, technopedia_id,
website, revenue, state, tier, legal, type, website,

Return manufacturer data where the owner name contains 'Micros'.
MATCH (n:OWNER) WHERE n.owner CONTAINS 'Micros' RETURN n

TQL Queries

Use TQL (Technopedia Query Language) to query the Technopedia database.
To use the MATCH statements in the following examples, you add the MATCH statement to the following /tql endpoint and make a GET request from an API client or use cURL.

https://data.technopedia.com/tql?q=<MATCH Statement>

TQL Queries
TQL Match Statements

Return assets from Technopedia

MATCH (alias:ASSET) RETURN alias

Return owner data from Technopedia

MATCH(alias:OWNER) RETURN alias

Return any 15 software assets.

MATCH (alias:ASSET {class: 'Software'}) RETURN alias LIMIT 15

Return any 10 software versions.

MATCH (alias:ASSET {class: 'Software', type: 'Version'}) RETURN alias LIMIT 10

Return software editions named 'Small Business'.

MATCH (s:ASSET {type: 'Edition'}) WHERE s.edition = 'Small Business' RETURN s
or
MATCH (s:ASSET {type: 'Edition', edition: 'Small Business'}) RETURN s

Return Oracle products that have Database in their product name.

MATCH (n:ASSET {class: 'Software', type: 'Product', owner: 'Oracle', product: 'Database'}) RETURN n limit 10

Return distinct editions of the product 'Photoshop'.

MATCH (n:ASSET {class: 'Software', type: 'Release', product: 'Photoshop'}) RETURN DISTINCT n.edition, n.product limit 10

Return data for the Technopedia ID: 30873b4a-09a6-45bd-9990-ee3d0bf2eddb

https://data.technopedia.com/technopedia-id/30873b4a-09a6-45bd-9990-ee3d0bf2eddb

Get data for software where the version order equals '6'.

MATCH (n:ASSET {type: 'Version'}) WHERE n.version_order = '6' RETURN n LIMIT 25

Return release and product data for assets that contain '23' in the release name.

MATCH (u:ASSET) WHERE u.release CONTAINS '23' RETURN u.release, u.product LIMIT 5

Return product data for the owner: Galitt.

MATCH (n:OWNER {type:'Manufacturer', owner: 'Galitt'})-[:OWNS]->(x:ASSET) RETURN x LIMIT 1

Return data for software where family contains 'Infrastructure Suite' in the name.

MATCH (R:ASSET {class: 'Software' , type: 'Family'}) WHERE R.family CONTAINS 'Infrastructure Suite' RETURN R LIMIT 5

Return data for software that has 'Workstation' in the component name.

MATCH (x:ASSET {type: 'Component'}) WHERE x.component CONTAINS 'Workstation' RETURN x LIMIT 5

Return software editions where the software edition_order is equal to '2'.

MATCH (a:ASSET {class: 'Software' , type: 'Edition'}) WHERE a.edition_order = 2 RETURN a

Return software release data where the edition order is equal to one.

MATCH (a:ASSET {type: 'Release'}) WHERE a.edition_order = 1 RETURN a LIMIT 10

Return software versions in ascending order.

MATCH (n:ASSET {type: 'Version'}) RETURN n.version ORDER BY n.version ASC LIMIT 10

TQL Clauses

Clauses
Query Examples

MATCH

MATCH (n:ASSET {class: 'Software'}] RETURN n LIMIT 1

RETURN

MATCH (n:ASSET {class: 'Software'}] RETURN n LIMIT 1

WHERE

MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product = 'Office' RETURN n LIMIT 1

AND

MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product = 'Office' AND n.family = "HealthMatics" RETURN n LIMIT 5

OR

MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product = 'Office' OR n.family = "HealthMatics" RETURN n LIMIT 5

LIMIT

MATCH (n:ASSET) RETURN n LIMIT 25

CONTAINS

MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product CONTAINS "Microsoft" RETURN n LIMIT 10

DISTINCT

MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product CONTAINS 'Exchange Server' RETURN DISTINCT n

COUNT

MATCH (n:ASSET {type: 'Version'}) RETURN COUNT (*)

AS

MATCH (n:ASSET {type: 'Edition'}) RETURN n.edition AS MY_EDITIONS

ORDER BY

MATCH (n:ASSET {type: 'Version'}) RETURN n.version ORDER BY n.version ASC LIMIT 10

MATCH (n:ASSET {type: 'Version'}) RETURN n.version ORDER BY n.version DESC LIMIT 10

MATCH (a:OWNER) return a.owner, a.symbol ORDER BY a.owner, a.symbol limit 20

SKIP

MATCH (n:ASSET {class: 'Software', type: 'Product'}) RETURN n SKIP 10 LIMIT 20

IS NULL

MATCH (a:ASSET) WHERE a.cores IS NULL RETURN a.cores LIMIT 1

IS NOT NULL

MATCH (a:ASSET) WHERE a.cores IS NOT NULL RETURN a.cores LIMIT 1

TQL Operators

Operators
Query Examples

=

MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product = 'VIVANT' RETURN n LIMIT 10

~

MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product ~= 'VIvanT' RETURN n LIMIT 10
Add a (~) before the equals (=) to make the query case insensitive.

<>

MATCH (n:ASSET {class: 'Software', type: 'Product'}) WHERE n.product <> 'VIVANT' RETURN n LIMIT 10

>

MATCH (eol:ASSET) WHERE eol.support_end_of_life_date > '2017-01-01' RETURN eol LIMIT 2

<

MATCH (eol:ASSET) WHERE eol.support_end_of_life_date < '2017-01-01' RETURN eol LIMIT 2

<=

MATCH (eol:ASSET) WHERE eol.support_end_of_life_date >= '2017-01-01' RETURN eol LIMIT 2

Relationships

Relationships connect nodes and enable you to query related asset data from two or more nodes in Technopedia.

  • OWNS

    Connects Owner and Asset data.
    (OWNER)-[:OWNS]->(:ASSET)
    MATCH (product:ASSET)<-[:OWNS]-(owner:OWNER) Return product, owner

    For the manufacturer 'Electronic Arts', get owner data and products data.
    MATCH (n:OWNER {type:'Manufacturer', owner: 'Electronic Arts'})-[:OWNS]->(x:ASSET) RETURN DISTINCT x, n LIMIT 1

  • CLASSIFIED_AS

    Get the Category 2 classification for an Asset, for example, the asset Excel is classified as a
    Spreadsheet under category two.
    (ASSET)-[:CLASSIFIED_AS]->(:CATEGORY_2)

  • BELONGS_TO

    Connects Category 2 to Category 1, and Category 1 to Category group.
    (ASSET)-[:CLASSIFIED_AS]->(:CATEGORY_2)-(:BELONGS_TO)->(:CATEGORY_1)- (:BELONGS_TO)->(:CATEGORY_GROUP)

    For a product named 'Fan', get asset, owner, category one, and category two data.
    MATCH (c1:CATEGORY_1)<-[:BELONGS_TO]-(c2:CATEGORY_2)<-[:CLASSIFIED_AS]- (a:ASSET)<-[:OWNS]-(o:OWNER) where a.product = 'Fan' RETURN a, c2, c1, o limit 2

  • MEMBER_OF

    Use to retrieve the Vertical classification of an Asset.
    (:ASSET)-[:MEMBER_OF]->(:VERTICAL)

    Return assets with 'Workbench' in their product title and include the CATEGORY_2 classification
    details.
    MATCH (x:ASSET {type: 'Product'})-[:CLASSIFIED_AS]->(c:CATEGORY_2) WHERE x.title CONTAINS 'Workbench' RETURN x, c LIMIT 5

Quick Reference


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.