Currently, the and operator is not working.
<?xml` version='1.0' encoding='utf-8' standalone='no'?>
<rdf:RDF xmlns='http://knowledgeweb.semanticweb.org/heterogeneity/alignment#'
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:xsd='http://www.w3.org/2001/XMLSchema#'
xmlns:alext='http://exmo.inrialpes.fr/align/ext/1.0/'
xmlns:align='http://knowledgeweb.semanticweb.org/heterogeneity/alignment#'
xmlns:edoal='http://ns.inria.org/edoal/1.0/#'>
<Alignment>
<xml>yes</xml>
<level>2EDOAL</level>
<type>**</type>
<onto1>
<Ontology rdf:about="https://w3id.org/i40/aml2#">
<location>file:c://converted.owl</location>
<formalism>
<Formalism align:name="OWL1.0" align:uri="http://www.w3.org/2002/07/owl#"/>
</formalism>
</Ontology>
</onto1>
<onto2>
<Ontology rdf:about="https://w3id.org/i40/aml#">
<location>file:c://converted-1.owl</location>
<formalism>
<Formalism align:name="OWL1.0" align:uri="http://www.w3.org/2002/07/owl#"/>
</formalism>
</Ontology>
</onto2>
<map>
<Cell rdf:about="http://exmo.inrialpes.fr/connectors-core#cell1">
<entity1>
<edoal:Class rdf:about="https://w3id.org/i40/aml2#RoleClass"/>
</entity1>
<entity2>
<edoal:Class>
<edoal:and rdf:parseType="Collection">
<edoal:Class rdf:about="https://w3id.org/i40/aml#RoleClass"/>
<edoal:AttributeValueRestriction>
<edoal:onAttribute>
<edoal:Property>
<edoal:compose rdf:parseType="Collection">
<edoal:Relation rdf:about="https://w3id.org/i40/aml2#hasAttribute"/>
<edoal:Property rdf:about="https://w3id.org/i40/aml#hasAttributeName"/>
</edoal:compose>
</edoal:Property>
</edoal:onAttribute>
<edoal:comparator rdf:resource="http://ns.inria.org/edoal/1.0/#equals"/>
<edoal:value>
<edoal:Literal edoal:type="http://www.w3.org/2001/XMLSchema#string" edoal:string="'eClassVersion'"/>
</edoal:value>
</edoal:AttributeValueRestriction>
<edoal:AttributeValueRestriction>
<edoal:onAttribute>
<edoal:Property>
<edoal:compose rdf:parseType="Collection">
<edoal:Relation rdf:about="https://w3id.org/i40/aml2#hasAttribute"/>
<edoal:Property rdf:about="https://w3id.org/i40/aml#hasAttributeName"/>
</edoal:compose>
</edoal:Property>
</edoal:onAttribute>
<edoal:comparator rdf:resource="http://ns.inria.org/edoal/1.0/#equals"/>
<edoal:value>
<edoal:Literal edoal:type="http://www.w3.org/2001/XMLSchema#string" edoal:string="'eClassClassificationClass'"/>
</edoal:value>
</edoal:AttributeValueRestriction>
<edoal:AttributeValueRestriction>
<edoal:onAttribute>
<edoal:Property>
<edoal:compose rdf:parseType="Collection">
<edoal:Relation rdf:about="https://w3id.org/i40/aml2#hasAttribute"/>
<edoal:Property rdf:about="https://w3id.org/i40/aml#hasAttributeName"/>
</edoal:compose>
</edoal:Property>
</edoal:onAttribute>
<edoal:comparator rdf:resource="http://ns.inria.org/edoal/1.0/#equals"/>
<edoal:value>
<edoal:Literal edoal:type="http://www.w3.org/2001/XMLSchema#string" edoal:string="'eClassIRDI'"/>
</edoal:value>
</edoal:AttributeValueRestriction>
</edoal:and>
</edoal:Class>
</entity2>
<relation>=</relation>
<measure rdf:datatype='http://www.w3.org/2001/XMLSchema#float'>1.0</measure>
<edoal:linkkey>
<edoal:Linkkey>
<edoal:binding>
<edoal:Intersects>
<edoal:property1>
<edoal:Property>
<edoal:compose rdf:parseType="Collection">
<edoal:Relation rdf:about="https://w3id.org/i40/aml2#hasAttribute"/>
<edoal:Property rdf:about="https://w3id.org/i40/aml2#hasAttributeValue"/>
</edoal:compose>
</edoal:Property>
</edoal:property1>
<edoal:property2>
<edoal:Property>
<edoal:compose rdf:parseType="Collection">
<edoal:Relation rdf:about="https://w3id.org/i40/aml#hasAttribute"/>
<edoal:Property rdf:about="https://w3id.org/i40/aml#hasAttributeValue"/>
</edoal:compose>
</edoal:Property>
</edoal:property2>
</edoal:Intersects>
</edoal:binding>
</edoal:Linkkey>
</edoal:linkkey>
</Cell>
</map>
</Alignment>
</rdf:RDF>
This is the closest I have gotten so far.
Seems like the restriction is not supported with AND yet because the generated SPARQL also does not make sense.
PREFIX ns0:<https://w3id.org/i40/aml2#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX ns1:<https://w3id.org/i40/aml#>
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
CONSTRUCT { ?s1 owl:sameAs ?s2 }
WHERE {
?s1 rdf:type ns0:RoleClass .
?s2 rdf:type ns1:RoleClass .
?s2 ns0:hasAttribute ?o3 .
?o3 ns1:hasAttributeName ?o2 .
FILTER (?o2='eClassVersion')
?s2 ns0:hasAttribute ?o5 .
?o5 ns1:hasAttributeName ?o4 .
FILTER (?o4='eClassClassificationClass')
?s2 ns0:hasAttribute ?o7 .
?o7 ns1:hasAttributeName ?o6 .
FILTER (?o6='eClassIRDI')
?s1 ns0:hasAttribute ?o10 .
?o10 ns0:hasAttributeValue ?o9 .
?s2 ns1:hasAttribute ?o13 .
?o13 ns1:hasAttributeValue ?o12 .
FILTER ( lcase(str(?o9)) = lcase(str(?o12)) )
}