Say we have the definitions:
Product hasPrice exactly 1 xsd:decimal
Product hasPrice max 1 xsd:decimal
With the open world assumption, we can define a product without specifying the price, like:
A a Product;
rdfs:label "Apple"@en .
My understanding is:
With exactly 1
definition, we are saying this product's price is unknown.
With max 1
definition, we are saying a product can have no price.
Am I right?
I got myself confused when defining
Service has some gr:UnitPriceSpecification
Service has exactly 1 Provider
ComputeService has max 1 TransactionsUnitPriceSpecification
Need to get my head around all the possible situations.
Open world semantics trips up many people. You are certainly not alone :D
Here is a quick overview of the meaning:
Product hasPrice min 1 xsd:decimal
states that Product
has at least 1 price. However, this allows for Product
having multiple prices.
Product hasPrice max 1 xsd:decimal
states that Product
has at most 1 price. However, this allows for Product
having no prices at all.
Product hasPrice exactly 1 xsd:decimal
states that Product
has at least 1 price and at most 1 price.
I have written about this in more detail on my blog.