@prefix : <http://example.org/#>.

# beetle is a car
:beetle a :Car.

# all cars are green or blue
{
    ?A a :Car.
} => ($ {
    ?A :is :green.
} {
    ?A :is :blue.
} $).

# green things are nice or pretty
{
    ?A :is :green.
} => ($ {
    ?A :is :nice.
} {
    ?A :is :pretty.
} $).

# pretty things are pretty 1 or pretty 2
{
    ?A :is :pretty.
} => ($ {
    ?A :is :pretty1.
} {
    ?A :is :pretty2.
} $).

# nice things are nice 1 or nice 2
{
    ?A :is :nice.
} => ($ {
    ?A :is :nice1.
} {
    ?A :is :nice2.
} $).

# pretty 1 things are pretty 11 or pretty 12
{
    ?A :is :pretty1.
} => ($ {
    ?A :is :pretty11.
} {
    ?A :is :pretty12.
} $).

# pretty 2 things are pretty 21 or pretty 22
{
    ?A :is :pretty2.
} => ($ {
    ?A :is :pretty21.
} {
    ?A :is :pretty22.
} $).

# nice 1 things are nice 11 or nice 12
{
    ?A :is :nice1.
} => ($ {
    ?A :is :nice11.
} {
    ?A :is :nice12.
} $).

# nice 2 things are nice 21 or nice 22
{
    ?A :is :nice2.
} => ($ {
    ?A :is :nice21.
} {
    ?A :is :nice22.
} $).

# pretty or nice or blue things are beautiful
{
    ?A :is :pretty11.
} => {
    ?A :is :beautiful.
}.

{
    ?A :is :pretty12.
} => {
    ?A :is :beautiful.
}.

{
    ?A :is :pretty21.
} => {
    ?A :is :beautiful.
}.

{
    ?A :is :pretty22.
} => {
    ?A :is :beautiful.
}.

{
    ?A :is :nice11.
} => {
    ?A :is :beautiful.
}.

{
    ?A :is :nice12.
} => {
    ?A :is :beautiful.
}.

{
    ?A :is :nice21.
} => {
    ?A :is :beautiful.
}.

{
    ?A :is :nice22.
} => {
    ?A :is :beautiful.
}.

{
    ?A :is :blue.
} => {
    ?A :is :beautiful.
}.

# query
{
    ?S :is ?O.
} =^ {
    ?S :is ?O.
}.
