Namespaces, Concepts, Attributes and Predicates
Intro: Not just a business glossary
Imagine a large organization where different teams use the same term to mean different things—finance uses “customer” in one way, while marketing uses it in another. Blindata’s Business Glossary offers a solution by going beyond simple term definitions. It provides an ontology-driven framework that standardizes these key terms, ensuring all departments are aligned and data is fully integrated. By organizing namespaces, concepts, attributes, and predicates, it creates a structured environment that enhances clarity, data governance, and system interoperability. This guide will walk you through these core components, enabling you to leverage them for more efficient knowledge and data management.
Namespaces
In Blindata, a namespace is a container used to ensure that terms within a specific domain are unique. Think of it as a way to avoid naming conflicts. For example, two different teams might both use the term “Customer,” but by using different namespaces, Blindata ensures that each team’s definition of “Customer” stays distinct.
A namespace is container or context that defines the scope within which the names of concepts, attributes and predicates are unique. It helps to organize and avoid naming conflicts by grouping related elements together.
Uniqueness
A namespace is typically associated with a Uniform Resource Identifier (URI), which in Blindata is called “identifier”, that ensures the uniqueness of terms across different vocabularies or ontologies. For example, two ontologies might both define a term “Person,” but by using different namespaces, you can differentiate between them (e.g., http://example.com/ontology1#Person
vs. http://example.org/ontology2#Person
).
Grouping terms
A namespace often groups a set of related concepts and terms that belong to the same ontology or domain, such as a biological ontology or a geography ontology. This helps maintain organizational structure.
Standardization
Common ontologies use namespaces to provide standard terms across various systems. By using these namespaces, different systems can easily integrate and understand each other’s data.
How to create a Namespace
To create a new Namespace simply follow the steps illustrated in the picture below.
How to export Namespaces in CSV
To export all Namespaces in csv format, simply click on the download icon on the top right corner (see image below).
Note
To import Namespaces using a CSV file, start by downloading the template to use as a guide. After filling in the necessary information, you can upload the completed file through the universal CSV import feature. For more details, refer to the relevant section.
How to import/export a RDF ontology
Note
How Blindata supports the different base Ontologies and their constructs is treated in more detail under the Ontologies section.
To import or export the Turtle file of a namespace’s ontology, go to its detail page. Then click on the button as illustrated in the figure below.
Info
When importing an ontology into a namespace, the namespace identifier must be present inside the file. Given the incipit of the file int the example below, the namespace identifier should be http://example.org/ontology#
;
@prefix ex: <http://example.org/ontology#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
ex:Artifact a rdfs:Class ;
rdfs:subClassOf ex:PhysicalEntity ;
rdfs:label "Artifact" ;
rdfs:comment "Represents man-made objects" .
ex:Location a rdfs:Class ;
rdfs:subClassOf ex:PhysicalEntity ;
rdfs:label "Location" ;
rdfs:comment "Represents physical places" .
Concepts
A concept serves as a foundational element in both business glossaries and ontologies, acting as a key term that represents an idea, entity, or process central to a specific domain.
In the context of a business glossary, a concept defines important business terms with precision and consistency, providing a shared understanding across departments. For example, a business concept might be “Customer” or “Revenue,” and the glossary ensures that everyone—from marketing to finance—interprets these terms in the same way. This alignment reduces misunderstandings and ensures that business processes are driven by common language and expectations.
In the realm of an ontology, a concept takes on a more structured and formal role. Ontologies are used to model knowledge within a domain, and each concept represents a class that abstracts real-world objects, roles, or ideas. These concepts are connected through hierarchical relationships (like parent-child or part-whole) and attributes (such as properties or characteristics), allowing for complex modeling of the domain. For example, in a healthcare ontology, the concept of “Patient” may be a class with properties such as “has medical history” or “undergoes treatment,” and relationships to other concepts like “Doctor” or “Medication.” This structured approach allows systems to perform reasoning and inference, enhancing machine understanding and data integration.
In both business glossaries and ontologies, a concept—also known as an ontology class—represents a key entity, idea, or process central to a specific domain, defining real-world objects or abstract ideas such as “Customer,” “Product,” or “Location.” Each concept serves as a class with properties (attributes) and relationships that describe its characteristics and connections to other concepts, helping to standardize and organize knowledge, facilitate clearer communication, and ensure consistent interpretation of key terms across systems, stakeholders, and business units.
Concepts allow you to model knowledge, giving meaning and context to data by organizing it in a formal structure. By defining Concepts clearly within Blindata, your organization can ensure consistent terminology across teams, reducing miscommunication. Moreover, by linking Concepts to real-world data, you create a structured framework that enhances both human understanding and machine readability, leading to better data integration and AI-driven insights.
How to create a Concept
To create a concept follow the steps in the picture below.
Note
A Concept and its relations and attributes can also be edited using the Graphical Editor. See the Graphical editor section for more in depth details.
How to define Concept Hierarchies
Inheritance in Blindata allows concepts to inherit properties, attributes, and relationships from more general, parent concepts. This hierarchical structure helps model relationships where specific concepts share characteristics with broader ones.
For example, a general concept like “Vehicle” might have attributes such as “hasWheels” or “requiresFuel.” A more specific concept like “Car” would inherit these attributes from “Vehicle,” while adding its own details, such as “hasAirbags” or “numberOfDoors.”
Using inheritance in Blindata reduces redundancy and ensures consistency across your business glossary. Changes made to a parent concept automatically apply to all related child concepts, making your system more scalable and easier to manage. This structure helps you organize concepts logically and efficiently.
Inheritance relations can be easily defined as follows.
How to export Concepts in CSV
To export Concepts in csv format, simply click on the download icon on the top right corner (see image below).
Note
To import Concepts using a CSV file, start by downloading the template to use as a guide. After filling in the necessary information, you can upload the completed file through the universal CSV import feature. For more details, refer to the relevant section.
How to export Concept’s Relations in CSV
To export Concept’s Relations in csv format, simply click on the download icon on the top right corner of the Attributes section (see image below).
Attributes
An attribute is a property or characteristic that describes a specific aspect of a concept. Attributes help to define the features of a concept, providing additional details or qualities that refine its meaning. For example, a concept like “Customer” might have attributes such as “Customer ID,” “Name,” or “Date of Birth” to represent specific information about each instance of the concept.
Attributes play a critical role in giving depth to your data by making concepts more descriptive and meaningful.
These attributes can either be created directly within a concept or externally as independent entities that are then linked to a concept through a relationship.
-
Attributes within a Concept: When an attribute is defined inside a concept, it becomes an intrinsic part of that concept, directly describing a key property or characteristic. For example, if the concept is “Customer,” attributes like “Customer Name” or “Customer ID” could be created within that concept to describe specific details about the customer.
-
Attributes Created Externally: Alternatively, attributes can be created as standalone entities outside of the concept and linked to it using relationships. This approach is particularly useful when multiple concepts share common attributes. For example, an attribute such as “Address” might be a separate entity that can be linked to various concepts like “Customer,” “Supplier,” or “Office” through relationships such as “hasAddress.” This enables reuse of the same attribute across different concepts without redundancy, enhancing flexibility and scalability.
How create an Attribute within a Concept
To create an attribute within a concept follow the steps in the picture below.
How link an Attribute (or a Concept) to a Concept
To add a relation between a concept and an existing attribute or concept follow the steps in the picture below.
How to create an Attribute without an owning Concept
To define an attribute (standalone or concept-related) follow as illustrated below.
How to export Attributes in CSV
To export Attributes in csv format, simply click on the download icon on the top right corner (see image below).
Note
To import Attributes using a CSV file, start by downloading the template to use as a guide. After filling in the necessary information, you can upload the completed file through the universal CSV import feature. For more details, refer to the relevant section.
Predicates
In an ontology, relationships between objects are structured in a subject-predicate-object format. This means that one object (the subject) is connected to another (the object) through a specific relationship (the predicate). Blindata supports this by allowing you to register and document notable predicates, ensuring that relationships between objects are clearly defined and consistently applied across your data models.
What is a predicate?
A predicate is the bridge that connects concepts, attributes, or other predicates, defining how they relate to each other. For instance, the predicate “hasInvoice” can be used to link the concept “Order” to the attribute “Invoice”.
A predicate connects a subject (typically a concept or a predicate) to an object (another concept, attribute or predicate), helping to define how different entities are related or how a concept is characterized. Predicates provide a reusable, consistent way to define these relationships across various concepts within a namespace.
For instance, a predicate like “hasName” might be used to link multiple concepts (e.g., “Person,” “Organization,” “Product”) to their respective “name” attributes. This makes the predicate highly reusable, as it carries the same meaning and function, regardless of the specific concept it is applied to. Similarly, a predicate such as “isPartOf” could describe hierarchical or part-whole relationships between different concepts, such as “Department” and “Organization” or “Wheel” and “Car.”
It is also possible to define a predicate of a predicate. This allows for hierarchical relationships between predicates, where one predicate inherits the meaning or characteristics of another, more general predicate. For example:
- Predicate A (general): “owns” — This predicate could be used to describe ownership in a general sense.
- Predicate B (specific): “ownsCar” — This is a more specific predicate that describes the ownership of a car but is a sub-property of the more general “owns” predicate.
By defining ownsCar as subPropertyOf “owns,” means that if someone “ownsCar,” they also satisfy the condition of “owns” but in a more specific way.
How to create a Predicate
It is possible to register a new Predicate from an existing Relation by simply clicking on it (picture below).
In alternative you can define a new Predicate from the Predicates section of the Business Glossary module.
How to export Predicates in CSV
To export Predicates in csv format, simply click on the download icon on the top right corner (see image below).
Note
To import Predicates using a CSV file, start by downloading the template to use as a guide. After filling in the necessary information, you can upload the completed file through the universal CSV import feature. For more details, refer to the relevant section.
Use of a Predicate in a relationship: Subject-Predicate-Object Structure
In Blindata, relationships between terms are structured using the subject-predicate-object model. This structure forms the basis for linking concepts, creating meaningful connections between them. When connecting a concept to another concept or an existing attribute, a relationship is formed, effectively creating a statement between terms.
There are three types of relationships in Blindata:
-
Inheritance:
These relationships define how one concept derives or inherits properties from another. For instance, anEmployee
might inherit properties from a more genericPerson
concept. In semantic terms, this could be represented using the predicaterdf:subclassOf
, indicating that one concept is a subclass of another. Example:rdf:subclassOf
-
Schema Property:
These types of relationships are particularly useful for describing how entities are connected within a business context or data schema. For example, consider the relationship between anOrder
and anInvoice
. In this case, the subject is theOrder
, the predicate would behasInvoice
, and the object is theInvoice
. This specific relationship articulates that every order can be associated with a corresponding invoice, forming a meaningful connection within the business model. -
Statement:
These are more general-purpose relationships that can apply to a broad range of terms, often indicating equivalence, association, or other forms of linkage. For example, one might link two concepts likeCustomer
andClient
to express that they represent the same idea within different contexts, using a predicate such asowl:sameAs
.
These relationships help define how concepts and attributes interconnect within the glossary and ensure accurate representation of knowledge across different use cases. Predicates can be created and used in relationships without needing to be registered in the predicates registry. This flexibility allows you to define and connect concepts quickly without strict limitations on pre-defined terms.