Towards a theoretical foundation for the harmonization of linked data

Enrico Daga Knowledge Media Institute (KMi) - The Open University; Semantic Technology Laboratory (STLab), Institute of Cognitive Sciences and Technologies (ISTC) - Italian National Research Council (CNR)

Doctoral Symposium, International Semantic Web Conference, 2012 (Submitted)

Online resources: Graph properties

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

[edit] List of properties

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

[edit] Relations between properties

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.


[edit] Hierarchical relation

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)

[edit] Other implications

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

-

[edit] Implications by negation

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 )