cognee/examples/python/ontology_input_example/basic_ontology.owl
hajdul88 6fcfb3c398
feat: productionizing ontology solution [COG-1401] (#623)
<!-- .github/pull_request_template.md -->

## Description
This PR contains the ontology feature integrated into cognify

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced ontology management with the introduction of the
`OntologyResolver` class for improved data handling and querying.
- Expanded ontology framework now provides enriched coverage of
technology and automotive domains, including new entities and
relationships.
- Updated entity models now include a validation flag to support
improved data integrity.
- Added support for specifying an ontology file path in relevant
functions to enhance flexibility.

- **Refactor**
- Streamlined integration of ontology processing across data extraction
and workflow routines.

- **Chores**
- Updated project dependencies to include `owlready2` for advanced
ontology functionality.
  
- **Tests**
- Introduced a new test suite for the `OntologyResolver` class to
validate its functionality under various conditions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-03-12 14:31:19 +01:00

290 lines
17 KiB
Text

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:ns1="http://example.org/ontology#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
<rdf:Description rdf:about="http://example.org/ontology#Volkswagen">
<rdfs:comment>Created for making cars accessible to everyone.</rdfs:comment>
<ns1:produces rdf:resource="http://example.org/ontology#VW_Golf"/>
<ns1:produces rdf:resource="http://example.org/ontology#VW_ID4"/>
<ns1:produces rdf:resource="http://example.org/ontology#VW_Touareg"/>
<rdf:type rdf:resource="http://example.org/ontology#CarManufacturer"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Azure">
<rdf:type rdf:resource="http://example.org/ontology#CloudServiceProvider"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Porsche">
<ns1:produces rdf:resource="http://example.org/ontology#Porsche_Cayenne"/>
<ns1:produces rdf:resource="http://example.org/ontology#Porsche_Taycan"/>
<ns1:produces rdf:resource="http://example.org/ontology#Porsche_911"/>
<rdf:type rdf:resource="http://example.org/ontology#CarManufacturer"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
<rdfs:comment>Famous for high-performance sports cars.</rdfs:comment>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Meta">
<rdf:type rdf:resource="http://example.org/ontology#TechnologyCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
<ns1:develops rdf:resource="http://example.org/ontology#Instagram"/>
<ns1:develops rdf:resource="http://example.org/ontology#Facebook"/>
<ns1:develops rdf:resource="http://example.org/ontology#Oculus"/>
<ns1:develops rdf:resource="http://example.org/ontology#WhatsApp"/>
<rdfs:comment>Pioneering social media and virtual reality technology.</rdfs:comment>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#TechnologyCompany">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Apple">
<rdf:type rdf:resource="http://example.org/ontology#TechnologyCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
<rdfs:comment>Known for its innovative consumer electronics and software.</rdfs:comment>
<ns1:develops rdf:resource="http://example.org/ontology#iPad"/>
<ns1:develops rdf:resource="http://example.org/ontology#iPhone"/>
<ns1:develops rdf:resource="http://example.org/ontology#AppleWatch"/>
<ns1:develops rdf:resource="http://example.org/ontology#MacBook"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Audi">
<ns1:produces rdf:resource="http://example.org/ontology#Audi_eTron"/>
<ns1:produces rdf:resource="http://example.org/ontology#Audi_R8"/>
<ns1:produces rdf:resource="http://example.org/ontology#Audi_A8"/>
<rdf:type rdf:resource="http://example.org/ontology#CarManufacturer"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
<rdfs:comment>Known for its modern designs and technology.</rdfs:comment>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#AmazonEcho">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Porsche_Taycan">
<rdf:type rdf:resource="http://example.org/ontology#ElectricCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#BMW">
<ns1:produces rdf:resource="http://example.org/ontology#BMW_7Series"/>
<ns1:produces rdf:resource="http://example.org/ontology#BMW_M4"/>
<ns1:produces rdf:resource="http://example.org/ontology#BMW_iX"/>
<rdf:type rdf:resource="http://example.org/ontology#CarManufacturer"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
<rdfs:comment>Focused on performance and driving pleasure.</rdfs:comment>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#VW_Touareg">
<rdf:type rdf:resource="http://example.org/ontology#SUV"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#SportsCar">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
<rdfs:subClassOf rdf:resource="http://example.org/ontology#Car"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#ElectricCar">
<rdfs:subClassOf rdf:resource="http://example.org/ontology#Car"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Google">
<ns1:develops rdf:resource="http://example.org/ontology#GooglePixel"/>
<ns1:develops rdf:resource="http://example.org/ontology#GoogleCloud"/>
<ns1:develops rdf:resource="http://example.org/ontology#Android"/>
<ns1:develops rdf:resource="http://example.org/ontology#GoogleSearch"/>
<rdf:type rdf:resource="http://example.org/ontology#TechnologyCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
<rdfs:comment>Started as a search engine and expanded into cloud computing and AI.</rdfs:comment>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#AmazonPrime">
<rdf:type rdf:resource="http://example.org/ontology#SoftwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Car">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#WindowsOS">
<rdf:type rdf:resource="http://example.org/ontology#SoftwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Android">
<rdf:type rdf:resource="http://example.org/ontology#SoftwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Oculus">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#GoogleCloud">
<rdf:type rdf:resource="http://example.org/ontology#CloudServiceProvider"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Microsoft">
<ns1:develops rdf:resource="http://example.org/ontology#Surface"/>
<ns1:develops rdf:resource="http://example.org/ontology#WindowsOS"/>
<ns1:develops rdf:resource="http://example.org/ontology#Azure"/>
<ns1:develops rdf:resource="http://example.org/ontology#Xbox"/>
<rdf:type rdf:resource="http://example.org/ontology#TechnologyCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
<rdfs:comment>Dominant in software, cloud computing, and gaming.</rdfs:comment>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#GoogleSearch">
<rdf:type rdf:resource="http://example.org/ontology#SoftwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Mercedes_SClass">
<rdf:type rdf:resource="http://example.org/ontology#LuxuryCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Audi_A8">
<rdf:type rdf:resource="http://example.org/ontology#LuxuryCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Sedan">
<rdfs:subClassOf rdf:resource="http://example.org/ontology#Car"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#VW_Golf">
<rdf:type rdf:resource="http://example.org/ontology#Sedan"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Facebook">
<rdf:type rdf:resource="http://example.org/ontology#SoftwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#WhatsApp">
<rdf:type rdf:resource="http://example.org/ontology#SoftwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#produces">
<rdfs:domain rdf:resource="http://example.org/ontology#CarManufacturer"/>
<rdfs:range rdf:resource="http://example.org/ontology#Car"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#BMW_7Series">
<rdf:type rdf:resource="http://example.org/ontology#LuxuryCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#BMW_M4">
<rdf:type rdf:resource="http://example.org/ontology#SportsCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Audi_eTron">
<rdf:type rdf:resource="http://example.org/ontology#ElectricCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Kindle">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#BMW_iX">
<rdf:type rdf:resource="http://example.org/ontology#ElectricCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#SoftwareCompany">
<rdfs:subClassOf rdf:resource="http://example.org/ontology#TechnologyCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Audi_R8">
<rdf:type rdf:resource="http://example.org/ontology#SportsCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Xbox">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Technology">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Mercedes_EQS">
<rdf:type rdf:resource="http://example.org/ontology#ElectricCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Porsche_911">
<rdf:type rdf:resource="http://example.org/ontology#SportsCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#HardwareCompany">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
<rdfs:subClassOf rdf:resource="http://example.org/ontology#TechnologyCompany"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#MercedesBenz">
<ns1:produces rdf:resource="http://example.org/ontology#Mercedes_SClass"/>
<ns1:produces rdf:resource="http://example.org/ontology#Mercedes_EQS"/>
<ns1:produces rdf:resource="http://example.org/ontology#Mercedes_AMG_GT"/>
<rdfs:comment>Synonymous with luxury and quality.</rdfs:comment>
<rdf:type rdf:resource="http://example.org/ontology#CarManufacturer"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Amazon">
<rdf:type rdf:resource="http://example.org/ontology#TechnologyCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
<ns1:develops rdf:resource="http://example.org/ontology#Kindle"/>
<ns1:develops rdf:resource="http://example.org/ontology#AmazonEcho"/>
<ns1:develops rdf:resource="http://example.org/ontology#AWS"/>
<ns1:develops rdf:resource="http://example.org/ontology#AmazonPrime"/>
<rdfs:comment>From e-commerce to cloud computing giant with AWS.</rdfs:comment>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Instagram">
<rdf:type rdf:resource="http://example.org/ontology#SoftwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#AWS">
<rdf:type rdf:resource="http://example.org/ontology#CloudServiceProvider"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#SUV">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
<rdfs:subClassOf rdf:resource="http://example.org/ontology#Car"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#VW_ID4">
<rdf:type rdf:resource="http://example.org/ontology#ElectricCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#CloudServiceProvider">
<rdfs:subClassOf rdf:resource="http://example.org/ontology#TechnologyCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Surface">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#iPad">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#iPhone">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Mercedes_AMG_GT">
<rdf:type rdf:resource="http://example.org/ontology#SportsCar"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#MacBook">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#develops">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
<rdfs:range rdf:resource="http://example.org/ontology#Technology"/>
<rdfs:domain rdf:resource="http://example.org/ontology#TechnologyCompany"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#LuxuryCar">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
<rdfs:subClassOf rdf:resource="http://example.org/ontology#Car"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#AppleWatch">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Porsche_Cayenne">
<rdf:type rdf:resource="http://example.org/ontology#SUV"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#GooglePixel">
<rdf:type rdf:resource="http://example.org/ontology#HardwareCompany"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#Company">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/ontology#CarManufacturer">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
<rdfs:subClassOf rdf:resource="http://example.org/ontology#Company"/>
</rdf:Description>
</rdf:RDF>