CockroachDB as a NewSql Tool

Introduction to NewSql

NewSQL is a class of relational database management systems that seek to provide the scalability of NoSQL systems for online transaction processing (OLTP) workloads while maintaining the ACID guarantees of a traditional database system. The notion has appeared in the nearly 2010 in order to combine the best of SQL management systems and the best of NoSQL systems. NoSQL solutions are good for storing data in a flat way whereas SQL systems are good for organizing data with a structure (relational databases).

Moreover, since handling high-profile data (e.g., financial and order processing systems) is no more possible for conventional relational databases on a single server based architecture, we need to spread data on multiple nodes. Maintaining ACID properties is quite more challenging in a distributed context. However, NewSQL systems meet the chalenges of recovery and concurrency control. In short, NewSQL tools allow building a software architecture for projects that is much simpler than in considering to combine multiple tools (databases, warehouses, SQL management systems, NoSQL management systems...). An example of complex big data architecture is given on Figure 1. Such architecture involves state-of-the-art components as we use them in 2021. The figure is from Sboing (See also: T. Toliopoulos, N. Nikolaidis, A. Michailidou, A. Seitaridis, A. Gounaris, N. Bassiliades, A. Georgiadis, F. Liotopoulos, Developing a real-time traffic reporting and forecasting back-end system, in: Research Challenges in Information Science - 14th International Conference, RCIS 2020, Limassol, Cyprus, September 23-25, 2020, Proceedings, 2020, pp. 58-75).

The technologies presented in Figure 1 are:

The data life cycle, for Figure 1, is as follows. Mobiles and tablets, and the MQTT cluster of brokers that collect the data from these devices, forward the data to get ingested by the Flink cluster. The Flink cluster forwards the processed results to the Kafka cluster and the Redis machine for temporary storage. Afterwards the results get ingested from Kafka to the data warehouse cluster. When an analytics query is submitted by a user (see the right part of Figure 1), the Spark cluster takes action by gathering data from the necessary storage (warehouse and/or Redis) and returns the query result. External conditions, such as weather, can be directly reported from external APIs and stored in a separate module, here a HBASE system.

Figure 1: A complex big data architecture

Indeed, to serve their global customer base, organizations are moving to replace their legacy database management systems (DBMSs) with cloud-based DBMSs capable of scaling online transaction processing (OLTP) workloads to millions of users, hence the need for new architectural organizations of software components around cloud organizational stuff.

In this lesson, we explore only the features of NewSQL tools in their ability to manage simultaneously structured data, e.g., tables as with relational databases and un-semi-structured data as with NoSQL tools such as MongoDB and Redis.

CockroachDB

CockroachDB is distributed SQL database built for Kubernetes (a cloud technology for container orchestration). Beyong this marketing statement, CockroachDB is a commercial distributed SQL database management system, developed by Cockroach Labs. There exits a free version of the product (April 2021). However, in June 2019, Cockroach Labs announced that CockroachDB would change its license from the free software license Apache License 2.0 to their own proprietary license, known as the Business Source License (BSL), which forbids offering a commercial version of CockroachDB as a service without buying a license, while remaining free for community use.

Many ressources (videos, papers, presentations...) are also available for CockroachDB. The seminal paper is "Rebecca Taft, Irfan Sharif, Andrei Matei, Nathan VanBenschoten, Jordan Lewis, Tobias Grieger, Kai Niemi, Andy Woods, Anne Birzin, Raphael Poss, Paul Bardea, Amruta Ranade, Ben Darnell, Bram Gruneir, Justin Jaffray, Lucy Zhang, Peter Mattis: CockroachDB: The Resilient Geo-Distributed SQL Database. SIGMOD Conference 2020: 1493-1509". CockroachDB is described as a scalable, consistently-replicated, transactional datastore. A single instance can scale from a single laptop to thousands of servers. In this lesson we are only interested by the NewSQL nature of the tool i.e. on how to manage, simultaneously, structured and un-semi-structured data.

Another lecture for the NewSql paradigm is the one entitled Principles of Distributed Database Systems by Tamer Ozsu and Patrick Valduriez. See also the accompanying Web site for slides and figures. The slides related to NoSQL, NewSQL and Polystores are available online. Thanks to authors.

CockroachDB installation

The installation is well documented on this page (click on the correct tab according to your distribution (MacOS, Linux, Windows). If you need some background regarding SQL programming, you can follow this basic CockroachDB tutorial. A more general introduction to SQL is the W3C link. You can also check with the Best SQL Courses recommendations.

Playing with the demo database

We can run and play interactively with CockroachDB as follows:

   $ cockroach demo
   #
   # Welcome to the CockroachDB demo database!
   #
   # You are connected to a temporary, in-memory CockroachDB cluster of 1 node.
   #
   # This demo session will attempt to enable enterprise features
   # by acquiring a temporary license from Cockroach Labs in the background.
   # To disable this behavior, set the environment variable
   # COCKROACH_SKIP_ENABLING_DIAGNOSTIC_REPORTING=true.
   #
   # Beginning initialization of the movr dataset, please wait...
   #
   # The cluster has been preloaded with the "movr" dataset
   # (MovR is a fictional vehicle sharing company).
   #
   # Reminder: your changes to data stored in the demo session will not be saved!
   #
   # Connection parameters:
   #   (console) http://127.0.0.1:41239
   #   (sql)     postgres://root:admin@?host=%2Ftmp%2Fdemo719778705&port=26257
   #   (sql/tcp) postgres://root:admin@127.0.0.1:45365?sslmode=require
   #
   #
   # The user "root" with password "admin" has been created. Use it to access the Web UI!
   #
   # Server version: CockroachDB CCL v20.2.5 (x86_64-unknown-linux-gnu, built 2021/02/16 12:52:58, go1.13.14) (same version as client)
   # Cluster ID: 239b182f-333b-4ff6-bca3-e51566018378
   # Organization: Cockroach Demo
   No entry for terminal type "xterm-256color";
   using dumb terminal settings.
   #
   # Enter \? for a brief introduction.
   #
   root@127.0.0.1:45365/movr>
   root@127.0.0.1:45365/movr> help
   You are using 'cockroach sql', CockroachDB's lightweight SQL client.
   Type:
   \? or "help"      print this help.
   \q, quit, exit    exit the shell (Ctrl+C/Ctrl+D also supported).
   \! CMD            run an external command and print its results on standard output.
   \| CMD            run an external command and run its output as SQL statements.
   \set [NAME]       set a client-side flag or (without argument) print the current settings.
   \unset NAME       unset a flag.
   \show             during a multi-line statement or transaction, show the SQL entered so far.
   \h [NAME]         help on syntax of SQL commands.
   \hf [NAME]        help on SQL built-in functions.
   \l                list all databases in the CockroachDB cluster.
   \dt               show the tables of the current schema in the current database.
   \dT               show the user defined types of the current database.
   \du               list the users for all databases.
   \d [TABLE]        show details about columns in the specified table, or alias for '\dt' if no table is specified.

   Commands specific to the demo shell (EXPERIMENTAL):
   \demo ls                     list the demo nodes and their connection URLs.
   \demo shutdown <nodeid>      stop a demo node.
   \demo restart <nodeid>       restart a stopped demo node.
   \demo decommission <nodeid>  decommission a node.
   \demo recommission <nodeid>  recommission a node.

   More documentation about our SQL dialect and the CLI shell is available online:
   https://www.cockroachlabs.com/docs/v20.2/sql-statements.html
   https://www.cockroachlabs.com/docs/v20.2/use-the-built-in-sql-client.html
   root@127.0.0.1:45365/movr> 
   root@127.0.0.1:45365/movr> \dt
   schema_name   |         table_name         | type  | owner | estimated_row_count
   --------------+----------------------------+-------+-------+----------------------
   public        | promo_codes                | table | root  |                1000
   public        | rides                      | table | root  |                 500
   public        | user_promo_codes           | table | root  |                   0
   public        | users                      | table | root  |                  50
   public        | vehicle_location_histories | table | root  |                1000
   public        | vehicles                   | table | root  |                  15
   (6 rows)

   Time: 400ms total (execution 328ms / network 72ms)

   root@127.0.0.1:45365/movr> \dT
   schema | name | description
   ---------+------+--------------
   (0 rows)
   Time: 240ms total (execution 240ms / network 0ms)

   root@127.0.0.1:45365/movr> 
 

Then we can observe the content of the vehicules table as well as the attributs:

  root@127.0.0.1:45365/movr> select * from vehicles;
  id                  |     city      |    type    |               owner_id               |       creation_time       |  status   |        current_location        |                   ext
  ---------------------------------------+---------------+------------+--------------------------------------+---------------------------+-----------+--------------------------------+------------------------------------------
  aaaaaaaa-aaaa-4800-8000-00000000000a | amsterdam     | scooter    | c28f5c28-f5c2-4000-8000-000000000026 | 2019-01-02 03:04:05+00:00 | in_use    | 62609 Stephanie Route          | {"color": "red"}
  bbbbbbbb-bbbb-4800-8000-00000000000b | amsterdam     | scooter    | bd70a3d7-0a3d-4000-8000-000000000025 | 2019-01-02 03:04:05+00:00 | available | 57637 Mitchell Shoals Suite 59 | {"color": "blue"}
  22222222-2222-4200-8000-000000000002 | boston        | scooter    | 2e147ae1-47ae-4400-8000-000000000009 | 2019-01-02 03:04:05+00:00 | in_use    | 19659 Christina Ville          | {"color": "blue"}
  33333333-3333-4400-8000-000000000003 | boston        | scooter    | 33333333-3333-4400-8000-00000000000a | 2019-01-02 03:04:05+00:00 | in_use    | 47259 Natasha Cliffs           | {"color": "green"}
  99999999-9999-4800-8000-000000000009 | los angeles   | scooter    | 9eb851eb-851e-4800-8000-00000000001f | 2019-01-02 03:04:05+00:00 | in_use    | 43051 Jonathan Fords Suite 36  | {"color": "red"}
  00000000-0000-4000-8000-000000000000 | new york      | skateboard | 051eb851-eb85-4ec0-8000-000000000001 | 2019-01-02 03:04:05+00:00 | in_use    | 64110 Richard Crescent         | {"color": "black"}
  11111111-1111-4100-8000-000000000001 | new york      | scooter    | 147ae147-ae14-4b00-8000-000000000004 | 2019-01-02 03:04:05+00:00 | in_use    | 86667 Edwards Valley           | {"color": "black"}
  cccccccc-cccc-4000-8000-00000000000c | paris         | skateboard | c7ae147a-e147-4000-8000-000000000027 | 2019-01-02 03:04:05+00:00 | in_use    | 19202 Edward Pass              | {"color": "black"}
  dddddddd-dddd-4000-8000-00000000000d | paris         | skateboard | cccccccc-cccc-4000-8000-000000000028 | 2019-01-02 03:04:05+00:00 | available | 2505 Harrison Parkway Apt. 89  | {"color": "red"}
  eeeeeeee-eeee-4000-8000-00000000000e | rome          | bike       | fae147ae-147a-4000-8000-000000000031 | 2019-01-02 03:04:05+00:00 | in_use    | 64935 Matthew Flats Suite 55   | {"brand": "Pinarello", "color": "blue"}
  77777777-7777-4800-8000-000000000007 | san francisco | skateboard | 75c28f5c-28f5-4400-8000-000000000017 | 2019-01-02 03:04:05+00:00 | in_use    | 49164 Anna Mission Apt. 38     | {"color": "black"}
  88888888-8888-4800-8000-000000000008 | san francisco | skateboard | 80000000-0000-4000-8000-000000000019 | 2019-01-02 03:04:05+00:00 | in_use    | 69721 Noah River               | {"color": "blue"}
  55555555-5555-4400-8000-000000000005 | seattle       | scooter    | 6b851eb8-51eb-4400-8000-000000000015 | 2019-01-02 03:04:05+00:00 | available | 91427 Steven Spurs Apt. 49     | {"color": "blue"}
  66666666-6666-4800-8000-000000000006 | seattle       | skateboard | 570a3d70-a3d7-4c00-8000-000000000011 | 2019-01-02 03:04:05+00:00 | lost      | 81472 Morris Run               | {"color": "green"}
  44444444-4444-4400-8000-000000000004 | washington dc | bike       | 4ccccccc-cccc-4c00-8000-00000000000f | 2019-01-02 03:04:05+00:00 | available | 37754 Farmer Extension         | {"brand": "Merida", "color": "yellow"}
  (15 rows)

  Time: 26ms total (execution 24ms / network 2ms)

  root@127.0.0.1:45365/movr>

We notice that the ext column is a dictionary with a variable number of keys. The first line below has only one key. The last line below has two keys:

   root@127.0.0.1:45365/movr> select ext from vehicles;
   ext
   -------------------------------------------
   {"color": "red"}
   {"color": "blue"}
   {"color": "blue"}
   {"color": "green"}
   {"color": "red"}
   {"color": "black"}
   {"color": "black"}
   {"color": "black"}
   {"color": "red"}
   {"brand": "Pinarello", "color": "blue"}
   {"color": "black"}
   {"color": "blue"}
   {"color": "blue"}
   {"color": "green"}
   {"brand": "Merida", "color": "yellow"}
   (15 rows)

   Time: 154ms total (execution 106ms / network 49ms)

   root@127.0.0.1:45365/movr>

You are ready now to explore some elaborated CockroachDB features:

Explore the JSONB type

One of the most interesting feature of CockroachDB is in its ability to mix structured data and un-semi-structured (JSON) data. A non-SQL data type is introduced for that purpose, namely the JSONB data type. Please, feel free to follow the link to learn more about JSONB, in particular how to build, how to access and how to manipulate JSONB objects.

The following example illustrates how to modify one JSONB entry. First we use the formal construct

   UPDATE table
   SET col_name = 'new value'
   WHERE condition;
 

Second, we execute the following commands:

 root@127.0.0.1:45365/movr> select ext from vehicles where id='44444444-4444-4400-8000-000000000004';
 ext
 ------------------------------------------
 {"brand": "Merida", "color": "yellow"}
 (1 row)

 Time: 118ms total (execution 118ms / network 0ms)

 root@127.0.0.1:45365/movr> 
 root@127.0.0.1:45365/movr> UPDATE vehicles
 SET ext = '{"brand": "Bergamont", "color": "black", "value": "0%"}'
 WHERE id='44444444-4444-4400-8000-000000000004';
 UPDATE 1

 Time: 41ms total (execution 41ms / network 0ms)

 root@127.0.0.1:45365/movr> select ext from vehicles where id='44444444-4444-4400-8000-000000000004';
 ext
 -----------------------------------------------------------
 {"brand": "Bergamont", "color": "black", "value": "0%"}
 (1 row)

 Time: 3ms total (execution 2ms / network 0ms)

 root@127.0.0.1:45365/movr>

Ontologies and CockroachDB

In computer and information science, an ontology is the structured set of terms and concepts representing the meaning of a field of information, whether through the metadata of a namespace or the elements of a knowledge domain. The ontology itself is a data model representing concepts in a domain and the relationships between these concepts. The primary purpose of an ontology is to model a body of knowledge in a given domain.

Ontologies generally describe :

The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. We are talking about a Web Language because we can query the definitions of ontologies through POST/GET methods of the HTTP protocol. While the HTTP POST method is used to send data to a server to create or update a resource, the HTTP GET method is used to request data from a specified resource and should have no other effect. The OWL languages are characterized by formal semantics. They are built upon the World Wide Web Consortium's (W3C) XML standard for objects called the Resource Description Framework (RDF).

Among the numerous sources for ontologies, we would like to mention the Protégé source and the W3C source (you can search an ontology through keywords). To become familiar with ontologies languages, please follow this tutorial. The tutorial depicts people + pets. The OWL and RDF descriptions are provided.

In order to capture an ontology inside CockroachDB, we need to translate the RDF/OWL representation into a SQL or JSON representation. If this can be achieved in an automatic way, it is better! on good sample of a tool is the RDF2x framework. See also the RDF2SQL tool which is a Python code with limitations. We also appreciate the online service because you can convert, for instance, from RDF to JSON. We recommend to play with this online service to convert the VCARD ontology into a JSON description.

As a final exemple, you can also use the online service to translate the People+Pets ontology in RDF format into JSON format. You should get the following file and be ready to incorporate it in CockroachDB:

[{"@id":"_:b0","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b2"}]},{"@id":"_:b1","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#reads"}],"http://www.w3.org/2002/07/owl#allValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#tabloid"}]},{"@id":"_:b10","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#eats"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://www.w3.org/2002/07/owl#Thing"}]},{"@id":"_:b100","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#elderly"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b101","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b102"}]},{"@id":"_:b102","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b103"}]},{"@id":"_:b103","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b104"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b104","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#drives"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#van"}]},{"@id":"_:b105","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b106"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b107"}]},{"@id":"_:b106","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet"}],"http://www.w3.org/2002/07/owl#allValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#cat"}]},{"@id":"_:b107","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b108"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b108","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#unionOf":[{"@id":"_:b110"}],"http://www.w3.org/2002/07/owl#disjointWith":[{"@id":"_:b111"}]},{"@id":"_:b11","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#tree"}]},{"@id":"_:b110","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b112"}]},{"@id":"_:b111","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#unionOf":[{"@id":"_:b114"}]},{"@id":"_:b112","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b113"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b113","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"_:b114","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#plant"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b115"}]},{"@id":"_:b115","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b116"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b116","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#plant"}]},{"@id":"_:b117","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet"}],"http://www.w3.org/2002/07/owl#maxCardinality":[{"@value":"1","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"}]},{"@id":"_:b12","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b13"}]},{"@id":"_:b13","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b14"}]},{"@id":"_:b14","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b15"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b15","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#likes"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#cat"}]},{"@id":"_:b16","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b17"}]},{"@id":"_:b17","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b18"}]},{"@id":"_:b18","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b19"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b19","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#cat"}]},{"@id":"_:b2","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#man"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b3"}]},{"@id":"_:b20","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b21"}]},{"@id":"_:b21","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b22"}]},{"@id":"_:b22","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#adult"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b23","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#unionOf":[{"@id":"_:b24"}]},{"@id":"_:b24","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#broadsheet"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b25"}]},{"@id":"_:b25","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#tabloid"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b26","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b27"}]},{"@id":"_:b27","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b28"}]},{"@id":"_:b28","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b29"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b29","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"_:b3","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b5"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b30","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b31"}]},{"@id":"_:b31","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#cow"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b32"}]},{"@id":"_:b32","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b33"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b33","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#eats"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"_:b34"}]},{"@id":"_:b34","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b35"}]},{"@id":"_:b35","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#brain"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b36"}]},{"@id":"_:b36","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b37"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b37","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#sheep"}]},{"@id":"_:b38","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#eats"}],"http://www.w3.org/2002/07/owl#allValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#grass"}]},{"@id":"_:b39","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b64"}]},{"@id":"_:b4","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b44"}]},{"@id":"_:b40","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#eats"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#bone"}]},{"@id":"_:b41","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b42"}]},{"@id":"_:b42","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b43"}]},{"@id":"_:b43","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#young"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b44","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b45"}]},{"@id":"_:b45","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#male"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b46"}]},{"@id":"_:b46","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#adult"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b47","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#is_pet_of"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://www.w3.org/2002/07/owl#Thing"}]},{"@id":"_:b48","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#works_for"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"_:b49"}]},{"@id":"_:b49","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#unionOf":[{"@id":"_:b50"}]},{"@id":"_:b5","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#drives"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"_:b6"}]},{"@id":"_:b50","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#haulage+company"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b51"}]},{"@id":"_:b51","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b52"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b52","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#haulage+company"}]},{"@id":"_:b53","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b54"}]},{"@id":"_:b54","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b55"}]},{"@id":"_:b55","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b56"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b57"}]},{"@id":"_:b56","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#drives"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#truck"}]},{"@id":"_:b57","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b58"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b58","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#works_for"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"_:b59"}]},{"@id":"_:b59","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#haulage+company"}]},{"@id":"_:b6","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b7"}]},{"@id":"_:b60","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b61"}]},{"@id":"_:b61","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b62"}]},{"@id":"_:b62","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b63"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b63","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#drives"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#bus"}]},{"@id":"_:b64","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b65"}]},{"@id":"_:b65","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b66"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b67"}]},{"@id":"_:b66","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#eats"}],"http://www.w3.org/2002/07/owl#allValuesFrom":[{"@id":"_:b68"}]},{"@id":"_:b67","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b69"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b68","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#complementOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"_:b69","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#eats"}],"http://www.w3.org/2002/07/owl#allValuesFrom":[{"@id":"_:b70"}]},{"@id":"_:b7","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#white+thing"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b8"}]},{"@id":"_:b70","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#complementOf":[{"@id":"_:b71"}]},{"@id":"_:b71","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"_:b72","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b73"}]},{"@id":"_:b73","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b74"}]},{"@id":"_:b74","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b75"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b75","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet"}],"http://www.w3.org/2002/07/owl#minCardinality":[{"@value":"3","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"}]},{"@id":"_:b76","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b77"}]},{"@id":"_:b77","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b78"}]},{"@id":"_:b78","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b79"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b79","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#likes"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#dog"}]},{"@id":"_:b8","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#van"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b80","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b81"}]},{"@id":"_:b81","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b82"}]},{"@id":"_:b82","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b83"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b83","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#dog"}]},{"@id":"_:b84","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b85"}]},{"@id":"_:b85","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b86"}]},{"@id":"_:b86","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b87"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b87","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#drives"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#lorry"}]},{"@id":"_:b88","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b89"}]},{"@id":"_:b89","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b90"}]},{"@id":"_:b9","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#eats"}],"http://www.w3.org/2002/07/owl#allValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#leaf"}]},{"@id":"_:b90","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"_:b91"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b91","@type":["http://www.w3.org/2002/07/owl#Restriction"],"http://www.w3.org/2002/07/owl#onProperty":[{"@id":"http://cohse.semanticweb.org/ontologies/people#drives"}],"http://www.w3.org/2002/07/owl#someValuesFrom":[{"@id":"http://cohse.semanticweb.org/ontologies/people#vehicle"}]},{"@id":"_:b92","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b93"}]},{"@id":"_:b93","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b94"}]},{"@id":"_:b94","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#female"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b95"}]},{"@id":"_:b95","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#adult"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"}]},{"@id":"_:b96","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b98"}]},{"@id":"_:b97","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2002/07/owl#intersectionOf":[{"@id":"_:b105"}]},{"@id":"_:b98","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b99"}]},{"@id":"_:b99","http://www.w3.org/1999/02/22-rdf-syntax-ns#first":[{"@id":"http://cohse.semanticweb.org/ontologies/people#female"}],"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest":[{"@id":"_:b100"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people","@type":["http://www.w3.org/2002/07/owl#Ontology"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Daily+Mirror","@type":["http://www.w3.org/2002/07/owl#Thing"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"The paper read by Mick (a white van man). "}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Daily Mirror"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Dewey","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Dewey"}],"@type":["http://cohse.semanticweb.org/ontologies/people#duck"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Fido","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Fido"}],"@type":["http://cohse.semanticweb.org/ontologies/people#dog"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Flossie","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Flossie"}],"@type":["http://cohse.semanticweb.org/ontologies/people#cow"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Fluffy","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Fluffy"}],"@type":["http://cohse.semanticweb.org/ontologies/people#tiger"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Fred","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Fred"}],"@type":["http://cohse.semanticweb.org/ontologies/people#person"],"http://cohse.semanticweb.org/ontologies/people#has_pet":[{"@id":"http://cohse.semanticweb.org/ontologies/people#Tibbs"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Huey","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Huey"}],"@type":["http://cohse.semanticweb.org/ontologies/people#duck"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Joe","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Joe"}],"@type":["http://cohse.semanticweb.org/ontologies/people#person","_:b117"],"http://cohse.semanticweb.org/ontologies/people#has_pet":[{"@id":"http://cohse.semanticweb.org/ontologies/people#Fido"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Kevin","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Kevin"}],"@type":["http://cohse.semanticweb.org/ontologies/people#person"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Louie","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Louie"}],"@type":["http://cohse.semanticweb.org/ontologies/people#duck"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Mick","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"Mick is male and drives a white van. Due to the axiom concerning drivers, we know that Mick must be a man, and is therefore a white van man. The axiom about the reading material of a white van man then allows us to infer things about the Daily Mirror.  "}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Mick"}],"@type":["http://cohse.semanticweb.org/ontologies/people#male"],"http://cohse.semanticweb.org/ontologies/people#drives":[{"@id":"http://cohse.semanticweb.org/ontologies/people#Q123+ABC"}],"http://cohse.semanticweb.org/ontologies/people#reads":[{"@id":"http://cohse.semanticweb.org/ontologies/people#Daily+Mirror"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Minnie","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Minnie"}],"@type":["http://cohse.semanticweb.org/ontologies/people#elderly","http://cohse.semanticweb.org/ontologies/people#female"],"http://cohse.semanticweb.org/ontologies/people#has_pet":[{"@id":"http://cohse.semanticweb.org/ontologies/people#Tom"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Q123+ABC","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"A white van"}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Q123 ABC"}],"@type":["http://cohse.semanticweb.org/ontologies/people#van","http://cohse.semanticweb.org/ontologies/people#white+thing"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Rex","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Rex"}],"@type":["http://cohse.semanticweb.org/ontologies/people#dog"],"http://cohse.semanticweb.org/ontologies/people#is_pet_of":[{"@id":"http://cohse.semanticweb.org/ontologies/people#Mick"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#The+Guardian","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"The Guardian"}],"@type":["http://cohse.semanticweb.org/ontologies/people#broadsheet"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#The+Sun","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"The Sun"}],"@type":["http://cohse.semanticweb.org/ontologies/people#tabloid"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#The+Times","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"The Times"}],"@type":["http://cohse.semanticweb.org/ontologies/people#broadsheet"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#The42","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"The42"}],"@type":["http://cohse.semanticweb.org/ontologies/people#bus"],"http://cohse.semanticweb.org/ontologies/people#service_number":[{"@value":42}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Tibbs","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Tibbs"}],"@type":["http://cohse.semanticweb.org/ontologies/people#cat"]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Tom","@type":["http://www.w3.org/2002/07/owl#Thing"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Tom"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#Walt","http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"Walt"}],"@type":["http://cohse.semanticweb.org/ontologies/people#person"],"http://cohse.semanticweb.org/ontologies/people#has_pet":[{"@id":"http://cohse.semanticweb.org/ontologies/people#Huey"},{"@id":"http://cohse.semanticweb.org/ontologies/people#Dewey"},{"@id":"http://cohse.semanticweb.org/ontologies/people#Louie"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#adult","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"adult"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"Things that are adult."}],"http://www.w3.org/2002/07/owl#disjointWith":[{"@id":"http://cohse.semanticweb.org/ontologies/people#young"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#animal","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"animal"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"_:b10"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#animal+lover","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"animal lover"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"Someone who really likes animals   "}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b72"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#bicycle","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"bicycle"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"A human propelled vehicle, with two wheels   "}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#vehicle"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#bone","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"bone"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#brain","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"brain"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#broadsheet","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"broadsheet"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"A newspaper. Broadsheets are usually considered to be more \"high-brow\" than tabloids."}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#newspaper"}],"http://www.w3.org/2002/07/owl#disjointWith":[{"@id":"http://cohse.semanticweb.org/ontologies/people#tabloid"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#bus","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"bus"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#vehicle"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#bus+company","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"bus company"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#company"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#bus+driver","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"bus driver"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"Someone who drives a bus."}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b60"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#car","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"car"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#vehicle"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#cat","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"cat"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#cat+liker","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"cat liker"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b12"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#cat+owner","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"cat owner"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b16"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#company","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"company"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#cow","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"cow"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"Cows are naturally vegetarians."}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#vegetarian"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#dog","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"dog"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"_:b40"}],"http://www.w3.org/2002/07/owl#disjointWith":[{"@id":"http://cohse.semanticweb.org/ontologies/people#cat"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#dog+liker","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"dog liker"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b76"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#dog+owner","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"dog owner"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b80"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#driver","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"driver"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b88"}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#adult"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#drives","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"drives"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#duck","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"duck"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#eaten_by","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"eaten_by"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#eats","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"eats"}],"http://www.w3.org/2002/07/owl#inverseOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#eaten_by"}],"http://www.w3.org/2000/01/rdf-schema#domain":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#elderly","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"elderly"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#adult"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#female","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"female"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#giraffe","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"giraffe"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"},{"@id":"_:b9"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#grass","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"grass"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#plant"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#grownup","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"grownup"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b20"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#has_child","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"has_child"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#has_father","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"has_father"}],"http://www.w3.org/2000/01/rdf-schema#subPropertyOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_parent"}],"http://www.w3.org/2000/01/rdf-schema#range":[{"@id":"http://cohse.semanticweb.org/ontologies/people#man"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#has_mother","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"has_mother"}],"http://www.w3.org/2000/01/rdf-schema#subPropertyOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_parent"}],"http://www.w3.org/2000/01/rdf-schema#range":[{"@id":"http://cohse.semanticweb.org/ontologies/people#woman"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#has_parent","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"has_parent"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#has_part","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"has_part"}],"http://www.w3.org/2002/07/owl#inverseOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"Anyone that has a pet must like that pet. "}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"has_pet"}],"http://www.w3.org/2000/01/rdf-schema#subPropertyOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#likes"}],"http://www.w3.org/2000/01/rdf-schema#domain":[{"@id":"http://cohse.semanticweb.org/ontologies/people#person"}],"http://www.w3.org/2000/01/rdf-schema#range":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#haulage+company","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"haulage company"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#company"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#haulage+truck+driver","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"haulage truck driver"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b53"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#haulage+worker","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"haulage worker"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b48"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#is_pet_of","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"is_pet_of"}],"http://www.w3.org/2002/07/owl#inverseOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#has_pet"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#kid","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"kid"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b41"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#leaf","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"leaf"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"_:b11"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#likes","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"likes"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#lorry","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"lorry"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#vehicle"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#lorry+driver","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"lorry driver"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b84"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#mad+cow","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"mad cow"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"A mad cow is a cow that has been eating the brains of sheep."}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b30"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#magazine","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"magazine"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#publication"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#male","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"male"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"The class of all male things."}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#man","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"man"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b4"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#newspaper","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"newspaper"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"All newspapers are either broadsheets or tabloids."}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#publication"},{"@id":"_:b23"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#old+lady","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"old lady"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b96"}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"_:b97"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#part_of","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"part_of"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#person","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"person"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#pet","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"pet"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b47"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#pet+owner","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"pet owner"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b26"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#plant","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"plant"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#publication","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"publication"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#quality+broadsheet","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"quality broadsheet"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#broadsheet"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#reads","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"reads"}],"http://www.w3.org/2000/01/rdf-schema#range":[{"@id":"http://cohse.semanticweb.org/ontologies/people#publication"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#red+top","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"red top"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#tabloid"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#service_number","@type":["http://www.w3.org/2002/07/owl#DatatypeProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"service_number"}],"http://www.w3.org/2000/01/rdf-schema#range":[{"@id":"http://www.w3.org/2001/XMLSchema#integer"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#sheep","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"sheep"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"},{"@id":"_:b38"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#tabloid","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"tabloid"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"A newspaper. Tabloids are usually thought of as more \"down-market\" than broadsheets."}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#newspaper"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#tiger","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"tiger"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#animal"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#tree","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"tree"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#plant"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#truck","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"truck"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#vehicle"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#van","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"van"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"http://cohse.semanticweb.org/ontologies/people#vehicle"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#van+driver","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"van driver"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b101"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#vegetarian","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"vegetarian"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"A vegetarian is defined as an animal that eats no other animals, or parts of animals."}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b39"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#vehicle","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"vehicle"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#white+thing","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"white thing"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#white+van+man","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"white van man"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":"A white van man is a man who drives a white van."}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b0"}],"http://www.w3.org/2000/01/rdf-schema#subClassOf":[{"@id":"_:b1"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#woman","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"woman"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2002/07/owl#equivalentClass":[{"@id":"_:b92"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#works_for","@type":["http://www.w3.org/2002/07/owl#ObjectProperty"],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"works_for"}]},{"@id":"http://cohse.semanticweb.org/ontologies/people#young","@type":["http://www.w3.org/2002/07/owl#Class"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@value":"young"}],"http://www.w3.org/2000/01/rdf-schema#comment":[{"@value":""}]},{"@id":"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"},{"@id":"http://www.w3.org/2001/XMLSchema#integer"},{"@id":"http://www.w3.org/2002/07/owl#Class"},{"@id":"http://www.w3.org/2002/07/owl#DatatypeProperty"},{"@id":"http://www.w3.org/2002/07/owl#ObjectProperty"},{"@id":"http://www.w3.org/2002/07/owl#Ontology"},{"@id":"http://www.w3.org/2002/07/owl#Restriction"},{"@id":"http://www.w3.org/2002/07/owl#Thing","@type":["http://www.w3.org/2002/07/owl#Class"]}]  

Copyright: christophe.cerin@univ-paris13.fr - April 1, 2021.