Protected
Readonly
graphThe underlying data graph to enable the methods of this Term
Protected
Readonly
IRIThe compact IRI of this Term
Returns the description (rdfs:comment
) of this Term. It is possible to pass a language tag as parameter to get the description in that language, as long as the vocabulary provides that language. The english ("en"
) language is understood as default.
the wished language for the description (default = "en"
)
The description of this Term
Returns all descriptions (rdfs:comment
) of this Term as an Object. Each description (value) has a language tag (key) associated with it. Language tags are unique for each term (e.g. there is at most one description for any given language)
The descriptions of this Term
const tigerClass = mySdoAdapter.getClass("ex:Tiger");
tigerClass.getDescriptions();
// returns the descriptions of this class in all available languages:
{
"en": "The tiger (Panthera tigris) is the largest species among the Felidae and classified in the genus Panthera.",
"zh": "虎(学名:Panthera tigris),俗称老虎、大虫,被人称为百獸之王,是現存体型最大的两种猫科动物之一(另一种是狮)"
}
Retrieves the IRI of this Term in compact (e.g. schema:Friday
) or in absolute form (e.g. https://schema.org/Friday
). By default, the absolute form is returned
states the format of the returned IRI, either "Compact" for the compact form, e.g. schema:Friday
, or "Absolute" for the absolute form, e.g. https://schema.org/Friday
The IRI of this Term
Returns the name (rdfs:label
) of this Term. It is possible to pass a language tag as parameter to get the name in that language, as long as the vocabulary provides that language. The english ("en"
) language is understood as default.
the wished language for the name (default = "en"
)
The name of this Term
Returns all names (rdfs:label
) of this Term as an Object. Each name (value) has a language tag (key) associated with it. Language tags are unique for each term (e.g. there is at most one name for any given language).
The names (with language tag) of this Term
This method was introduced mainly to return of source(s) for a term, as defined in the vocabulary itself with dcterms:source
or schema:source
. The later has been used to link to related github issues for the schema.org vocabulary.
The source IRI given by dcterms:source
or schema:source
of this Term
Retrieves the sub-DataTypes of this DataType
Optional
paramObj: ParamObjIRIListInferencean optional parameter object that filters and formats the result, and defines the inference behaviour: The "implicit"-parameter defaults to true and returns also implicit sub-DataTypes inherited recursively from sub-DataTypes
The sub-DataTypes of this DataType
Retrieves the super-DataTypes of this DataType
Optional
paramObj: ParamObjIRIListInferencean optional parameter object that filters and formats the result, and defines the inference behaviour: The "implicit"-parameter defaults to true and returns also implicit super-DataTypes inherited recursively from super-DataTypes
The super-DataTypes of this DataType
Retrieves the compact IRI for the type of this Term:
Class ->
"rdfs:Class"
Property ->"rdf:Property"
Enumeration ->"schema:Enumeration"
EnumerationMember ->"soa:EnumerationMember"
DataType ->"schema:DataType"
The term-type-IRI of this Term
Retrieves the label (string) for the type of this Term:
Class ->
"Class"
Property ->"Property"
Enumeration ->"Enumeration"
EnumerationMember ->"EnumerationMember"
DataType ->"DataType"
The term-type-label of this Term
This method was introduced mainly to return the vocabulary extension URL of schema.org to which the term belongs. The extension URL is defined in the vocabulary through the schema:isPartOf
property. If no such property is given, then the namespace URL for this term is returned.
The vocabulary URL of this term (extension or namespace)
const personClass = mySdoAdapter.getClass("schema:Person");
personClass.getVocabulary();
// returns the vocabulary url for the person class, which is the core vocabulary of schema.org
"https://schema.org"
const patientClass = mySdoAdapter.getClass("schema:Patient");
patientClass.getVocabulary();
// returns the vocabulary url for the patient class, which is the health extension of schema.org
"https://health-lifesci.schema.org"
Returns the URL of all vocabularies in which this term has been defined. Works only if the corresponding vocabulary was added through a URL, and not as a JSON-LD object.
The original vocabulary source urls of this Term
// the parameter `schemaVersion: "12.0"` tells the SDO-Adapter instance to initialize with the schema.org vocabulary version 12.0
const mySdoAdapter = await SOA.create({schemaVersion: "12.0"});
const personClass = mySdoAdapter.getClass("schema:Person");
personClass.getVocabURLs();
// returns the source vocabulary url for this class - notice that this url points to version 12.0 of schema.org
["https://raw.githubusercontent.com/semantifyit/schemaorg/main/data/releases/12.0/schemaorg-all-https.jsonld"]
Retrieves the properties that have this DataType as a range
Optional
paramObj: ParamObjIRIListInferencean optional parameter object that filters and formats the result, and defines the inference behaviour: The "implicit"-parameter defaults to true and returns also implicit properties (where a super-datatype of this class is a range)
The properties that have this DataType as a range
Returns the IRI of the Term superseding this Term (defined with schema:supersededBy
), if any. By default, the IRI is returned in compact form
states the format of the returned IRI, either "Compact" for the compact form, e.g. schema:softwareRequirements
, or "Absolute" for the absolute form, e.g. https://schema.org/softwareRequirements
The Term superseding this Term, if any
const requirementsProperty = mySdoAdapter.getProperty("schema:requirements");
requirementsProperty.isSupersededBy();
// returns IRI for the term that supersedes the property schema:requirements in compact form
"schema:softwareRequirements"
requirementsProperty.isSupersededBy("Absolute");
// returns IRI for the term that supersedes the property schema:requirements in absolute form
"https://schema.org/softwareRequirements"
Returns true, if this DataType is a valid range of the given Property. The implicit parameter (default: true) allows to cover recursive relationships (e.g. domain properties of super-datatypes are also taken into account)
The identification string of the Property in question, can be an IRI (absolute or compact) or a label
If true, consider also implicit domain properties (where a super-datatype of this class is a range)
if this DataType is a valid range of the given Property
Returns true, if this DataType is a valid sub-datatype of the given super-datatype. The implicit parameter (default: true) allows to cover recursive relationships (e.g. super-datatypes of super-datatypes are also taken into account)
The identification string of the super-datatype in question, can be an IRI (absolute or compact) or a label
If true, consider also recursive super-datatypes
if this DataType is a valid sub-datatype of the given super-datatype
Returns true, if this DataType is a valid super-datatype of the given sub-datatype. The implicit parameter (default: true) allows to cover recursive relationships (e.g. sub-datatypes of sub-datatypes are also taken into account)
The identification string of the sub-datatype in question, can be an IRI (absolute or compact) or a label
If true, consider also recursive sub-datatypes
if this DataType is a valid super-datatype of the given sub-datatype
Generates a JSON representation of this DataType (as JavaScript Object)
Optional
paramObj: ParamObjIRIListInferencean optional parameter object that filters and formats the result, and defines the inference behaviour: The "implicit"-parameter defaults to true and returns also implicit data (e.g. sub-DataTypes, super-DataTypes, etc.)
The JSON representation of this DataType as JavaScript Object
textDt.toJSON();
// returns a JSON representing the data-type "schema:Text"
{
id: 'schema:Text',
IRI: 'https://schema.org/Text',
typeLabel: 'DataType',
typeIRI: 'schema:DataType',
vocabURLs: [
'https://raw.githubusercontent.com/semantifyit/schemaorg/main/data/releases/12.0/schemaorg-all-https.jsonld'
],
vocabulary: 'https://schema.org',
source: null,
supersededBy: null,
name: 'Text',
description: 'Data type: Text.',
superDataTypes: [],
subDataTypes: [
'schema:PronounceableText',
'schema:URL',
'schema:CssSelectorType',
'schema:XPathType'
],
rangeOf: [
'schema:cookingMethod',
'schema:broadcastFrequency',
'schema:mechanismOfAction',
...
]
}
Generates a JSON representation of this DataType (as string)
Check .toJSON() for an example output
Optional
paramObj: ParamObjIRIListInferencean optional parameter object that filters and formats the result, and defines the inference behaviour: The "implicit"-parameter defaults to true and returns also implicit data (e.g. sub-DataTypes, super-DataTypes, etc.)
The JSON representation of this DataType as string
A DataType represents a data-type term. These are a special kind of classes that represents literal values in schema.org. A DataType is identified by its IRI (e.g. schema:Number), where, by convention, the class name itself starts with an uppercase letter. A DataType instance is created with SDOAdapter.getDataType() and offers the methods described below.