While there isn't a widely recognized, standardized ontology specifically designed for software design patterns, the concept of using ontologies to represent and reason about software design patterns is an active area of research.
Here's how ontologies can be applied to software design patterns:
1. Formalizing Pattern Knowledge:
2. Enabling Pattern Discovery and Recommendation:
3. Supporting Automated Reasoning and Code Generation:
4. Facilitating Knowledge Sharing and Collaboration:
Challenges and Considerations:
Potential Benefits:
While there's still much work to be done in this area, the potential benefits of using ontologies for software design patterns are significant. By addressing the challenges and leveraging the opportunities, researchers and practitioners can advance the state of the art in software engineering.
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/089e3b0a-dd6a-4968-8969-1eedb6de7da9%40hypercube.co.uk.
Hi John,
I’ve used your https://jfsowa.com/talks/eswc.pdf reference to generate an article using following workflow, courtesy of our AI Middleware Layer using OpenAI’s GPT-4o language model API:
Summarize https://jfsowa.com/talks/eswc.pdf.
Redo, but incorporating the following:
Improve by adding a section titled “Contemporary View in the Age of LLM-based Natural Language Processors”:
Redo, but in a markdown block.
Improve by incorporating the quotes in the attached image.
This document explores the integration of logic, cognitive science, and computation in knowledge representation (KR) and its applications to the Semantic Web. It provides insights into foundational principles, challenges, and future directions in building intelligent systems that align with human understanding. Additionally, it discusses the transformative impact of modern tools like Large Language Models (LLMs) on traditional KR workflows, particularly in the domains of ontology generation, semantic integration, and data-driven reasoning.
The process of knowledge representation, much like the creative process in mathematics and physics, is deeply visual and conceptual. Sowa’s ideas align with the insights of mathematician Paul Halmos and physicist Albert Einstein:
Paul
Halmos on Mathematics:
Halmos suggests that the act of doing mathematics is not
inherently deductive but rather imaginative. A
mathematician’s work involves “vague guesses,
visualizing broad generalizations, and jumping to
unwarranted conclusions” to gain insight. He
highlights the distinction between the creative and
deductive stages of reasoning, where proving
rigorously is more of a technical task that follows the
initial creative insight.
“The deductive stage, writing the results down, and writing its rigorous proof are relatively trivial once the real insight arrives; it is more the draftsman’s work, not the architect’s.” — Halmos (1968)
Albert
Einstein on Physics:
Einstein emphasizes that thought, especially his, is largely
non-verbal and visual. He describes ideas
as associative images that are “voluntarily
reproduced and combined”, with words coming only
as a secondary process after visualization and mental
modeling.
“The words or the language, as they are written or spoken, do not seem to play any role in my mechanism of thought… The above-mentioned elements are, in my case, of visual and some of muscular type.” — Quoted by Hadamard (1945)
Relevance to
KR:
Both Halmos and Einstein underline the significance of visualization
and conceptualization in the creative process.
Similarly, in KR, the conceptual graph and ontology
modeling stages often mirror this visual, creative
phase, while the deductive reasoning and querying processes
align with the draftsman’s work of formalization. The interplay
of these two stages is crucial for developing effective KR
systems.
What
is Knowledge Representation (KR)?
KR is a method of encoding information so that both humans
and machines can interpret, reason, and use it.
Why
is KR important for the Semantic Web?
KR enables meaningful integration of data across diverse
domains, supporting reasoning and query answering in
distributed environments.
What are the main challenges in KR?
How
do Conceptual Graphs (CGs) relate to KR?
CGs are a visual, logic-based notation inspired by Charles
Sanders Peirce that facilitates reasoning and data
integration.
What
is the relationship between KR and cognitive science?
KR draws on human cognitive processes to design systems that
reason intuitively and interact effectively with users.
How
do RDF, OWL, and SPARQL fit into KR?
These are tools and languages that implement KR principles
for structuring, querying, and reasoning with web data.
How
do LLMs affect ontology generation?
LLMs automate concept extraction, align schemas, and assist
in iterative refinement, reducing manual effort.
What
reasoning methods are emphasized in KR?
Deductive reasoning is primary, but inductive and abductive
reasoning are also important for dealing with uncertainty
and incomplete data.
What
role does scalability play in KR?
Scalable KR systems can manage the vast data of the Semantic
Web while maintaining reasoning capabilities.
What
are the future directions for KR?
Future research emphasizes hybrid reasoning systems,
commonsense knowledge, and dynamic, context-aware
ontologies.
Building a Knowledge Graph:
Creating Conceptual Graphs (CGs):
Integrating Ontologies:
Reasoning with KR:
Leveraging LLMs for KR:
LLMs simplify and accelerate ontology development by:
LLMs redefine semantic integration workflows by:
LLMs affect practical aspects of data integration by:
Impact: LLM-powered KR systems are more adaptive, scalable, and accessible, enabling organizations to operationalize linked data principles effectively.
The integration of LLMs into KR workflows marks a new era for the Semantic Web. By bridging symbolic reasoning, cognitive insights, and computational efficiency, LLMs empower systems to address real-world challenges with greater accuracy and scalability. Much like Halmos and Einstein’s insights into visualization in creative processes, KR systems increasingly leverage visual and conceptual models to align with human reasoning and foster innovation.
-- Regards, Kingsley Idehen Founder & CEO OpenLink Software Home Page: http://www.openlinksw.com Community Support: https://community.openlinksw.com Social Media: LinkedIn: http://www.linkedin.com/in/kidehen Twitter : https://twitter.com/kidehen
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/474aa5eabd694af2babcc65e4a1aeeb5%409ab6ffa6b39b47bea8beb7932a211964.
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/eca54639-d6b0-4f22-821b-e8d9bd190223%40openlinksw.com.
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/eca54639-d6b0-4f22-821b-e8d9bd190223%40openlinksw.com.
Hi John,
Ravi, Igor, and Kingsley,
Since Matthew isn't with us, I'll summarize some of his points which we had discussed over many years in different ways.
He had been working at Shell Oil for years, and he had developed a detailed ontology for the oil industry. He later generalized it to develop a more general top level, which I considered quite good. We had discussed issues about generalizing it even farther, but he was reluctant to go farther in levels of abstraction. We agreed that was a reasonable point of view.
But we also agreed that his details for the oil industry might conflict with details for other industries, such as banking and farming. Furthermore, he recognized that different oil companies had different ways of representing the same terms because they had developed different policies and procedures.
I'll also mention another widely used ontology, which evolved over a period of about 70 years, and it is unlikely to change for a long, long time: the ontology for making reservations for airlines, which was later extended to cover anything related to airlines, such as hotels, car rentals, trains, taxis, etc., etc.
And that ontology began in the 1950s with IBM's project SAGE for the airplanes used in the Strategic Air Command over North America. In the 1960s, IBM adapted that ontology for American Airlines. IBM later sold the software to other airlines. And all the other additions were made to conform to the same basic ontology from the 1950s. 70 years later, that top level is so entrenched that it is never going away.
Another world-wide ontology that also developed in the 1960s includes the global weather patterns that were established by the world-wide weather simulation programs. They use a different way of representing the world than the reservation systems.
Fundamental problem: There will never be a single universal ontology for representing anything and everything in the world (or the universe).
That is a fact that any system of knowledge representation must deal with.
John
I completely agree with your perspective on ontologies and practical reality. Hopefully, the rise of LLMs will simplify these concepts by enabling quicker experimentation with ontologies, ultimately reinforcing this crucial point.
Kingsley
From: "Ravi Sharma" <drravi...@gmail.com>
In the software development and maturity considerations we used to talk of design, development and implementation patterns.Would you then build three different ontologies?I would think only one would be applicable for all three types of patterns.
On Wed, Nov 27, 2024 at 5:42 AM 'Kingsley Idehen' via ontolog-forum <ontolo...@googlegroups.com> wrote:Thanks.Ravi
Hi Igor,
On 11/27/24 8:38 AM, 'Igor Toujilov' via ontolog-forum wrote:
> John,
> I agree that visualisation is important in formal reasoning. But I am
> not sure that it works in all cases. I have seen theoretical
> physicists discussing their problems on YouTube for hours without a
> single diagram.
IMHO:
That doesn’t mean they didn’t use a diagram during the early conceptual
stages, or even have one off-camera. As visual beings, any
well-thought-out process typically begins with some form of conceptual
visualization—unless it’s just copying, memorizing, and regurgitating
someone else’s work. :)
--
Regards,
Kingsley Idehen
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/5f9dce02347b4b8ba18063072c8bc0bc%400d83337365e948f4b40554a103aa2aab.
In the “data modelling world” (which, to me, is not different than the “ontology world”), there are books by David Hay and Len Silverston that are overtly focuses on design patterns:
Hay, D. C. (1996). Data model patterns : conventions of thought. New York, Dorset House Pub.
Hay, D. C. (2006). Data model patterns : a metadata map. Amsterdam ; Boston, Elsevier Morgan Kaufmann.
Silverston, L. (2009). The data model resource book, Vols 1-3. New York, John Wiley.
These books provide a catalog of reusable and adaptable patterns for all kinds of concepts that recur in most data models/ontologies.
Bill Burkett
From: 'Igor Toujilov' via ontolog-forum <ontolo...@googlegroups.com>
Sent: Sunday, December 22, 2024 2:26 PM
To: ontolo...@googlegroups.com
Subject: [External] Re: [ontolog-forum] Re: Design Pattern Ontology
> ---
> You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to a topic in the Google Groups "ontolog-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ontolog-forum/RL97zvkBBMg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/BY3PR06MB8131509F91C90BC40DDEEFF291092%40BY3PR06MB8131.namprd06.prod.outlook.com.
The distinction / difference between data models & ontologies is what...?
Feature |
Hadoop (HDFS + Pig/Hive) |
SQL Databases |
OWL Knowledge Graphs (e.g., AllegroGraph) |
Schema |
Schema on read |
Schema on write |
Schema on write but schema can be modified at run time |
Data Model |
File-based (raw formats) |
Tables (rows/columns) |
RDF triples or quads (subject-predicate-object) |
Storage |
Distributed (HDFS) |
Centralized or sharded |
Triple or quad stores with distributed options and sharding in some triplestores (e.g., AllegroGraph) |
Processing |
Batch (MapReduce) |
Transactional (ACID) |
Semantic reasoning and SPARQL queries. Some triplestores also support ACID transactions. |
Querying |
Pig Latin, HiveQL |
SQL |
SPARQL and Description Logic queries |
Reasoning |
None |
None |
SWRL, SHACL, OWL DL axioms |
Flexibility |
Flexible (unstructured, semi-structured, structured) |
Rigid schema |
Highly flexible with semantic annotations and Linked Data |
Scalability |
Horizontal (many nodes) |
Vertical (more powerful nodes) |
Horizontal or vertical, depending on implementation |
Integration |
Tools for ETL and analytics |
Tight coupling with apps |
Can integrate with ontologies, Linked Data, and other RDF graphs |
Best For |
Batch processing, raw data storage |
Transactional workloads, OLTP |
Semantic data, reasoning, and complex relationships |
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/20241230183212.1883.qmail%40server267.com.
Michael -Most of the methodologies and guidelines I've seen for building ontologies present the ontology as a thing in itself.That is a realistic definition / description I can live with. Fifteen years ago I one-on-one asked Jim Hendler if there were anything in "the SemWeb stack" for operational, legacy systems.... his instant response was an emphatic "No!"
2024 - P15Y = 2009 < 2012 (date of R2RML recommendation)
Best,
--Paul
>> The distinction / difference between data models & ontologies is what...?
My take is that the difference is primarily one of intention. Ontology designers and “conceptual data model” designers are seeking to create representations of the “real world”. Logical/physical data designers are seeking to create specifications for actual data structures for applications to store/access/use data. This is distinction is, of course, very fuzzy and fluid because both sets of designers are usually pursuing both of these intentions simultaneously. If an “ontology” is specified in OWL, it is, of course, is a self-defining “data structure” that is processable by applications designed to use that structure – so, IMHO, there is no objective, practical difference between them. Unless we’re talking about box-and-line diagrams, most ontologies that we talk about here (I think) are just special kinds of data models.
Bill Burkett
From: 'Igor Toujilov' via ontolog-forum <ontolo...@googlegroups.com>
Sent: Monday, December 30, 2024 2:57 PM
To: ontolo...@googlegroups.com
Subject: Re: [External] Re: [ontolog-forum] Re: Design Pattern Ontology
Mike, I would not say "Ontologies are represented in graph structures" only. Ontologies can be represented in a wide range of formalisms, including graphs, which are just one possible representation. For example, there are tools to store the
>> > Facebook https://urldefense.com/v3/__http://www.facebook.com/NZMikePeters__;!!May37g!NGTRSzjHyLlS-ykYkU53eU1kNQzlArS5ME6El7VYjvwPeEmNB34xzWAFen2Jm-sKXW92koszqmJQxvfYfBjmA2R60lJWHDuz$
>> >
>> > Home https://urldefense.com/v3/__http://www.mtchocolate.com__;!!May37g!NGTRSzjHyLlS-ykYkU53eU1kNQzlArS5ME6El7VYjvwPeEmNB34xzWAFen2Jm-sKXW92koszqmJQxvfYfBjmA2R60vP-H-Or$
>> >
>> > Art Studio https://urldefense.com/v3/__http://www.redworks.co.nz__;!!May37g!NGTRSzjHyLlS-ykYkU53eU1kNQzlArS5ME6El7VYjvwPeEmNB34xzWAFen2Jm-sKXW92koszqmJQxvfYfBjmA2R60hzwZO3X$
>> > Software Architecture https://urldefense.com/v3/__http://www.blog.ajabbi.com__;!!May37g!NGTRSzjHyLlS-ykYkU53eU1kNQzlArS5ME6El7VYjvwPeEmNB34xzWAFen2Jm-sKXW92koszqmJQxvfYfBjmA2R60k4dJ-zS$
>> > > ---
>> > > You received this message because you are subscribed to a topic in
>> > > the Google Groups "ontolog-forum" group.
>> > > To unsubscribe from this topic, visit
>> > >
>> > > To unsubscribe from this group and all its topics, send an email to
>> > > ontolog-foru...@googlegroups.com.
>> > > To view this discussion visit
>> > >
>> > https://urldefense.com/v3/__https://groups.google.com/d/msgid/ontolog-forum/BY3PR06MB8131509F91C90BC40DDEEFF291092*40BY3PR06MB8131.namprd06.prod.outlook.com__;JQ!!May37g!NGTRSzjHyLlS-ykYkU53eU1kNQzlArS5ME6El7VYjvwPeEmNB34xzWAFen2Jm-sKXW92koszqmJQxvfYfBjmA2R60jGzK7wF$.
>> >
>> > Virus-free.https://urldefense.com/v3/__http://www.avast.com__;!!May37g!NGTRSzjHyLlS-ykYkU53eU1kNQzlArS5ME6El7VYjvwPeEmNB34xzWAFen2Jm-sKXW92koszqmJQxvfYfBjmA2R60j6V2_jS$
>> >
>> > --
>> > All contributions to this forum are covered by an open-source
>> > license.
>> > For information about the wiki, the license, and how to subscribe or
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups "ontolog-forum" group.
>> > To unsubscribe from this group and stop receiving emails from it,
>> > send an email to ontolog-foru...@googlegroups.com.
>> > To view this discussion visit
>> >
>
> --
> All contributions to this forum are covered by an open-source license.
> For information about the wiki, the license, and how to subscribe or
> ---
> You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
If an “ontology” is specified in OWL
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/CALGFikdhFVkKo3PSM2xoK3G21hVi2Le0dM7UF8-FBZvWzoMrwA%40mail.gmail.com.
Hi Paul and other interested parties,
On 12/30/24 13:33, deddy wrote:
Michael -Most of the methodologies and guidelines I've seen for building ontologies present the ontology as a thing in itself.That is a realistic definition / description I can live with. Fifteen years ago I one-on-one asked Jim Hendler if there were anything in "the SemWeb stack" for operational, legacy systems.... his instant response was an emphatic "No!"2024 - P15Y = 2009 < 2012 (date of R2RML recommendation)
Best,
--Paul
Yes, R2RML is the component of “the SemWeb stack” designed to describe how relations in a DBMS are represented as relations in RDF.
Here’s a post I wrote years ago, complete with live examples, demonstrating how to create an RDF-based Entity Relationship Graph from CSV files located on a local filesystem accessible to a Virtuoso instance:
Virtuoso is a multi-model database management system in one of its guises. Specifically, it can operate on relations represented in the coarse-grained form typical of SQL-based DBMSs or in the finer-grained form facilitated by RDF via its Quad Store functionality.
In my view, Ontology and Data Model are different terms for the same concept—they’re essentially conceptual synonyms. That said, practitioners often view them differently depending on their operational lenses. For example, most ontologists express their worldviews on data modeling using formal graphic or linear notations, while data modelers (often from the RDBMS domain) favor graphical notations such as ERD (Entity-Relationship Diagrams) or UML (Unified Modeling Language) diagrams.
[1] Virtuoso
How-To: Generating Linked Data from CSV Version of Northwind
Database
— A comprehensive guide demonstrating how to map relations in a
CSV
document to RDF and deploy them using Linked Data Principles
(leveraging hyperlinks as super-keys).
[2] Example
Hyperlink Super-Key
— A hyperlink-based super-key resolving to a specific row in a
CSV document (which could also represent any ODBC- or
JDBC-accessible table in an RDBMS).
[3] Visualization
of Entity Relationship Graphs
— A visualization showcasing various aspects of an entity
relationship graph constructed using Linked Data Principles.
-- Happy New Year! Kingsley Idehen Founder & CEO OpenLink Software Home Page: http://www.openlinksw.com
So, what options are there to map RDF to relational data?
I was going to list what little I knew but I'm working with ChatGPT right now, so I asked it. Here's what it said:
Implementing OWL (Web Ontology Language) in a relational database involves translating OWL's semantic capabilities into a relational schema and querying framework.
Several tools and approaches allow you to achieve this:
RDF and SPARQL Layers on Relational Databases
Apache Jena with RDBMS Integration:
Virtuoso Universal Server:
D2RQ:
Ontology Mapping Tools
Ontop:
Karma:
Hybrid Database Systems
GraphDB (by Ontotext):
Oracle RDF Graph:
Custom Implementation Approaches
Mapping OWL Axioms to Relational Rules:
DL-Lite Ontology Mapping:
Scale of the Ontology:
OWL Subset:
Querying Needs:
Reasoning Capabilities:
If you're starting out and want robust OWL support with minimal setup, Ontop is highly recommended. It supports direct integration with relational databases, enables SPARQL querying, and is well-documented.
Would you like a walkthrough on setting up any of these tools, or a comparison of their features?
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to a topic in the Google Groups "ontolog-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ontolog-forum/RL97zvkBBMg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/8f602f70-0bbb-4be8-abcf-39aa74d5f2ecn%40googlegroups.com.
Hi Michael and all,
Together with other colleagues, we’ve used a number of the tools listed for mapping FIBO to relational for large banks successfully, including Ontop and Jena tools, among others. FIBO does include axioms, particularly some cardinality restrictions, that are outside of OWL RL, but most of the semantics can be mapped without any issues. RDFOx supports OWL RL, which is more expressive than OWL QL, and ignores anything outside of the RL profile rather than throwing up on it. Their team has also provided some rules that extended OWL RL for us to test with, including approximations of the axioms in FIBO that are outside of RL, which worked well. Stardog supports all of the semantics encoded in FIBO, and most knowledge graph tools that support SPARQL 1.1 can import it, though they may not support all of the reasoning encoded in the ontologies.
RDFOx and some other knowledge graph engines prefer either Turtle or JSON-LD to RDF/XML, which is the serialization we work in (primarily to see all of the warts in what we are publishing). But FIBO and the other ontology efforts I participate in publish in all three serializations – RDF/XML, Turtle, and JSON-LD, so that we can supply whatever is needed to a given tool/framework. Same is true of the Commons, MVF, LCC, and other ontologies we publish at OMG - in RDF/XML and Turtle, at a minimum. There is also a toolkit available from the EDM Council that we use to support transformations between serializations consistently, that we use for GitHub comparisons as well as for tool support, which we publish as open source at https://github.com/edmcouncil/rdf-toolkit. It’s a fairly complex Swiss army knife, with various options you can use to manage the transformation as needed.
Hope this is useful,
Elisa
From: ontolo...@googlegroups.com <ontolo...@googlegroups.com>
On Behalf Of Michael DeBellis
Sent: Tuesday, December 31, 2024 5:55 PM
To: ontolo...@googlegroups.com
Subject: Re: [External] Re: [ontolog-forum] Re: Design Pattern Ontology
So, what options are there to map RDF to relational data?
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
ontolog-foru...@googlegroups.com.
To view this discussion visit
https://groups.google.com/d/msgid/ontolog-forum/CALGFikcMhKepLPVvfwmavoEv3LjnJVKoj5bifhi1K4ueng76AQ%40mail.gmail.com.
David: "The distinction / difference between data models & ontologies is what...?"
Hi Mike,
So, what options are there to map RDF to relational data?
Mike
Do you mean the reverse—creating SQL RDBMS relations from
RDF-based relations? If so, note that the SPARQL query language
includes a SELECT option for projecting query solutions as tables
from RDF Graphs, which can then be fed into a SQL RDBMS.
Kingsley
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/8f602f70-0bbb-4be8-abcf-39aa74d5f2ecn%40googlegroups.com.
-- Regards, Kingsley Idehen Founder & CEO OpenLink Software Home Page: http://www.openlinksw.com
You received this message because you are subscribed to a topic in the Google Groups "ontolog-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ontolog-forum/RL97zvkBBMg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/fbcb2581-bf4d-486f-8af3-658bd626ee8a%40openlinksw.com.
I was thinking OWL and RDF. Are both possible?
Ontop Supports mappings through R2RML or native Ontop mapping syntax.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/CAE8bvLNrb%3D3ENxvJQe%2BF34B_ASJK4eKRm8%2BJOMnOrkRwkAWFfw%40mail.gmail.com.
Well this has been a very interesting sub-thread. I'll fork here
from before the sub-thread on RDF to RDB etc. considerations.
Is "Ontology" really synonymous with, or even necessarily a kind of, "Data Model"?
I'd say emphatically not. There are kinds of ontology that are a
kind of data model, of course, and much has been said about these
in this sub-thread.
But those are not the only things of which it can be said "This is an ontology".
Any model has an "aboutness"; that is, "Of what is this a model"
For some models, what it is about is data: each element of the
model represents some element of data.
For some models, the aboutness is that of things in the world.
The model language or formalism, and the model aboutness, are
orthogonal: it does not necessarily follow that a model in a given
language must be about a given kind of thing. UML Class models are
designed to represent Object Oriented class constructs (with both
behavioral and structural elements), but some people use them to
represent all sorts of other things (including sometimes, things
in the world). Similarly, an OWL model may represent RDF data and
usually does, since that is what it is intended for.
Suppose someone wants to have a model of real things in the
world. One would call this an "Ontology". However, as soon as
someone says they want an ontology, various people pop up and say
"I can do you an ontology" when what they mean, as evidenced in
this thread, is "I can do you an ontology of the sort that is a
kind of data model".
Maybe that's what the customer needed, maybe it's not. If the
business needs something that formally defines the meanings of
things, for example for management communication, reporting,
common understandings (in place of word-dependent dictionaries or
glossaries) and so on, or if they want something for AI to
process, then the chances are they need an ontology of the sort
that represents real things in the world. All too often they get
given an Ontology-as-data-model because someone thinks that is the
only sort of ontology there is.
There are some questions, the answer to which is not a data model.
Let's consider 2 things:
1. Basic engineering best practice
2. Practical examples of how these kinds of ontology are different.
Good engineering follows a separation of concerns. Artifacts that represent the customer or business view, for example defining what the customer wants or what their world looks like, should always be expressed independently of any assumptions about the design techniques or technologies that will be used in crafting a solution.
For example a business process model represents the activities
that the business carries out, independently of any software
design to automate these.
The reason is that (a) things are represented without presuming
anything about the solution and (b) the solution can then be
validated against that design-independend artifact. That's basic
QA.
Similarly, a data model is a kind of design (typically done at 2
levels: Platform Independent and Platform Specific, both of which
are still designs).
The corresponding design-independent artifact is a kind of
ontology: one in which the real-world meanings of the things of
interest to the business are expressed. In other words, what does
it mean to be this kind of thing?
Traditionally that's been done with words. But words are slippery. Better to use formal logic.
So there are ontologies which are a kind of data model, and there
are ontologies which are a representation of things in the world.
Both are needed, at these different levels in the development
method, and with linkages between them.
A practical example of the difference is the best way to
understand this distinction between these kinds of ontology.
And the difference is best illustrated with an example of where it went wrong.
The difference is between what we call "Truth Makers" and data.
Truth Makers are what it takes for something to be defined as
being a member of a given class of Thing. These are the necessary
and sufficient conditions for a thing in the world to be a member
of that class. Most of these are either physical matters such as
physics and chemistry, or legal and social constructs such as
legal capacities, value and so on (mainly classifiable under
Searle's Ontology of Social Constructs - an ontology which is
definitely not a data model; it's a book). A very few things get
their meaning from data itself, as a kind of thing.
An ontology of things in the world (let's call this a Concept
Ontology) defines things using those truth makers.
An ontology as a kind of data model looks for data surrogates for
those things in the world: what data can you expect to find when
this or that legal capacity, physical quantity value etc. is in
play?
Example: suppose we consider what it means to be a bank. Very
loosely, this is something with certain legal capacities, such as
the capacity to take on funds, the capacity to disburse those
funds and so on.
In one project I was involved with, the class "Bank" was defined
using a data element for "FDIC Insurance", a kind of insurance
that all banks in the US must carry. Then it was noticed that the
DTCC, a clearing house, also carries FDIC Insurance, and so a
different data item was sought instead.
There were two errors, one inside the other.
The first,
proximate error was that they chose the wrong data surrogate. The
error inside
the error (the ultimate error) was that they did not realize they
were making a design decision for
a data surrogate. Therefore, that design decision was not peer
reviewed and was only discovered later (costing time etc. to fix
which is another reason we have separation of concerns).
The model was updated to use the more correct
data surrogate of Banking License. This reliably exists whenever
the legal capacities for something to be a bank exists, and
doesn't when it doesn't.
Of course that would not work in all use cases:
if the requirement was to detect when some entity was acting as a
bank when it should not be, you would look for data about the
entity's behavior instead. Different use cases may give rise to
different data surrogate design decisions.
And that's why, while ontology-as-data-model is an extremely
valuable kind of data model, the same kind of engineeering
integrity should go into their design as into the design of
anything else, including the provision of ontologies of the target
domain subject matter (subject to scope), against which these can
be designed, against which design decisions can be reviewed, and
against which the end result can be tested.
Those are ontologies too. These ideally use formal logic because
words are too slippery to be relied upon. But just because a
concept ontology is framed using formal logic, does not make it a
data model (logic has been around a lot longer than computational
data).
Mike
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/a21486b0-fc0e-49f6-b405-8931eac6c9cf%40openlinksw.com.
Mike,
Two kinds of ontologies is an interesting point. And for me it is crucial that DL ontology can keep data in ABox. What it keeps in TBox is knowledge - logic of this data. To keep in data information about real things we assign them an Object Identifier.
You remind me of Data models. Dionysios C. Tsichritzis, Frederick H. Lochovsky · 1982
Where they overview 3+4 data models. First three are classical: Relational, Network, and Hierarchical. And four after are ER, Binary, Semantic network, and Infological.
I think Semantic network is a kind of ontology (formal of course).
And we began with Feature analysis of generalized DBMS. TR. CODASYL 1971
The overview of 10 systems including COBOL.
Alex
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/40623bb0-aaad-4af1-b4b3-d264185e9899%40hypercube.co.uk.
Hi Mike,
Hi Kingsley
Yes, I do mean importing ontologies into relational databases. I'm not an oncologist, but I can see the great value in using ontologies, schema and taxonomies as read-only references in a working database.
The question is how to reliably and effectively allow users to point at any ontology using a form (e.g., something on OBO Foundry or SnowMed) and import it into the relational database they are logged into.
I was thinking OWL and RDF. Are both possible?
Mike
You can use SPARQL SELECT, as I described against a collection of relations (comprising terms from both the RDF and OWL ontologies/vocabularies) to insert data into relations (colloquially referred to as tables) managed by an RDBMS.
Kingsley
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/CAE8bvLNrb%3D3ENxvJQe%2BF34B_ASJK4eKRm8%2BJOMnOrkRwkAWFfw%40mail.gmail.com.
“Re "No SQL": The person who coined that term, rewrote it as Not Only SQL“ – do you have a reference for that?
I keep trying to explain that NoSQL doesn’t mean it’s immune to SQL injection.
James Davenport
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/CAE8bvLNrb%3D3ENxvJQe%2BF34B_ASJK4eKRm8%2BJOMnOrkRwkAWFfw%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/abbf3d1f-e65c-480c-b00f-0c05eb58f1b2n%40googlegroups.com.
Hi John,
These days its just a simply prompt sent to the likes of Perplexity AI as per:
https://www.perplexity.ai/search/tell-me-about-stonebraker-and-v1M8TpHbTvSHlU6kml0TGg
Or even ChatGPT as per:
https://chatgpt.com/share/677ae3fb-afd0-8011-a37e-333dd8538975
Dump from ChatGPT.
Certainly! Below is the information about Michael Stonebraker and “Not Only SQL” (NoSQL) with relevant entities hyperlinked to their DBpedia IDs or Wikipedia pages where DBpedia links are unavailable.
Who
is he?
Michael
Stonebraker is a Turing
Award-winning computer scientist known for his
foundational contributions to database systems. He played a
key role in developing several pioneering database systems,
including:
Key Contributions:
What
is it?
NoSQL
refers to a family of non-relational databases designed for
scalability, flexibility, and performance in use cases where
traditional RDBMSs fall short. The term “Not Only SQL”
emphasizes that these systems do not exclusively use SQL or
the relational model.
Key Characteristics of NoSQL:
Popular NoSQL Databases:
Critique
of NoSQL:
Michael
Stonebraker has been critical of NoSQL systems,
particularly their lack of standardization, consistency
guarantees, and durability in some implementations.
Support
for Specialized Systems:
While skeptical of NoSQL as a panacea, Stonebraker advocates
for “one size does not fit all” in databases. He believes
the right database architecture depends on the specific
workload:
The “Stonebraker vs. NoSQL” narrative reflects a broader debate in the database world:
Happy New Year!
Kingsley
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/16c39e632f2e4d10886528a8864c008b%40617da33a170f4bdbb20cb4b0f48ff57b.
However, the term gained wider recognition in 2009 when Eric Evans and Johan Oskarsson used it to describe non-relational databases.2
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/fd03c5e1-03ff-42f6-9998-e2310882e747n%40googlegroups.com.
Hi John,
Kingsley,
Thanks for the information. But note that it does not say who originally introduced the term "not only sql". I had been following Stonebraker's work years ago (late 1980s and early 1990s). That's why I was thinking of him..
He was definitely not an advocate of SQL, which he called "Intergalactic Dataspeak". I was also very opposed to the SQL notation, which is far worse than the INGRES notation designed by Stonebraker and his colleagues. I say this even though I was working at IBM at the time.
In any case, the data you found is quite good, but it does not answer the question of who invented the term "Not Only SQL", Since Stonebraker did design a relational DB, he wasn't opposed to relations when they are useful. But he also designed PostgreSQL, which supports relations and other kinds of DBs. See, for example, https://thenewstack.io/dr-michael-stonebraker-a-short-history-of-database-systems/ .
Since PostgreSQL supports relational as well as other systems, it can be said to be a kind of "Not Only SQL". I also searched for the phrase "Not Only SQL" and got many hits, but they were fairly recent. I couldn't find who was the first to introduce that term.
That implies that Stonebraker supported the idea of "Not Only SQL", but it does not mean that he himself actually said "Not Only SQL".
Can you use any of those systems to determine who first said or wrote "Not Only SQL"?
John
Courtesy of Perplexity AI:
The phrase “Not Only SQL” as an interpretation of NoSQL was not coined by a single individual, but rather emerged as a reinterpretation of the term within the database community. However, we can trace the evolution of this interpretation:
The term “NoSQL” was originally coined by Carlo Strozzi in 1998 for his open-source relational database that did not use SQL[1][3].
In 2009, Johan Oskarsson reintroduced the term “NoSQL” to describe non-relational, distributed databases[1].
The interpretation of NoSQL as “Not Only SQL” gained popularity as the NoSQL movement evolved. This interpretation became widespread in the database community, but there’s no specific attribution to a single person for this reinterpretation[2][3].
The “Not Only SQL” interpretation emerged as a way to emphasize that NoSQL databases were not meant to completely replace SQL databases, but rather to complement them and provide additional options for data storage and retrieval[5].
Citations:
[1] https://en.wikipedia.org/wiki/Nosql
[2] https://hardware.slashdot.org/story/24/05/12/035214/father-of-sql-says-yes-to-nosql
[3] https://martinfowler.com/bliki/NosqlDefinition.html
[4] https://www.dataversity.net/a-brief-history-of-non-relational-databases/
[5] https://dba.stackexchange.com/questions/287383/if-nosql-stands-for-not-only-sql-is-sql-a-subset-of-nosql
[6] https://www.linkedin.com/posts/nithya-krishnan-a760187_sql-co-creator-embraces-nosql-activity-7196131390600413185-nxd3
Prof. Stonebraker made the “Not Only SQL” phrase mainstream, primarily. Personally, NoSQL is just a moniker for repudiating conflation of SQL and Relational Data Management.
Kingsley
--
All contributions to this forum are covered by an open-source license.
For information about the wiki, the license, and how to subscribe or
unsubscribe to the forum, see http://ontologforum.org/info
---
You received this message because you are subscribed to the Google Groups "ontolog-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/2a3dbdb63c5d4c36a7047986c86a89a9%40b4b83c73dd664e008934cf214c209bf1.
Apache Hadoop: Hadoop doesn't have native support for RDF/OWL but works with Neo4j through plugins like Hadoop Connector for Neo4j. This integration allows large-scale batch processing and graph data export/import between Hadoop's HDFS and Neo4j.
Apache Spark: Spark has GraphFrames and GraphX libraries for graph processing, which can be used with Neo4j.
Tools like Neo4j Connector for Apache Spark enable seamless data exchange and graph analysis on Spark.
Apache Flink: Flink does not have built-in RDF/OWL support but works with Neo4j via tools like Flink-Graph or custom connectors. This integration allows stream processing of graph data stored in Neo4j.
Apache Airflow: Airflow workflows can orchestrate Neo4j graph queries and updates, especially through Python-based hooks and operators available in packages like Airflow-Provider-Neo4j.
You received this message because you are subscribed to a topic in the Google Groups "ontolog-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ontolog-forum/RL97zvkBBMg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ontolog-foru...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/7076b9b4-1f4e-48e5-b0b4-26601010ded5%40openlinksw.com.
Hi Michael,
IMO, a much more interesting question than word etymology is why did people invent NoSQL and how is it being used today?
Today, SPARQL can be viewed as an enhanced evolution of what QUEL
sought to achieve—at least, in my opinion. I’ve successfully used
it to provide rich context across virtualized data spaces
(encompassing databases, knowledge bases or graphs, and document
collections) to support retrieval-augmented generation workflows.
These workflows help minimize the ill-effects of hallucinations
when using LLMs to integrate conversational interactions into data
access and querying processes.
Is there a bigger role that semantic technology could be playing in the space of corporate OLAP systems? The more I read about things like Data Lakes, Data Lakehouses, Data Catalogs, Data Mesh, and Data Fabric two things seem clear to me:
1) Technologies like OWL and SHACL could be playing a much bigger role in this space than they currently do and based on the things that authors of these books value: (semantics, modeling metadata, flexibility of schema definition) OWL/SHACL should be playing more of a role.2) All these technologies are at what people sometimes call an "inflection point" due to LLMs. I.e., architectures that people take for granted as state of the art no longer are due to LLMs and this is an opportunity for someone to create a new infrastructure for OLAP of large organizational data. For example, I just read a book about Enterprise Data Catalogs. The author had a whole section of the book (not one chapter but several chapters) devoted to search and as I read those sections I started skimming over them because I kept realizing that they were now essentially out of date. I messaged the author on LinkedIn and asked him what I thought was a rather provocative question: "Loved your Data Catalog book but isn't all the search stuff kind of obsolete due to LLMs?" He answered with a resounding "yes!" (as well as a plug for his new book that is going to address this question of how to best exploit LLMs with data catalogs).
Actually, one third thing: when the question of a graph database comes up in this context it is almost always referring to Neo4j. E.g., many of the most commonly used tools for Big Data (Hadoop, Spark, Flink, Airflow) have native support for Neo4J graphs or already have connectors defined for them but not OWL/RDF. Here is some specific info via ChatGPT:
Apache Hadoop: Hadoop doesn't have native support for RDF/OWL but works with Neo4j through plugins like Hadoop Connector for Neo4j. This integration allows large-scale batch processing and graph data export/import between Hadoop's HDFS and Neo4j.
Apache Spark: Spark has GraphFrames and GraphX libraries for graph processing, which can be used with Neo4j.
Tools like Neo4j Connector for Apache Spark enable seamless data exchange and graph analysis on Spark.
Apache Flink: Flink does not have built-in RDF/OWL support but works with Neo4j via tools like Flink-Graph or custom connectors. This integration allows stream processing of graph data stored in Neo4j.
Apache Airflow: Airflow workflows can orchestrate Neo4j graph queries and updates, especially through Python-based hooks and operators available in packages like Airflow-Provider-Neo4j.
Except for Airflow, it seems to me that semantic models have as much to offer in the OLAP space as property graphs due to the reasoners in OWL and SHACL. The reason I think Airflow is a special case is it represents workflows as Directed Acyclic Graphs (DAGs) and the property graph model where you have explicit representations of links rather than have them be implicit as values of binary relations or a reified class is a better fit for this.
The entire data management landscape is a mess—primarily because the endgame always results in yet another silo, built from coarse-grained N-Tuple relations rather than finer-grained 3-Tuple relations.
Solution, IMHO?
Leverage the "Semantic Web Stack" with a focus on data
de-silo-fication without getting into the buzzword bingo game re
RDF, OWL, SHACL etc..
Hyperlinks as powerful super-keys is a magical solution, courtesy
Linked Data Principles [1].
Links:
[1] https://www.linkedin.com/pulse/addressing-dbms-innovation-stagnation-hyperlinks-super-idehen-3fdae/ -- Addressing DBMS Innovation Stagnation with Hyperlinks as Super Keys
[2]
https://medium.com/virtuoso-blog/conceptual-data-virtualization-for-sql-and-rdf-using-open-standards-24520925c7ce
-- Conceptual Data Virtualization
Kingsley
To view this discussion visit https://groups.google.com/d/msgid/ontolog-forum/CALGFikcPxjX28AYuvRS0vCgPjitvbkbpo2iqY4PB-A8E_kF-Eg%40mail.gmail.com.