When RDF data is upload to PROV Show, a selected strategy is applied to it before visualisation which either removes or adds RDF data to/from the graph to allow for certain types of visualisation. For example, the basic strategy adds wasGeneratedBy
relationship whenever it encounters generated
relationships (i.e. A generated B
becomes B wasGeneratedBy A
with the two properties being defined as inverse in PROV-O) so that all arrows in a visualised node network graph point backwards in time.
Where objects do not have an rdfs:label
property, a label is made from it's URI. This applied to blank nodes too.
The actual code used for each strategy is available in GitHub repository.
The following strategies are currently implemented with more on the way:
This basic strategy is the default. It aims to represent simple Entity
, Activity
& Agent
classes of object with basic relationships only. It performs the following actions on uploaded data:
Entity
, Activity
& Agent
and treat them as just Entity
, Activity
& Agent
objectsActivity
classes between any Entities
that indicate derivation
<B> wasDerivedFrom <A>
is indicated, the following RDF is added:
<B> wasGeneratedBy <AnonymousActivity>
<AnonymousActivity> used <A>
Entity/Activity
chains everywherewasGeneratedBy
inverse properties for all generated
properties
This strategy removes everything from uploaded RDF data other than Entities
and builds relationships between Entities
where it can reason about them from other relationships. Specifically it will:
Entity
and treat them as just as Entities
used
or wasGeneratedBy
Activities
or wasAttributedTo
Agents
as Entities
Entity
wasDerivedFrom
relationships between Entities
that are indicated as being related through Activities
<B> wasGeneratedBy <AnonymousActivity>
, <AnonymousActivity> used <A>
⟶ <B> wasDerivedFrom <A>