This page contains a not yet complete/refined list of properties a graph can have. The same properties are used as pre and post conditions of operators.
Note: when you read expression, this refer to a property path which can be used to point to a set of object/values or to a portion within the graph. (a bit) more about expressions in the operators' page.
Contents |
| Property name | Validator | Parameters | Satisfied when |
|---|---|---|---|
| Slice existence | HasSlice |
dataset - Dataset slice - Slice | dataset includes slice |
| Statement template existence | HasSatementTemplate |
dataset - Dataset slice - StatementTemplate | dataset includes slice |
| Path existence | HasPath |
dataset - Dataset path - Path | dataset includes path |
| Frame existence | HasFrame |
dataset - Dataset frame - Frame | dataset includes frame |
| Symbol existence | HasSymbol |
dataset - Dataset symbol - IRI | SET ( IRI ) | dataset includes symbol as individual, predicate or object. |
| Predicate existence | HasPredicate |
dataset - Dataset symbol - IRI | SET ( IRI ) | The graph includes the given predicate(s). |
| Chain existence | HasChain |
dataset - Dataset chain - Chain | The graph includes chain |
| Exclusive instances | IsEnumeration |
dataset - Dataset type - IRI instances - SET ( IRI ) | Members of type must be in instances |
| Unique instances | IsUniqueInstances |
dataset - Dataset | There is one and only one IRI identifying each entity in the graph. I think we should assume this for any type by default |
| Predicate existence for type | TypeHasPredicate |
dataset - Dataset type - IRI predicate IRI | SET ( IRI ) | Each instance of type has at least 1 triple for each given predicate. |
| Predicate cardinality | HasPredicateCardinality |
dataset - Dataset predicates - SET ( IRI ) cardinality - INT | Each predicate is used cardinality times for each individual. |
| Predicate cardinality for type | TypeHasPredicateCardinality |
dataset - Dataset type - IRI predicate IRI | SET ( IRI ) cardinality INT | Each predicate is used only ?cardinality for each instance of ?type. |
| Single instance | Singleton |
dataset - Dataset type - IRI | The type must have one instance, and only one. |
| Fixed predicate data type | HasDatatype |
dataset - Dataset predicate - IRI datatype - IRI | The range of predicate must be of datatype datatype |
| Instance existence | HasInstance |
dataset - Dataset instance - IRI | The graph must include an instance with the given IRI. |
| Type existence | HasType |
dataset - Dataset type - IRI | The graph must include a type (object of rdf:type statement) with the given IRI. Specialization of HasSymbol. |
| Predicates as keys | UniqueKeys |
dataset - Dataset predicate - IRI | SET ( IRI ) | Cannot exists two resources with the same combination of values on the listed predicates not linked by owl:sameAs |
| Predicate minimality | IsMinimal |
dataset - Dataset predicate - IRI | SET ( IRI ) | The graph contains only triples with one of the given predicate(s) |
| Predicate minimality for type | TypeIsMinimal |
dataset - Dataset predicates SET ( IRI ) | The instances of type contains only triples with one of the given predicates (and the rdf:type assertion) |
| Inverse predicates | InversePredicates |
dataset - Dataset predicate1 - IRI predicate2 - IRI | The graph contains triples with predicate1 an predicate2 such: s p1 o . o p2 s |
| Predicate is maximum | IsMaximum |
dataset - Dataset predicate - IRI maximumOf - IRI | The graph contains a single value for predicate on each subject, which is the maximum of the second |
| Predicate is minimum | IsMinimum |
dataset - Dataset predicate - IRI minimumOf - IRI | The graph contains a single value for predicate on each subject, which is the minimum of the second |
| Predicate is aggregate | IsAggregate |
dataset - Dataset predicate - IRI aggregateOf - IRI | The graph contains a single value for predicate on each subject, which is the aggregate of the second |
| Predicate is average | IsAverage |
dataset - Dataset predicate - IRI averageOf - IRI | The graph contains a single value for predicate on each subject, which is the average of the second. |
| Predicate is the amount | IsAmount |
dataset - Dataset predicate - IRI amountOf - IRI | The graph contains a single value for predicate on each subject, which is the amount of the second. |
| Expressed duplicates | ExpressedDuplicates |
dataset - Dataset | The graph contains all possible owl:sameAs |
| Predicate has value | HasValue |
dataset - Dataset predicate - IRI value LITERAL | IRI | The value of predicate is always value. |
| Range is Literal | RangeIsLiteral |
dataset - Dataset predicate - IRI | in dataset, predicate is used as an owl:DatatypeProperty |
| Range is IRI | RangeIsIRI |
dataset - Dataset predicate - IRI | in dataset, predicate is used as an owl:ObjectProperty |
For all validators accepting an EXPRESSION, the list of extracted symbols (or predicates, depending on the validation function) will be equal to SET (IRI).
Property -> Parent property.
Means that when a left side property is valid, also the right side one is valid (implication as extension).
| Property | Parent |
|---|---|
| Symbol existence | - |
| Predicate existence | Symbol existence |
| Chain existence | Predicate existence |
| Exclusive instances | Type existence (type),
Symbols existence (instances) |
| Unique instances | - |
| Predicate existence for type | Type existence ( type ),
Predicate existence ( predicate ) |
| Predicate cardinality | Predicate existence |
| Predicate cardinality for type | Type existence (type),
Predicate existence ( predicates ) |
| Single instance | Type existence |
| Fixed predicate data type | Predicate existence ( predicate ) |
| Instance exists | Symbol existence |
| Type existence | Symbol existence |
| Predicates as keys | Predicate existence |
| Predicate minimality | Predicate existence |
| Predicate minimality for type | Predicate existence ( predicates )
Type existence ( type ) |
| Inverse predicates | Predicate existence |
| Predicate is maximum | Predicate cardinality (1) |
| Predicate is minimum | Predicate cardinality (1) |
| Predicate is aggregate | Predicate cardinality (1) |
| Predicate is average | Predicate cardinality (1) |
| Predicate is amount | Predicate cardinality (1) |
| Predicate has value | Predicate cardinality (1) |
The following relations are in place, in addition
| Property name | Validation function | On T -> T | On F -> F |
|---|---|---|---|
| Symbol existence |
HasSymbol ( set ) |
HasSymbol ( (iri) set[0] ) HasSymbol ( (iri) set[...] ) HasSymbol ( (iri) set[n] ) | - |
| Predicate existence |
HasPredicate ( iri ) |
HasChain ( iri ) |
HasChain ( iri ) |
HasPredicate ( set ) |
HasPredicate ( set[0] ) HasPredicate ( set[...] ) HasPredicate ( set[n] ) | - | |
| Chain existence |
HasChain ( list ) |
HasChain ( (partial) list ) | - |
| Unique instances |
UniqueInstances() |
ExpressedDuplicates() # nothing there |
- |
| Property | When True | then False |
|---|---|---|
| Fixed predicate data type |
HasDatatype ( property, datatype ) |
HasDatatype ( property, all but datatype ) |
| Predicate minimality |
IsMinimal ( iri ) |
HasPredicate (all but iri) |
IsMinimal ( set ) |
HasPredicate (all but set) | |
| Predicate minimality for type |
TypeIsMinimal ( set, type ) |
TypeHasPredicate (any not in set, type) |
| Predicate is maximum |
IsMaximum ( predicate, maximumOf ) |
IsMinimal ( predicate ) IsMinimal ( maximumOf ) |
| Predicate is minimum |
IsMaximum ( predicate, minimumOf ) |
IsMinimal ( predicate ) IsMinimal ( minimumOf ) |
| Predicate is average |
IsMaximum ( predicate, averageOf ) |
IsMinimal ( predicate ) IsMinimal ( averageOf ) |
| Predicate is aggregate |
IsMaximum ( predicate, aggregateOf ) |
IsMinimal ( predicate ) IsMinimal ( aggregateOf ) |
| Predicate is amount |
IsMaximum ( predicate, amountOf ) |
IsMinimal ( predicate ) IsMinimal ( amountOf ) |
| Predicate has value |
HasValue( value ) |
HasValue( any other ) |