TaxisBase Terminology
Objects
In TaxisBase everything can be linked to an object from one or more entities. Entities created from entity types are linked to an object with the alias of the object. This way we can capture the multi-faceted nature of many topics e.g. (Claudio Arrau - person, pianist, film actor).
name attribute
- The
nameattribute is present in all objects. Based on thenameattribute we can classify the object in broad categories such asPerson,Organizationor specific types that are notable for the object e.g.pianist,city- person: p.claudio_arrau
- pianist: pianist.claudio_arrau
- object: obj.claudio_arrau
- name: claudio_arrau
alias attribute
- The
aliasattribute is also used to access quickly the information with a user friendly, easy to memorize label.
key attribute
- TaxisBase users visually identify entities by
- type
- namespace
- name
- key
- title
- subtitle
- descriptive information
Every entity, except identifiers and values, has a key, which is a string. A key in TaxisBase is a unique handle to access easily a specific record and also name related records to an object. The key is composed of a namespace and a name. For example sandbox.chris_evans in the case we have multiple entities with the same name, the key must be disambiguated. This is done automatically by adding an extension .d<num> (see the example).
This naming mechanism allows you to refer to entity types, entity objects and attributes by specifying keywords. It is the same idea with Datomic idents, entity identifiers. Idents associate a programmatic name (a keyword) with an entity internal database-unique id, by setting a value for the :db/ident attribute (see also datascript tutorial - entity identity).
- Based on the
nameof an entity object e.g.claudio_arrauwe create other synthetic names for- alias::
sandbox.obj.claudio_arrau
object::sandbox.obj.claudio_arrau
person::sandbox.p.claudio_arrau
pianist::sandbox.pianist.claudio_arrau
descriptions::descr.en.claudio_arrau,descr.es.claudio_arrau,descr.el.claudio_arrau
- alias::
- This way we can create easily references and access information of any entity/object block
Disambiguation
- In the case we want to disambiguate multiple entities in the same namespace with the same key, add extension
.d<num> - The
subtitleis used to disambiguate entities, for person we can also use thefull_name
| namespace | wikidata | name | key | title | subtitle | full_name |
|---|---|---|---|---|---|---|
| sandbox | Q178348 | chris_evans | sandbox.chris_evans | Chris Evans | American actor | Christopher Robert Evans |
| sandbox | Q51990270 | chris_evans | sandbox.chris_evans.d2 | Chris Evans | researcher | Christopher David Huw Evans |
| sandbox | Q2964710 | chris_evans | sandbox.chris_evans.d3 | Chris Evans | English television and radio presenter | Christopher James Evans |
| sandbox | Q303577 | chris_evans | sandbox.chris_evans.d4 | Chris Evans | Welsh politician and MP (born 1977) | Christopher Evans |
| sandbox | Q466583 | chris_evans | sandbox.chris_evans.d5 | Chris Evans | Australian politician | Christopher Vaughan Evans |
| sandbox | Q17490263 | chris_evans | sandbox.chris_evans.d6 | Chris Evans | American basketball player | Christopher Evans |
| sandbox | Q5106513 | chris_evans | sandbox.chris_evans.d7 | Chris Evans | Welsh footballer (born 1962) | Christopher Brian Evans |
namespace
- Just as attributes can be grouped into types, instances of types themselves are grouped into namespaces. Each namespace is given a unique name e.g. (people, user, music, film, …)
- Each type is also given a unique name that looks like a path (people.person, people.gender) and it has as prefix the namespace in which it belongs.
content Format
- The
wikipagesattribute is reserved for any wikipedia web page or other wiki resource, ** - The
wikidataattribute is reserved for any wikidata web page - Use
official_websitefor websites that are officially recognised and maintained by the the organization, company, or individual to which it belongs. Official webpages are typically considered the most reliable and accurate source of information about the organization or individual they represent. - Use
webpageweb page resources with html content for reading from normal users except the purpose here is to access the content based on the location of the container - Use
urifor web page resources that their sole purpose is to identify any concept, entity, etc… for example URI resources that are used in a well-defined ontology likewikidata,dbpedia, etc… the important part here is the identifier, (number, string) that is part of the URI the purpose is to identify a particular resource - Use
json,nt,rdf,txt,ttl,jsonldfor a web page resource with content that has the corresponding format
Examples
- uri:: Q160223
- json:: [Q160223.json](https://www.wikidata.org/wiki/Special:EntityData/Q160223.json
- wikipage:: [en/Claudio_Arrau](https://www.wikiwand.com/en/Claudio_Arrau
- official_website:: healis.eu
- webpage:: What is GraphQL
templates
- Use
templaterto access a user-defined template - Try to find and use templates in the
basedomain to make your data interoperable - Templates represent types, i.e. a collection of entities that share common attributes
Examples
- type::
- label::
- description::
- summary::
- aka::
- language::
This is the template we use to describe an object. In many cases we have two kinds of templates, full templates to describe something with all attributes that we managed to collect and the normal template with a limited set of attributes that the user selects to create a new entity.
Attributes
In TaxisBase attributes are entities themselves. They are described by unique keys composed of a namespace and a name.
Attributes are grouped into types and types themselves are grouped into namespaces (e.g. domain namespace)
Types and attributes are uniquely described by keys. These keys are arranged in a file directory-like hierarchy
Attributes are multi-value by default.
These are the most common attributes that we meet in several TaxisBase types
- abbreviation
- abstract
- summary
- aka
- alias
- authority
- code
- comment
- definition
- description
- example
- image
- label
- language
- maintainer
- name
- notes
- object
- title
- isa
- webpage
- vocabulary
- video
Then an entity type is a collection of attributes, for example to generate a namespace we can use any of the following attributes that can be defined in a template.
- key
- name
- label
- ns
- isa
- description
- abbreviation
- usage
When these attributes take values then we have an instance of an entity type. In TaxisBase instances of an entity type are called entities.
Everything in TaxisBase is an entity. We use entities to represent types, namespaces, people, cities, etc…
Type
A type is a conceptual container of related attributes commonly needed to describe a certain aspect of an entity.
An entity can be assigned one or more types.
As attributes are grouped into types, types are usually grouped into domains. Domains, types and attributes are given unique human readable IDs (keys) in a namespace.name hierarchy.
Enumerated types
- An enumerated entity type represents a fixed set of values that an attribute can take. Enumerations are typically used when there is a limited and well-defined set of possible values
- Enumerated types have three namespaces:
- the
enumeratednamespace that includes all enumerated entity types - the
datatypenamespace because all enumerated types are datatypes. - and some other namespace name that is a collection of entity types
- the
Metadata
-
Types of metadata
- Descriptive metadata describes the object or data and gives the basic facts: who created it (i.e. authorship), title, keywords, and abstract.
- Structural metadata describes the structure of an object including its components and how they are related. It also describes the format, process, and inter-relatedness of objects. It can be used to facilitate navigation, or define the format or sequence of complex objects.
- Administrative metadata includes information about the management of the object and may include information about: preservation and rights management, creation date, copyright permissions, required software, provenance (history), and file integrity checks.
Dublin Core Metadata Initiative
| Property | Description |
|---|---|
| creator | any person, organization, or group that is primarily responsible for the creation of the content |
| contributor | any person, organization, or group that contributed to the creation of the content but was not primarily responsible for it |
| coverage | spatial and/or temporal coverage of the data |
| creation_date | creation date |
| publication_date | publication date |
| description | general description of the original source |
| language | language of the original source |
| publisher | publisher, person, or organization that made the source publicly available |
| rights | description of or link to license information for the original source |
| source | hyperlink or other reference to the source of the data as a whole |
| title | title of the original source |
Subject Terms: according to the Dublin Core Metadata Initiative (DCMI), refer to a set of keywords or phrases used to describe the primary topic or theme of a digital resource. Subject Terms provide a way to categorize and classify resources based on their content, allowing users to more easily discover and access relevant information. These terms help in organizing and facilitating efficient searching, browsing, and retrieval of digital content within collections, databases, or information systems.
Domain vs Namespace
- Namespace is the general mechanism for organizing and uniquely identifying entities, types, and keys in the graph. A namespace simply provides a scope for names/identifiers. Many things can be namespaces:
- Domain is a special kind of namespace used to organize the ontology (schema) around a specific subject area. A domain is a namespace that has a particular semantic role: organizing schema elements (types, properties, etc.) for a subject area.
Key distinction
| Namespace | Domain |
|---|---|
| Organizes identifiers | Organizes knowledge |
| Primarily structural | Primarily semantic |
| Can contain IDs, keys, types, properties, or other namespaces | Contains types and properties related to a topic |
Examples: /m, /en, /user | Examples: /music, /film, /people |
Relationship
Namespace
├── Identifier namespaces
│ ├── /m
│ ├── /en
│ └── /guid
│
└── Domain namespaces
├── /music
├── /film
├── /people
└── /location
Every domain is a namespace, but not every namespace is a domain.
For example:
/enis a namespace for English-language keys, but it is not a domain./musicis both a namespace and a domain, because it defines music-related schema elements such as/music/artistand/music/album.
In short, a namespace answers “How is this named?” while a domain answers “What area of knowledge does this belong to?”.
Role
- Generally speaking individuals can play multiple roles based on the position they have in a given society, social structure, company, project and the activity they participate
-
Terms and examples
- term:: position
description:: social role with a set of powers and responsibilities within an organization (every position is also a role)
examples:: minister, secretary, reporter, cardinal, New York City Schools Chancellor, Mayor of Trujillo, Duke of Estonia, prosecutor, Bishop of Ramsbury, lead guitarist, music director, chief cook, military safety officer, vice president
uri:: https://www.wikidata.org/wiki/Q4164871
instances:: 125269
property_label:: position_held
property_uri:: https://www.wikidata.org/wiki/Property:P39 - term:: role
description:: set of behaviours, rights, obligations, beliefs, and norms expected from an individual that has a certain social status
examples:: runner, lover, defendant, user, political prisoner, novice, citizen, respondent, speaker, developer, observer, entertainer, sponsor, inventor, hermit, virtuoso, oracle, warlord, pedestrian, cinematographer, hacker, troll, consumer, whistleblower, gangster, student, trainee, trainer, ambassador, expert, disciple, master, amateur, collector, seller, curator, teacher, organizer, director, chief, officer, president, reviewer,
uri:: https://www.wikidata.org/wiki/Q214339
- term:: social position
description:: position of an individual in a given society and culture
uri:: https://www.wikidata.org/wiki/Q1807498 - term:: social status
description:: position within social structure
examples:: husband, father, wife, mother, child, plebeian, patrician, ephebos, billionaire, magnate, millionaire, emigrant, hierodule, retired, noble, authority, refugee, shogun, celebrity, samurai, beggar
uri:: https://www.wikidata.org/wiki/Q189970
Occupation/Profession
- occupation and profession are also applied to individuals based on a permanent or long-time activity they participate in
-
Terms and examples
- term:: occupation
description:: label applied to a person based on an activity they participate in
examples:: secretary, politician, minister, barber, clarinetist, farmer, singer, librarian, nurse, dentist, actor, writer, composer, teacher, physician, architect, driver, fisher, worker, boxer, sailor, pianist, thief, musician, waiter
uri:: https://www.wikidata.org/wiki/Q12737077
instances:: 4267
property_label:: occupation
property_uri:: https://www.wikidata.org/wiki/Property:P106 - term:: profession
description:: occupation requiring specialized training
examples:: flight computer scientist, engineer, software engineer, software architect, electrical engineer, marine engineer, military engineer
uri:: https://www.wikidata.org/wiki/Q28640
instance:: 8592
property_label:: field_of_work
property_uri:: https://www.wikidata.org/wiki/Property:P101
Activity
- description:: series of actions done by an agent which results in an external change of state
uri:: https://www.wikidata.org/wiki/Q1914636
examples:: desktop publishing, medical diagnosis, camping, image editing, safari, reading, writing, whale watching, film watching, film distribution, driving, selling, typing, knife sharpening
Second-order class
- description:: metaclass whose instances are classes of individuals
uri:: https://www.wikidata.org/wiki/Q24017414
examples:: type of wood, classification in sports, payment method, aircraft class, aircraft model, aircraft type, computer form factor, classification of human settlements (locality)
What is a Taxonomy?
A taxonomy is a set of concepts organized into a hierarchical structure covering a topical domain. You could think of it as a structured vocabulary. Taxonomies are used to organize and label information, data, or objects in a way that makes them easier to find, analyze, and use.
The structure we use in TaxisBase is
- Domain
- Specialty
- Field
- Topics
- Field
- Specialty
Examples:
-
Domain: Information Technology
- Specialty: Software Engineering
- Field: API (Application Programming Interface)
- Topic: Facebook Graph API
- Field: API (Application Programming Interface)
- Specialty: Software Engineering
-
Domain: linguistics
- Specialty: lexicography
- Field: terminology
- Topic: taxonomy
- Field: terminology
- Specialty: lexicography
