Skip to content

Commit

Permalink
add vocab files for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
keski committed Sep 25, 2024
1 parent 970cb84 commit b0003a2
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 41 deletions.
34 changes: 16 additions & 18 deletions hefquin-vocabs/engineconf.ttl
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2000/10/XMLSchema#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix ec: <http://w3id.org/hefquin/engineconf#> .

<http://w3id.org/hefquin/engineconf>
rdf:type owl:Ontology ;
dc:creator "Olaf Hartig" ;
dc:date "2023-11-29" ;
dc:format "RDF" ;
Expand All @@ -16,74 +14,74 @@

## ==== CLASS DECLARATIONS ====

ec:HeFQUINEngineConfiguration rdf:type owl:Class ;
ec:HeFQUINEngineConfiguration rdf:type rdfs:Class ;
rdfs:label "HeFQUIN Engine Configuration"@en ;
rdfs:comment "Class of configurations of the HeFQUIN engine. Instances of this class must have exactly one 'fedAccessMgr' property and one 'queryProcessor' property."@en .


ec:InstantiableJavaClass rdf:type owl:Class ;
ec:InstantiableJavaClass rdf:type rdfs:Class ;
rdfs:label "Instantiable Java Class"@en ;
rdfs:comment "Every instance of this class represents a Java class that can be instantiated based on the given RDF description. Instances of this class must have exactly one 'javaClassName' property. Additionally, they may have a 'constructorArguments' property."@en .

ec:ConstructorArgument rdf:type owl:Class ;
ec:ConstructorArgument rdf:type rdfs:Class ;
rdfs:label "Constructor Argument"@en ;
rdfs:comment "This class is a superclass of any kind of argument to be passed to the constructor of a corresponding Java class. Concrete types of arguments are captured by the subclasses of this class."@en .

ec:InstantiationBasedConstructorArgument rdf:type owl:Class ;
ec:InstantiationBasedConstructorArgument rdf:type rdfs:Class ;
rdfs:subClassOf ec:ConstructorArgument ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Instantiation-Based Constructor Argument"@en ;
rdfs:comment "Every instance of this class represents a Java object that is obtained by instantiating a Java class and that is meant to be passed to a constructor in order to instantiate another Java class. In addition to the 'javaClassName' property and the (optional) 'constructorArguments' property, every instance of this class must have exactly one 'argumentTypeName' property. The value of this property is either the same as the value of the 'javaClassName' property or it is the name of a superclass or an interface of the class mentioned by the 'javaClassName' property."@en .

ec:ListBasedConstructorArgument rdf:type owl:Class ;
ec:ListBasedConstructorArgument rdf:type rdfs:Class ;
rdfs:subClassOf ec:ConstructorArgument ;
rdfs:label "List-Based Constructor Argument"@en ;
rdfs:comment "Every instance of this class represents a 'java.util.List' that is populated and then passed as an argument to the constructor of a corresponding Java class. Instances of this class must have exactly one 'elementsTypeName' property and exactly one 'elements' property. Each element of the 'rdf:List' that the latter property refers to is expected to be of type 'InstantiableJavaClass' and the values of their respective 'javaClassName' properties are expected to be either the same as the value of the 'elementsTypeName' property (of this 'ListBasedConstructorArgument') or the name of a sub-class of the class mentioned by the 'elementsTypeName' property."@en .

ec:ValueBasedConstructorArgument rdf:type owl:Class ;
ec:ValueBasedConstructorArgument rdf:type rdfs:Class ;
rdfs:subClassOf ec:ConstructorArgument ;
rdfs:label "Value-Based Constructor Argument"@en ;
rdfs:comment "Every instance of this class refers to a concrete value to be passed as an argument to the constructor of a corresponding Java class. In particular, to refer to this value, instances of this class must have exactly one 'rdf:value' property. The value may be either a literal or any 'DesignatedArgumentValue' defined in this vocabulary."@en .

ec:DesignatedArgumentValue rdf:type owl:Class ;
ec:DesignatedArgumentValue rdf:type rdfs:Class ;
rdfs:label "Designated Argument Value"@en ;
rdfs:comment "The instances of this class that are defined in this vocabulary can be referred to as values by a 'ValueBasedConstructorArgument'."@en .


ec:FederationAccessManager rdf:type owl:Class ;
ec:FederationAccessManager rdf:type rdfs:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Federation Access Manager"@en .


ec:QueryProcessor rdf:type owl:Class ;
ec:QueryProcessor rdf:type rdfs:Class ;
rdfs:label "Query Processor"@en ;
rdfs:comment "Instances of this class must have exactly one 'queryPlanner' property, one 'planCompiler' property, one 'executionEngine' property. Additionally, they may have a 'costModel' property."@en .

ec:CostModel rdf:type owl:Class ;
ec:CostModel rdf:type rdfs:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Cost Model"@en .

ec:QueryPlanner rdf:type owl:Class ;
ec:QueryPlanner rdf:type rdfs:Class ;
rdfs:label "Query Planner"@en ;
rdfs:comment "Instances of this class must have exactly one 'sourcePlanner' property, one 'logicalOptimizer' property, one 'physicalOptimizer' property."@en .

ec:SourcePlanner rdf:type owl:Class ;
ec:SourcePlanner rdf:type rdfs:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Source Planner"@en .

ec:LogicalOptimizer rdf:type owl:Class ;
ec:LogicalOptimizer rdf:type rdfs:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Logical Optimizer"@en .

ec:PhysicalOptimizer rdf:type owl:Class ;
ec:PhysicalOptimizer rdf:type rdfs:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Physical Optimizer"@en .

ec:PlanCompiler rdf:type owl:Class ;
ec:PlanCompiler rdf:type rdfs:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Plan Compiler"@en .

ec:ExecutionEngine rdf:type owl:Class ;
ec:ExecutionEngine rdf:type rdfs:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Execution Engine"@en .

Expand Down
44 changes: 21 additions & 23 deletions hefquin-vocabs/lpg2rdfconf.ttl
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2000/10/XMLSchema#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix lr: <http://w3id.org/hefquin/lpg2rdf#> .

<http://w3id.org/hefquin/lpg2rdf>
rdf:type owl:Ontology ;
dc:creator "Olaf Hartig" ;
dc:date "2023-11-29" ;
dc:format "RDF" ;
Expand All @@ -18,110 +16,110 @@

## ==== CLASS DECLARATIONS ====

lr:LPGtoRDFConfiguration rdf:type owl:Class ;
lr:LPGtoRDFConfiguration rdf:type rdfs:Class ;
rdfs:label "LPG-to-RDF Configuration"@en ;
rdfs:comment "Class of LPG-to-RDF configurations. Instances of this class must have exactly one lr:nodeMapping property, one lr:nodeLabelMapping property, one lr:edgeLabelMapping property, one lr:propertyNameMapping property, and one lr:labelPredicate property."@en .

## ---- Classes for node mappings ----

lr:NodeMapping rdf:type owl:Class ;
lr:NodeMapping rdf:type rdfs:Class ;
rdfs:label "Node Mapping"@en ;
rdfs:comment "A node mapping is an injective function that maps every given LPG node to either an IRI or a blank node, and it is one of the five components of an LPG-to-RDF configuration. This class is a superclass of any kind of node mapping. Concrete types of node mappings are captured by the subclasses of this class."@en .

lr:BNodeBasedNodeMapping rdf:type owl:Class ;
lr:BNodeBasedNodeMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:NodeMapping ;
rdfs:label "Blank Node-based Node Mapping"@en ;
rdfs:comment "Class of node mappings that map every given LPG node to a blank node."@en .

lr:IRIPrefixBasedNodeMapping rdf:type owl:Class ;
lr:IRIPrefixBasedNodeMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:NodeMapping ;
rdfs:label "IRI-based Node Mapping"@en ;
rdfs:comment "Class of node mappings that map every given LPG node to an IRI by attaching the ID of the node to a common IRI prefix. This prefix is specified by the lr:prefixOfIRIs property. Hence, every instance of this class must have exactly one such property."@en .

## ---- Classes for node label mappings ----

lr:NodeLabelMapping rdf:type owl:Class ;
lr:NodeLabelMapping rdf:type rdfs:Class ;
rdfs:label "Node Label Mapping"@en ;
rdfs:comment "A node label mapping is an injective function that maps labels of LPG nodes to IRIs or literals, and it is one of the five components of an LPG-to-RDF configuration. This class is a superclass of any kind of node label mapping. Concrete types of node label mappings are captured by the subclasses of this class."@en .

lr:LiteralBasedNodeLabelMapping rdf:type owl:Class ;
lr:LiteralBasedNodeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:NodeLabelMapping ;
rdfs:label "Literal-based Node Label Mapping"@en ;
rdfs:comment "Class of node label mappings that map every given node label to a string literal by using the label as the value of the literal."@en .

lr:IRIPrefixBasedNodeLabelMapping rdf:type owl:Class ;
lr:IRIPrefixBasedNodeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:NodeLabelMapping ;
rdfs:label "IRI-based Node Label Mapping"@en ;
rdfs:comment "Class of node label mappings that map every given node label to an IRI by attaching the label to a common IRI prefix. This prefix is specified by the lr:prefixOfIRIs property. Hence, every instance of this class must have exactly one such property."@en .

lr:RegexBasedNodeLabelMapping rdf:type owl:Class ;
lr:RegexBasedNodeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:NodeLabelMapping ;
rdfs:label "Regex-based Node Label Mapping"@en ;
rdfs:comment "Class of node label mappings that focus only on node labels that match a given regular expression. This regular expression is specified by the lr:regex property. Hence, every instance of this class must have exactly one such property. The way the matching node labels are mapped is then determined depending on whether the instance of this class is an instance of lr:LiteralBasedNodeLabelMapping or of lr:IRIPrefixBasedNodeLabelMapping. Hence, every instance of this class should also be an instance of one of these other two classes."@en .

lr:SingletonLiteralNodeLabelMapping rdf:type owl:Class ;
lr:SingletonLiteralNodeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:NodeLabelMapping ;
rdfs:label "Singleton-Literal Node Label Mapping"@en ;
rdfs:comment "Class of node mappings that focus only on a single node label and map it to a given literal. This literal is node label by the lr:literal property and the specific node label considered by this mapping is specified by the lr:label property. Hence, every instance of this class must have exactly one of each of these two properties."@en .

lr:SingletonIRINodeLabelMapping rdf:type owl:Class ;
lr:SingletonIRINodeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:NodeLabelMapping ;
rdfs:label "Singleton-IRI Node Label Mapping"@en ;
rdfs:comment "Class of node label mappings that focus only on a single node label and map it to a given IRI. This IRI is specified by the lr:iri property and the specific node label considered by this mapping is specified by the lr:label property. Hence, every instance of this class must have exactly one of each of these two properties."@en .

lr:CompositeNodeLabelMapping rdf:type owl:Class ;
lr:CompositeNodeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:NodeLabelMapping ;
rdfs:label "Composite Node Label Mapping"@en ;
rdfs:comment "Class of node label mappings that are based on other node label mappings and, for every given node label, consider these other mappings one after another until one of them is found that has the given node label in its domain; this other node label mapping is then invoked. The list of the other node label mappings is specified by the lr:componentMappings property. Hence, every instance of this class must have exactly one such property."@en .

## ---- Classes for edge label mappings ----

lr:EdgeLabelMapping rdf:type owl:Class ;
lr:EdgeLabelMapping rdf:type rdfs:Class ;
rdfs:label "Edge Label Mapping"@en ;
rdfs:comment "An edge label mapping is an injective function that maps labels of edges in LPGs to IRIs, and it is one of the five components of an LPG-to-RDF configuration. This class is a superclass of any kind of edge label mapping. Concrete types of edge label mappings are captured by the subclasses of this class."@en .

lr:IRIPrefixBasedEdgeLabelMapping rdf:type owl:Class ;
lr:IRIPrefixBasedEdgeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:EdgeLabelMapping ;
rdfs:label "IRI-based Edge Label Mapping"@en ;
rdfs:comment "Class of edge label mappings that map every given edge label to an IRI by attaching the label to a common IRI prefix. This prefix is specified by the lr:prefixOfIRIs property. Hence, every instance of this class must have exactly one such property."@en .

lr:RegexBasedEdgeLabelMapping rdf:type owl:Class ;
lr:RegexBasedEdgeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:IRIPrefixBasedEdgeLabelMapping ;
rdfs:label "Regex-based Edge Label Mapping"@en ;
rdfs:comment "Class of edge label mappings that focus only on edge labels that match a given regular expression. This regular expression is specified by the lr:regex property. Hence, every instance of this class must have exactly one such property."@en .

lr:SingletonIRIEdgeLabelMapping rdf:type owl:Class ;
lr:SingletonIRIEdgeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:EdgeLabelMapping ;
rdfs:label "Singleton-IRI Edge Label Mapping"@en ;
rdfs:comment "Class of edge label mappings that focus only on a single edge label and map it to a given IRI. This IRI is specified by the lr:iri property and the specific edge label considered by this mapping is specified by the lr:label property. Hence, every instance of this class must have exactly one of each of these two properties."@en .

lr:CompositeEdgeLabelMapping rdf:type owl:Class ;
lr:CompositeEdgeLabelMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:EdgeLabelMapping ;
rdfs:label "Composite Edge Label Mapping"@en ;
rdfs:comment "Class of edge label mappings that are based on other edge label mappings and, for every given edge label, consider these other mappings one after another until one of them is found that has the given edge label in its domain; this other edge label mapping is then invoked. The list of the other edge label mappings is specified by the lr:componentMappings property. Hence, every instance of this class must have exactly one such property."@en .

## ---- Classes for property name mappings ----

lr:PropertyNameMapping rdf:type owl:Class ;
lr:PropertyNameMapping rdf:type rdfs:Class ;
rdfs:label "Property Name Mapping"@en ;
rdfs:comment "A property name mapping is an injective function that maps names of properties of LPG nodes and edges to IRIs, and it is one of the five components of an LPG-to-RDF configuration. This class is a superclass of any kind of property name mapping. Concrete types of property name mappings are captured by the subclasses of this class."@en .

lr:IRIPrefixBasedPropertyNameMapping rdf:type owl:Class ;
lr:IRIPrefixBasedPropertyNameMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:PropertyNameMapping ;
rdfs:label "IRI-based Property Name Mapping"@en ;
rdfs:comment "Class of property name mappings that map every given property name to an IRI by attaching the property name to a common IRI prefix. This prefix is specified by the lr:prefixOfIRIs property. Hence, every instance of this class must have exactly one such property."@en .

lr:RegexBasedPropertyNameMapping rdf:type owl:Class ;
lr:RegexBasedPropertyNameMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:IRIPrefixBasedPropertyNameMapping ;
rdfs:label "Regex-based Property Name Mapping"@en ;
rdfs:comment "Class of property name mappings that focus only on property names that match a given regular expression. This regular expression is specified by the lr:regex property. Hence, every instance of this class must have exactly one such property."@en .

lr:SingletonIRIPropertyNameMapping rdf:type owl:Class ;
lr:SingletonIRIPropertyNameMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:PropertyNameMapping ;
rdfs:label "Singleton-IRI Property Name Mapping"@en ;
rdfs:comment "Class of property name mappings that focus only on a single property name and map it to a given IRI. This IRI is specified by the lr:iri property and the specific property name considered by this mapping is specified by the lr:propertyName property. Hence, every instance of this class must have exactly one of each of these two properties."@en .

lr:CompositePropertyNameMapping rdf:type owl:Class ;
lr:CompositePropertyNameMapping rdf:type rdfs:Class ;
rdfs:subClassOf lr:PropertyNameMapping ;
rdfs:label "Composite Property Name Mapping"@en ;
rdfs:comment "Class of property name mappings that are based on other property name mappings and, for every given property name, consider these other mappings one after another until one of them is found that has the given property name in its domain; this other property name mapping is then invoked. The list of the other property name mappings is specified by the lr:componentMappings property. Hence, every instance of this class must have exactly one such property."@en .
Expand Down

0 comments on commit b0003a2

Please sign in to comment.