Extended Vocabulary of Interlinked Datasets (VoIDext)
type: Ontology
description: The Extension of the Vocabulary of Interlinked Datasets (VoID) RDF Schema that includes the concept of virtual links. This extension enhances interoperability among heterogeneous and distributed RDF data sets by bridging them through explicitly defined virtual links.
modified: 2019-06-30
preferred namespace uri: http://purl.org/query/voidext#
preferred namespace prefix: voidext
created: 2019-01-30
publisher: SIB Swiss Institute of Bioinformatics
license: https://creativecommons.org/licenses/by/3.0/
is version of: void.ttl
creator: Tarcisio Mendes de Farias

Tarcisio Mendes de Farias
type: Person

SIB Swiss Institute of Bioinformatics
type: Agent
member: Tarcisio Mendes de Farias

Richard Cyganiak
type: Person

Digital Enterprise Research Institute, NUI Galway
type: Agent
member: Richard Cyganiak

Jun Zhao
type: Person

Department of Zoology, University of Oxford
type: Agent
member: Jun Zhao

Keith Alexander
type: Person

Talis
type: Agent
member: Keith Alexander

Michael Hausenblas
type: Person

LiDRC
type: Agent
member: Michael Hausenblas

dataset
type: Class
comment: A set of RDF triples that are published, maintained or aggregated by a single provider.
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

linkset
type: Class
comment: A collection of RDF links between two void:Datasets.
created: 2010-01-26
subclass of: dataset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

Provenance Statement
type: Class

technical feature
type: Class
comment: A technical feature of a void:Dataset, such as a supported RDF serialization format.
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

dataset description
type: Class
comment: A web resource whose foaf:primaryTopic or foaf:topics include void:Datasets.
subclass of: Document
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

feature
type: Property
domain: dataset
range: technical feature
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

has subset
type: Property
domain: dataset
range: dataset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

is subset of
type: Property
type: ObjectProperty
domain: dataset
range: dataset
inverse of: has subset

has performance measure
type: Property
type: ObjectProperty
comment: This property assings the performance of the virtual link set, for example, in terms of recall and precision. The values to be assigned (property range) are represented with the ontology MEX Performance Ontology.
domain: Virtual link set
range: PerformanceMeasure

Target
type: Property
comment: One of the two datasets linked by the Linkset or the Shared instance set.
domain: LINK SHAREDINSTANCE SET
range: dataset
created: 2010-01-26
modified: 2019-06-30
contributor: Tarcisio Mendes de Farias
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas
provenance: modified void:target domain

modified void:target domain
type: Provenance Statement
creator: Tarcisio Mendes de Farias
issued: 2019-06-30
description: The void:target property domain was modified in voidext schema to be the union of the classes: void:Linkset, and voidext:SharedInstanceSet instead of only the void:Linkset class from the original VoID vocabulary.

has a SPARQL endpoint at
type: Property
domain: dataset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

a link predicate
type: Property
comment: It specifies the RDF predicate in a given dataset that relates to another dataset. In other words, the link predicate is the RDF property in the predicate position of an RDF triple that links two datasets.
domain: linkset
range: Property
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

example resource of dataset
type: Property
domain: dataset
range: Resource
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

vocabulary
type: Property
comment: A vocabulary that is used in the dataset.
domain: dataset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

Subjects Target
type: Property
type: FunctionalProperty
comment: The dataset describing the subjects of triples contained in the Linkset.
sub property of: Target
domain: linkset
range: dataset
created: 2010-01-26
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

Objects Target
type: Property
type: FunctionalProperty
comment: The dataset describing the objects of the triples contained in the Linkset.
sub property of: Target
domain: linkset
range: dataset
created: 2010-01-26
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

Data Dump
type: Property
comment: An RDF dump, partial or complete, of a void:Dataset.
domain: dataset
range: Resource
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

has an URI look-up endpoint at
type: Property
comment: Defines a simple URI look-up protocol for accessing a dataset.
domain: dataset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

has URI regular expression pattern
type: Property
comment: Defines a regular expression pattern matching URIs in the dataset.
domain: dataset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

class
type: Property
type: FunctionalProperty
comment: The rdfs:Class that is the rdf:type of all entities in a class-based partition.
domain: dataset
range: Class
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

classes
type: Property
type: DatatypeProperty
comment: The total number of distinct classes in a void:Dataset. In other words, the number of distinct resources occuring as objects of rdf:type triples in the dataset.
domain: dataset
range: integer
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

class partition
type: Property
comment: A subset of a void:Dataset that contains only the entities of a certain rdfs:Class.
domain: dataset
range: dataset
sub property of: has subset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

distinct objects
type: Property
type: DatatypeProperty
comment: The total number of distinct objects in a void:Dataset. In other words, the number of distinct resources that occur in the object position of triples in the dataset. Literals are included in this count.
domain: dataset
range: integer
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

distinct subjects
type: Property
type: DatatypeProperty
comment: The total number of distinct subjects in a void:Dataset. In other words, the number of distinct resources that occur in the subject position of triples in the dataset.
domain: dataset
range: integer
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

number of documents
type: Property
type: DatatypeProperty
comment: The total number of documents, for datasets that are published as a set of individual documents, such as RDF/XML documents or RDFa-annotated web pages. Non-RDF documents, such as web pages in HTML or images, are usually not included in this count. This property is intended for datasets where the total number of triples or entities is hard to determine. void:triples or void:entities should be preferred where practical.
domain: dataset
range: integer
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

number of entities
type: Property
type: DatatypeProperty
comment: The total number of entities that are described in a void:Dataset.
domain: dataset
range: integer
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

in dataset
type: Property
comment: Points to the void:Dataset that a document is a part of.
domain: Document
range: dataset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

open search description
type: Property
comment: An OpenSearch description document for a free-text search service over a void:Dataset.
domain: dataset
range: Document
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

number of properties
type: Property
type: DatatypeProperty
comment: The total number of distinct properties in a void:Dataset. In other words, the number of distinct resources that occur in the predicate position of triples in the dataset.
domain: dataset
range: integer
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

property
type: Property
type: FunctionalProperty
comment: The rdf:Property that is the predicate of all triples in a property-based partition.
domain: dataset
range: Property
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

property partition
type: Property
comment: A subset of a void:Dataset that contains only the triples of a certain rdf:Property.
domain: dataset
range: dataset
sub property of: has subset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

root resource
type: Property
comment: A top concept or entry point for a void:Dataset that is structured in a tree-like fashion. All resources in a dataset can be reached by following links from its root resources in a small number of steps.
domain: dataset
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

number of triples
type: Property
type: DatatypeProperty
comment: The total number of triples contained in a void:Dataset.
domain: dataset
range: integer
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

URI space
type: Property
type: DatatypeProperty
comment: A URI that is a common string prefix of all the entity URIs in a void:Dataset.
domain: dataset
range: Literal
creator: Richard Cyganiak
creator: Jun Zhao
creator: Keith Alexander
creator: Michael Hausenblas

Virtual link set
type: Class
comment: A set of virtual links between two datasets. A virtual link is a connection between resources such as literals and instances with some commonality. Each of these resources is from a different RDF dataset. A resource mapping can be also considered when defining common resources between datasets. For example, the datasets uses different prefix namespaces for similar instances in a given domain scope. A virtual link can be interpreted as an intersection data point between two datasets. In addition, a virtual link is not concretely stored. The link may be physically established during a federated query execution, for example. This class must only have instances of its subclasses. It is recommendable to comment (rdfs:comment) the scope of the virtual link set.

Simple link set
type: Class
comment: A simple link set must be a linkset that does not target another linkset (i.e. it has exactly one link predicate) or a set with exactly the same shared instances of the same type (i.e. class) in both datasets. The instances of this class must be also instances of either void:Linkset or voidext:SharedInstanceSet.
equivalent class: Class
  union of: Class
    intersection of: Shared instance set
    intersection of: Class
      complement of: Restriction
        on property: is subset of
        qualified cardinality: 1
        on class: dataset
  union of: Class
    intersection of: linkset
    intersection of: Class
      complement of: Restriction
        on property: Target
        some values from: linkset
subclass of: Virtual link set
query for linkset: prefix void: <http://rdfs.org/ns/void#> prefix voidext:<http://purl.org/query/voidext#> prefix dcterms: <http://purl.org/dc/terms/> SELECT distinct ?links ?source ?predicate_from_endpoint ?subj_from ?subj_type ?predicate ?obj_type ?obj_from ?resourceMapping { ###if we want to specify the target datasets that contain one of the resources ###related with a virtual link. #values(?dataset_link_subj){ (bioquery:OMA) } #values(?dataset_link_obj){ (bioquery:UNIPROT) } ?links a void:Linkset. { ?links void:subjectsTarget ?dataset_link_subj . ?links void:objectsTarget ?dataset_link_obj. } UNION { ?links void:target ?dataset_link_subj. ?links void:target ?dataset_link_obj .} ?links void:linkPredicate ?predicate; voidext:isSubsetOf ?source_db. ?dataset_link_subj void:sparqlEndpoint ?subj_from. ?dataset_link_obj void:sparqlEndpoint ?obj_from. ?source_db dcterms:title ?source; void:sparqlEndpoint ?predicate_from_endpoint. optional {?links voidext:linkPredicateRange ?obj_type}. optional {?links voidext:linkPredicateDomain ?subj_type. } optional{ ?links voidext:resourceMapping ?resourceMapping} filter not exists { ?complexLink voidext:intersectAt ?links.} filter ( ?dataset_link_subj != ?dataset_link_obj ) } order by ?links
query for shared instance set: prefix void: <http://rdfs.org/ns/void#> prefix voidext:<http://purl.org/query/voidext#> prefix dcterms: <http://purl.org/dc/terms/> SELECT distinct ?links ?dataset1_name ?dataset2_name ?sharedType ?dataset1_endpoint ?dataset2_endpoint { #values(?dataset1){ (bioquery:BGEE) } #values(?dataset2){ (bioquery:OMA) } ?links a voidext:SharedInstanceSet. ?links void:target ?dataset1. ?links void:target ?dataset2. ?links voidext:sharedInstanceType ?sharedType. ?dataset1 dcterms:title ?dataset1_name; void:sparqlEndpoint ?dataset1_endpoint. ?dataset2 dcterms:title ?dataset2_name; void:sparqlEndpoint ?dataset2_endpoint. filter not exists { ?complexLink voidext:intersectAt ?links .} filter(?dataset1 != ?dataset2) } order by ?links

Complex link set
type: Class
disjoint with: dataset
comment: It is a complex virtual link set. A complex link set is composed of exactly two link sets xor two shared instance sets where xor is the exclusive or. For example, two link sets that intersects at some graph node (e.g. the object nodes of link predicates).
equivalent class: Class
  intersection of: Class
    union of: Restriction
      on property: intersects at
      qualified cardinality: 2
      on class: Shared instance set
    union of: Restriction
      on property: intersects at
      qualified cardinality: 2
      on class: linkset
  intersection of: Class
    complement of: Simple link set
query for linkset: prefix void: <http://rdfs.org/ns/void#> prefix voidext:<http://purl.org/query/voidext#> prefix dcterms: <http://purl.org/dc/terms/> SELECT distinct ?links ?source_dataset1_name ?target_dataset2_name ?predicate ?intersection_type ?subj_type ?obj_type ?source_endpoint ?target_endpoint ?resourceMapping { #values(?dataset1){ (bioquery:EBI_ORDO) } #values(?dataset2){ (bioquery:DRUGBANK) } ?links a voidext:ComplexLinkSet. ?links voidext:intersectAt ?set2; voidext:intersectionType/rdfs:label ?intersection_type. ?set2 voidext:isSubsetOf ?target_db. ?target_db dcterms:title ?target_dataset2_name; void:sparqlEndpoint ?target_endpoint. ?set2 void:linkPredicate ?predicate2 . ?links voidext:intersectAt ?set1. ?set1 void:linkPredicate ?predicate . ?set1 voidext:isSubsetOf ?source_db . ?source_db dcterms:title ?source_dataset1_name; void:sparqlEndpoint ?source_endpoint. optional{ ?set1 voidext:linkPredicateDomain ?subj_type} optional{ ?set1 voidext:linkPredicateRange ?obj_type.} optional{ ?links voidext:recommendedMapping ?set1. ?set1 voidext:resourceMapping ?resourceMapping} filter(?source_db != ?target_db) } order by ?links
query for shared instance set: prefix void: <http://rdfs.org/ns/void#> prefix voidext:<http://purl.org/query/voidext#> prefix dcterms: <http://purl.org/dc/terms/> SELECT distinct ?links ?source_dataset1_name ?target_dataset2_name ?sharedType ?resourceMapping ?source_endpoint ?target_endpoint{ #values(?source_db){ (bioquery:EBI) } #values(?target_db){ (bioquery:UNIPROT) } ?links a voidext:ComplexLinkSet. ?links voidext:intersectAt ?set1; voidext:intersectAt ?set2. ?set1 voidext:isSubsetOf ?target_db. ?target_db dcterms:title ?target_dataset2_name; void:sparqlEndpoint ?target_endpoint. ?set2 voidext:sharedInstanceType ?sharedType . ?set2 voidext:isSubsetOf ?source_db . ?source_db dcterms:title ?source_dataset1_name; void:sparqlEndpoint ?source_endpoint. optional{ ?links voidext:recommendedMapping ?set2. ?set2 voidext:resourceMapping ?resourceMapping} filter(?target_db != ?source_db) } order by ?links
subclass of: Virtual link set

Shared instance set
type: Class
comment: A shared instance set between exactly two datasets. For example, two datasets that contain the same OWL/RDFS class instances.
subclass of: dataset

Linkset intersection
type: Class
comment: The possible intersection types between the RDF graph nodes in different void:Dataset(s) (i.e. either the subject or the object node of a link predicate). The instances of this class are exclusively voidext:OBJECT_OBJECT, voidext:OBJECT_SUBJECT, and voidext:SUBJECT_SUBJECT.

query for shared instance set
type: Property
type: AnnotationProperty
comment: This property must only assign one standard SPARQL query per category (i.e. subclass) of VirtualLinkSet to retrieve the formal definition of shared instance set (i.e. query projection) as presented in the voidext specification.
range: Literal

query for linkset
type: Property
type: AnnotationProperty
comment: This property must only assign one standard SPARQL query per category (i.e. subclass) of VirtualLinkSet to retrieve the formal definition of linkset (i.e. query projection) as presented in the voidext specification.
range: Literal

link predicate domain
type: Property
comment: The link predicate's subject type (i.e. class), if any. Moreover, in the case of a void:Linkset that is classified as a simple link set (voidext:SimpleLinkSet), if the two datasets are linked through the link predicate's subject then the link predicate domain must be specified. Indeed, this subject matches a second resource in an external dataset. Therefore, the type of this second resource is asserted as the link predicate domain.
domain: linkset
range: Class

link predicate range
type: Property
comment: The link predicate's object type (i.e. class), if any. Moreover, in the case of a void:Linkset that is not classified as a simple link set, if the two datasets are linked through the link predicate's object then the link predicate range must be specified. Indeed, this object matches a second resource in an external dataset. Therefore, the type of this second resource is asserted as the link predicate range.
domain: linkset
range: Class

intersects at
type: Property
type: ObjectProperty
comment: This property is used to assign exactly either two shared instance sets (voidext:SharedInstanceSet) or two link sets (void:Linkset) to compose a complex link set (voidext:ComplexLinkSet). For each void:Linkset, either the subject or the object node of its link predicate intersects an RDF node of the link predicate from the other link set. In other words, the subject xor the object of a link predicate matches the subject xor the object of the other link predicate, where xor is the exclusive or. These link predicates must be from different datasets.
domain: Complex link set
range: LINK SHAREDINSTANCE SET

intersection type
type: Property
type: ObjectProperty
comment: This property assigns the intersection type of two RDF triples in different datasets (void:Dataset). In other words, if the intersection occurs at the subject xor the object node of a link predicate.
domain: Complex link set
range: Linkset intersection

shared instance type
type: Property
comment: This property assings the type (i.e. class) of the shared instances from a given void:Dataset. Shared instances implies equivalent or similar instance IRIs that belong to different datasets.
domain: Shared instance set
range: Class

supports SPARQL 1.1 federated query
type: Property
type: DatatypeProperty
comment: This property should be used to explicitly assert that a void:Dataset supports SPARQL 1.1. federated queries to be able to access the dataset with the SERVICE keyword and perform federated join queries.
domain: dataset
range: boolean

resource mapped with
type: Property
type: FunctionalProperty
type: DatatypeProperty
comment: The preprocessing of a resource (i.e. IRI or literal) in a source void:Dataset in order to match another resource in the target void:Dataset. A resource is either the subject or the object of an RDF triple. The resource preprocessing (i.e. the resource mapping) must be defined with the SPARQL language by mainly using SPARQL built-ins for assignments (e.g. BIND), and expression and testing values (e.g. IF and FILTER). BIND is used to assign the output of a function.
domain: LINK SHAREDINSTANCE SET
range: Literal
description: Example of a value assigned with this property is the following "?objectsTarget a <urn:Example>. BIND(IF(contains(?objectsTarget, "Example:" ), IRI(concat("http://example.org/uniprot:",strafter(?objectsTarget,"Example:"))), ?objectsTargetConverted) as ?converted_object) FILTER(BOUND(?obj_converted))". This will convert strings that contains "Example:" into IRIs defined in http://example.org/ namespace.

recommended mapping from
type: Property
type: FunctionalProperty
type: ObjectProperty
comment: If more than one mapping is defined in the different void:Linkset(s) that are part of a voidext:ComplexLinkSet, one of the resource mappings may be recommended by asserting this property. The recommended mapping is the one stated to the void:Linkset assigned as the value of this property. If no mapping is explicitly recommended, solely one of them must arbitrarily be applied to establish a virtual link. At most one mapping function can be defined either per linkset or per shared instance set.
domain: Complex link set
range: LINK SHAREDINSTANCE SET

Object-object intersection
type: Linkset intersection
comment: The intersection between two void:Dataset(s) (i.e. knowledge graphs) occurs at the object node in both datasets.

Subject-object intersection
type: Linkset intersection
comment: The intersection between two void:Dataset(s) (i.e. knowledge graphs) occurs at the object node of one data set (graph) and the subject node of another data set (graph).

Subject-subject intersection
type: Linkset intersection
comment: The intersection between two void:Dataset(s) (i.e. knowledge graphs) occurs at the subject node in both datasets.