Skip to content

Commit

Permalink
sync ontology files with main
Browse files Browse the repository at this point in the history
  • Loading branch information
keski committed Sep 25, 2024
1 parent b0003a2 commit 0499119
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 37 deletions.
34 changes: 18 additions & 16 deletions hefquin-vocabs/engineconf.ttl
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
@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 @@ -14,74 +16,74 @@

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

ec:HeFQUINEngineConfiguration rdf:type rdfs:Class ;
ec:HeFQUINEngineConfiguration rdf:type owl: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 rdfs:Class ;
ec:InstantiableJavaClass rdf:type owl: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 rdfs:Class ;
ec:ConstructorArgument rdf:type owl: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 rdfs:Class ;
ec:InstantiationBasedConstructorArgument rdf:type owl: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 rdfs:Class ;
ec:ListBasedConstructorArgument rdf:type owl: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 rdfs:Class ;
ec:ValueBasedConstructorArgument rdf:type owl: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 rdfs:Class ;
ec:DesignatedArgumentValue rdf:type owl: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 rdfs:Class ;
ec:FederationAccessManager rdf:type owl:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Federation Access Manager"@en .


ec:QueryProcessor rdf:type rdfs:Class ;
ec:QueryProcessor rdf:type owl: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 rdfs:Class ;
ec:CostModel rdf:type owl:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Cost Model"@en .

ec:QueryPlanner rdf:type rdfs:Class ;
ec:QueryPlanner rdf:type owl: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 rdfs:Class ;
ec:SourcePlanner rdf:type owl:Class ;
rdfs:subClassOf ec:InstantiableJavaClass ;
rdfs:label "Source Planner"@en .

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

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

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

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

Expand Down
44 changes: 23 additions & 21 deletions hefquin-vocabs/lpg2rdfconf.ttl
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
@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 @@ -16,110 +18,110 @@

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

lr:LPGtoRDFConfiguration rdf:type rdfs:Class ;
lr:LPGtoRDFConfiguration rdf:type owl: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 rdfs:Class ;
lr:NodeMapping rdf:type owl: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 rdfs:Class ;
lr:BNodeBasedNodeMapping rdf:type owl: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 rdfs:Class ;
lr:IRIPrefixBasedNodeMapping rdf:type owl: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 rdfs:Class ;
lr:NodeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:LiteralBasedNodeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:IRIPrefixBasedNodeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:RegexBasedNodeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:SingletonLiteralNodeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:SingletonIRINodeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:CompositeNodeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:EdgeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:IRIPrefixBasedEdgeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:RegexBasedEdgeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:SingletonIRIEdgeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:CompositeEdgeLabelMapping rdf:type owl: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 rdfs:Class ;
lr:PropertyNameMapping rdf:type owl: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 rdfs:Class ;
lr:IRIPrefixBasedPropertyNameMapping rdf:type owl: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 rdfs:Class ;
lr:RegexBasedPropertyNameMapping rdf:type owl: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 rdfs:Class ;
lr:SingletonIRIPropertyNameMapping rdf:type owl: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 rdfs:Class ;
lr:CompositePropertyNameMapping rdf:type owl: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 0499119

Please sign in to comment.