From 2f7cf61248fc1f90aa53dda0f8377bc8e2ab2cba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Fri, 20 Nov 2015 22:14:20 +0000 Subject: [PATCH] - added N3 translation of all exampkes in the documentation --- html/edoal.html | 411 +++++++++++++++++++++++++++++++++++++++++++----- html/style.css | 11 +- 2 files changed, 374 insertions(+), 48 deletions(-) diff --git a/html/edoal.html b/html/edoal.html index 60cee51b..6c5d364c 100644 --- a/html/edoal.html +++ b/html/edoal.html @@ -229,7 +229,7 @@ exemplified in the code below. </align:onto1> <align:onto2> <align:Ontology rdf:about="http://www.example.org/ontology2"> - <align:location>file:examples/rdf/onto2.owl</location> + <align:location>file:examples/rdf/onto2.owl</align:location> <align:formalism> <align:Formalism align:name="OWL1.0" align:uri="http://www.w3.org/2002/07/owl#" /> </align:formalism> @@ -237,6 +237,29 @@ exemplified in the code below. </align:onto2> ... </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +<http://www.example.org/ontology1> a align:Ontology ; + align:formalism [ a align:Formalism ; + align:name "OWL1.0" ; + align:uri "http://www.w3.org/2002/07/owl#" ] ; + align:location "file:examples/rdf/onto1.owl" . + +<http://www.example.org/ontology2> a align:Ontology ; + align:formalism [ a align:Formalism ; + align:name "OWL1.0" ; + align:uri "http://www.w3.org/2002/07/owl#" ] ; + align:location "file:examples/rdf/onto2.owl" . + +[] a align:Alignment ; + align:level <b>"2EDOAL"</b> ; + align:method "fr.inrialpes.exmo.align.impl.method.StringDistAlignment" ; + align:onto1 <http://www.example.org/ontology1> ; + align:onto2 <http://www.example.org/ontology2> ; + align:time "7" ; + align:type "**" ; + align:xml "yes" . +</div></div> <p>Details on each property are available on the <a href="format.html">Alignment format</a> page.</p> @@ -260,6 +283,21 @@ Each cell can be linked to an alignment using the <tt>map</tt> property. </align:map> ... </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +O1:entity1 a <b>edoal:Class</b> . +O2:entity2 a <b>edoal:Class</b> . + + align:map [ a align:Cell ; + align:entity1 O1:entity1 ; + align:entity2 O2:entity2 ; + align:measure "1.0"^^xsd:float ; + align:relation "=" ; + <b>edoal:linkkey</b> "..." ; + <b>edoal:transformation</b> "..." ] ; +</div></div> +</p> +<p> A <tt>Cell</tt> can only have one <tt>entity1</tt>, <tt>entity2</tt>, <tt>relation</tt> and <tt>measure</tt> property, though it may have @@ -425,7 +463,10 @@ Hence, a class expression may be an identified class: <div class="rdfxml"> <Class rdf:about="&wine;WineFlavor" /> </div></div> -<div class="rdfxmlDiv"> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +wine:WineFlavor> a edoal:Class . +</div></div> a disjunction or class expressions: <div class="rdfxml">RDF/XML Syntax</div> <div class="rdfxml"> @@ -437,6 +478,16 @@ a disjunction or class expressions: </or> </Class> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +vin:Acidite a edoal:Class . +vin:Amertume a edoal:Class . +vin:Astreingence a edoal:Class . + +[] a edoal:Class ; + edoal:or ( vin:Acidite vin:Astreingence vin:Amertume ) . +</div></div> + <div class="rdfxmlDiv"> Thanks to paths and restrictions, it is possible to restrict a correspondence to ``Wines whose producing region is located in Aquitaine'' using the following restriction: <div class="rdfxml">RDF/XML Syntax</div> @@ -460,6 +511,21 @@ Thanks to paths and restrictions, it is possible to restrict a correspondence to </Class> </div> </div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +wine:name a edoal:Property . +vin:Wine a edoal:Class . +vin:hasTerroir a edoal:Relation . + +[] a edoal:Class ; + edoal:and ( vin:Wine> [ a edoal:AttributeValueRestriction ; + edoal:onAttribute [ a edoal:Property ; + edoal:compose ( vin:hasTerroir wine:name ) ] ; + edoal:comparator edoal:equals ; + edoal:value [ a edoal:Literal ; + edoal:type "http://www.w3.org/2001/XMLSchema#string" ; + edoal:string "Acquitaine" ] ] ) . +</div></div> <!--div class="rdfxmlDiv"> We can with this restriction build the correspondence between ``BordeauxWine'' and ``Vin'' whose ``terroir'' is located in @@ -489,6 +555,9 @@ We can with this restriction build the correspondence between </Class> </align:entity2> </align:Cell> +</div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> </div></div--> <p> @@ -541,6 +610,10 @@ As previously properties can be identified by its URI: <div class="rdfxml"> <Property rdf:about="&wine;hasVintageYear" /> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +wine:hasVintageYear a edoal:Property . +</div></div> <div class="rdfxmlDiv"> As previously properties can be assembled by boolean connectors: <div class="rdfxml">RDF/XML Syntax</div> @@ -552,7 +625,15 @@ As previously properties can be assembled by boolean connectors: </and> </Property> </div></div> -<div class="rdfxmlDiv"> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +vin:négociant a edoal:Property . +vin:propriétaire a edoal:Property . + +[] a edoal:Property ; + edoal:and ( vin:propriétaire vin:négociant ) . +</div></div> + but they can be obtained through a path, i.e., a sequence of relations ending by a property: <div class="rdfxml">RDF/XML Syntax</div> @@ -564,6 +645,14 @@ ending by a property: </compose> </Property> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +wine:name a edoal:Property . +vin:hasTerroir a edoal:Relation . + +[] a edoal:Property ; + edoal:compose ( vin:hasTerroir wine:name ) . +</div></div> <div class="rdfxmlDiv"> <div class="rdfxml">RDF/XML Syntax</div> @@ -574,6 +663,13 @@ ending by a property: </datatype> </PropertyTypeRestriction> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +xsd:integer a edoal:Datatype . + +[] a edoal:PropertyTypeRestriction ; + edoal:datatype xsd:integer . +</div></div> <h2 id="ssec:relations">Relation expressions</h2> @@ -627,19 +723,39 @@ Domain restriction is exemplified in the following correspondence with relation <div class="rdfxml"> <align:Cell> <align:entity1> - <Relation rdf:about="&wine;locatedIn"> - <domainRestriction> - <Class rdf:about="&wine;Wine" /> - </domainRestriction> + <Relation> + <and rdf:parseType="Collection"> + <Relation rdf:about="&wine;locatedIn" /> + <Relation> + <domainRestriction> + <Class rdf:about="&wine;Wine" /> + </domainRestriction> + </Relation> + </and> </Relation> </align:entity1> <align:entity2> <Relation rdf:about="&vin;hasTerroir" /> </align:entity2> <align:measure rdf:datatype="&xsd;float">1.0</align:measure> - <align:relation><</align:relation> + <align:relation>&lt;</align:relation> </align:Cell> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +wine:Wine a edoal:Class . +wine:locatedIn a edoal:Relation . +vin:hasTerroir a edoal:Relation . + +[] a align:Cell ; + align:entity1 [ a edoal:Relation ; + edoal:and ( wine:locatedIn + [ a edoal:Relation ; + edoal:domainRestriction wine:Wine ] ) ] ; + align:entity2 vin:hasTerroir ; + align:measure "1.0"^^xsd:float ; + align:relation "<" . +</div></div> <div class="rdfxmlDiv"> An example of occurrence restriction would be the wines produced in a region with no adjacent region, such as an island. For instance Moscatel Madeira wine is produced on the island of Madeira. @@ -649,21 +765,19 @@ An example of occurrence restriction would be the wines produced in a region wit <align:entity1> <Class> <and rdf:parseType="Collection"> - <Class rdf:about="&wine;Wine"> - <attributeOccurrenceCondition> - <Restriction> + <Class rdf:about="&wine;Wine" /> + <AttributeOccurrenceCondition> <onAttribute> <Relation> <compose rdf:parseType="Collection"> - <Relation rdf:about="&vin;hasTerroir" /> + <Relation rdf:about="&wine;hasTerroir" /> <Relation rdf:about="&wine;adjacentRegion" /> </compose> </Relation> </onAttribute> <comparator rdf:resource="&edoal;greater-than" /> <value><Literal edoal:type="&xsd;integer" edoal:string="0"/></value> - </Restriction> - </attributeOccurrenceCondition> + </AttributeOccurrenceCondition> </and> </Class> </align:entity1> @@ -674,6 +788,26 @@ An example of occurrence restriction would be the wines produced in a region wit <align:relation>></align:relation> </align:Cell> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +wine:Wine a edoal:Class . +wine:adjacentRegion a edoal:Relation . +wine:hasTerroir a edoal:Relation . +vin:Madere a edoal:Class . + +[] a align:Cell ; + align:entity1 [ a edoal:Class ; + edoal:and ( wine:Wine [ a edoal:AttributeOccurrenceCondition ; + edoal:onAttribute [ a edoal:Relation ; + edoal:compose ( wine:hasTerroir wine:adjacentRegion ) ] ; + edoal:comparator edoal:greater-than ; + edoal:value [ a edoal:Literal ; + edoal:string "0" ; + edoal:type "http://www.w3.org/2001/XMLSchema#integer" ] ] ) ] ; + align:entity2 vin:Madere ; + align:measure "1.0"^^xsd:float ; + align:relation ">" . +</div></div> <div class="rdfxmlDiv"> Another example @@ -687,10 +821,10 @@ uses a path to state that a locally grown wine is a wine whose owner (propri&eac <align:entity2> <Class> <and rdf:parseType="Collection"> - <Class rdf:about="&vin;Vin"> + <Class rdf:about="&vin;Vin" /> <AttributeValueRestriction> <onAttribute> - <Relation rdf:about="&vin;propriétaire" /></first> + <Relation rdf:about="&vin;propriétaire" /> </onAttribute> <comparator rdf:resource="&edoal;equals" /> <value><Relation rdf:about="&vin;négotiant" /></value> @@ -702,6 +836,24 @@ uses a path to state that a locally grown wine is a wine whose owner (propri&eac <align:relation>></align:relation> </align:Cell> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +wine:LocallyGrownWine a edoal:Class . +vin:Vin a edoal:Class . +vin:négotiant a edoal:Relation . +vin:propriétaire a edoal:Relation . + +[] a align:Cell ; + align:entity1 wine:LocallyGrownWine> ; + align:entity2 [ a edoal:Class ; + edoal:and ( vin:Vin + [ a edoal:AttributeValueRestriction ; + edoal:onAttribute vin:propriétaire ; + edoal:comparator edoal:equals ; + edoal:value vin:négotiant ] ) ] ; + align:measure "1.0"^^xsd:float ; + align:relation ">" . +</div></div> <p> Note that <tt>compose</tt> may take no @@ -755,6 +907,12 @@ Literal values: <Literal edoal:type="&xsd;integer" edoal:string="123" /> <!-- <Literal edoal:type="&xsd;integer">123</Literal>--> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +[] a <http://ns.inria.org/edoal/1.0/Literal> ; + edoal:type "http://www.w3.org/2001/XMLSchema#integer" ; + edoal:string "123" . +</div></div> <p> Instances are always single entities refering to an individual @@ -764,6 +922,10 @@ Instances are always single entities refering to an individual <div class="rdfxml"> <Instance rdf:about="&vin;hasTerroir" /> +</div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +vin:hasTerroir> a edoal:Instance> . </div></div> </p> <p> @@ -774,7 +936,7 @@ the following way: <div class="rdfxml"> <Apply edoal:operator="http://example.com/Whatever"> <arguments rdf:parseType="Collection"> - <Literal rdf:about="&xsd;integer" edoal:string="123" /> + <Literal edoal:type="&xsd;integer" edoal:string="123" /> <Property> <compose rdf:parseType="Collection"> <Relation rdf:about="&vin;hasTerroir" /> @@ -785,6 +947,21 @@ the following way: </arguments> </Apply> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +proton:localedIn a edoal:Property . +vin:Bordelais a edoal:Instance . +vin:hasTerroir a edoal:Relation . + +[] a edoal:Apply ; + edoal:operator "http://example.com/Whatever" ; + edoal:arguments ( [ a edoal:Literal ; + edoal:type "http://www.w3.org/2001/XMLSchema#integer" ; + edoal:string "123" ] + [ a edoal:Property ; + edoal:compose ( vin:hasTerroir proton:localedIn> ) ] + vin:Bordelais> ) . +</div></div> </p> <p> @@ -795,7 +972,7 @@ Aggregagtion of a set of values may be defined by (sum the weights of components <Aggregate edoal:operator="&fn;sum"> <arguments rdf:parseType="Collection"> <Property> - <compose rdf:parseType="Collection"/> + <compose rdf:parseType="Collection"> <Property rdf:about="&O1;component" /> <Property rdf:about="&O1;weight" /> </compose> @@ -803,6 +980,16 @@ Aggregagtion of a set of values may be defined by (sum the weights of components </arguments> </Aggregate> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +O1:component a edoal:Property . +O2:weight a edoal:Property . + +[] a edoal:Aggregate ; + edoal:operator "http://www.w3.org/2005/xpath-functions#sum" ; + edoal:arguments ( [ a edoal:Property ; + edoal:compose ( O1:component O1:weight ) ] ) . +</div></div> </p> <p> @@ -890,6 +1077,27 @@ The following correspondence shows an example of the use of data transformation: </Transformation> </transformation> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +vcard:firstname a edoal:Property . +vcard:lastname a edoal:Property . +vcard:middleinitial a edoal:Property . + +[] a edoal:Transformation ; + edoal:direction "o-" ; + edoal:entity1 [ a edoal:Property ; + edoal:compose () ] ; + edoal:entity2 [ a edoal:Apply ; + edoal:operator "concat" + edoal:arguments ( + <vcard:firstname> + [ a edoal:Literal ; + edoal:type "http://www.w3.org/2001/XMLSchema#string" ; + edoal:string " " ] + <vcard:middleinitial> + [ a edoal:Literal ; edoal:string ". " ] + <vcard:lastname> ) ; ] . +</div></div> <h2 id="ssec:linkkeys">Linkkeys</h2> @@ -968,6 +1176,29 @@ This is expressed in the following example: </linkkey> </align:Cell> </div></div> +<div class="n3Div"><div class="n3">N3 Syntax</div> +<div class="n3" id="ex4n3"> +O1:Livre a edoal:Class . +O1:auteur a edoal:Relation . +O1:titre a edoal:Property . +O2:Novel a edoal:Class . +O2:creator a edoal:Relation . +O2:title a edoal:Property . + +edoal:cell-with-linkkey a align:Cell ; + align:entity1 O1:Livre ; + align:entity2 O2:Novel ; + align:relation "=" ; + edoal:linkkey [ a edoal:Linkkey ; + lk:type "plain" ; + edoal:binding [ a edoal:Intersects ; + edoal:property1 O1:auteur ; + edoal:property2 O2:creator ], + [ a edoal:Equals ; + edoal:property1 O1:titre ; + edoal:property2 O2:title ] ] . +</div></div> + </p> <p> It is then possible to identify duplicates or to @@ -1213,7 +1444,7 @@ O2:GreenLED a edoal:Class. </onAttribute> <comparator rdf:resource="&edoal;equals" /> <value><Literal edoal:type="&xsd;int" edoal:string="2"/></value> - </AttributeValuerestriction> + </AttributeValueRestriction> </and> </Class> </align:entity2> @@ -1223,7 +1454,28 @@ O2:GreenLED a edoal:Class. </div> <div class="n3Div"><div class="n3">N3 Syntax</div> <div class="n3" id="ex3n3"> -NOT DONE +nuts:FR a edoal:Instance . +nuts:Region a edoal:Class . +nuts:level a edoal:Property . +nuts:hasParentRegion a edoal:Relation . +insee:Département a edoal:Class . + +[] a align:Cell ; + align:entity1 insee:Département ; + align:entity2 [ a edoal:Class ; + edoal:and ( nuts:Region + [ a edoal:AttributeValueRestriction ; + edoal:comparator edoal:equals ; + edoal:onAttribute [ a edoal:Relation ; + edoal:compose ( nuts:hasParentRegion nuts:hasParentRegion ) ] ; + edoal:value nuts:FR ] + [ a edoal:AttributeValueRestriction ; + edoal:comparator edoal:equals ; + edoal:onAttribute nuts:level ; + edoal:value [ a edoal:Literal ; + edoal:string "2" ; + edoal:type "http://www.w3.org/2001/XMLSchema#int" ] ] ) ] ; + align:relation "=" . </div> </div> <!--div class="graphDiv"><div class="exampleheader">Graph</div> @@ -1250,15 +1502,15 @@ because the first part is defined as a relation.</p> <compose rdf:parseType="Collection"> <Relation> <inverse> - <Relation rdf:about="&me;sourceComponent" /> + <Relation rdf:about="&O1;sourceComponent" /> </inverse> </Relation> <Relation> <and rdf:parseType="Collection"> - <Relation rdf:about="&me;targetComponent" /> + <Relation rdf:about="&O1;targetComponent" /> <RelationDomainRestriction> <class> - <Class rdf:about="&me;Connection" /> + <Class rdf:about="&O1;Connection" /> </class> </RelationDomainRestriction> </and> @@ -1266,7 +1518,7 @@ because the first part is defined as a relation.</p> </compose> </Relation> </align:entity1> - <align:entity2><Relation rdf:about="&im;connectedWith" /></align:entity2> + <align:entity2><Relation rdf:about="&O1;connectedWith" /></align:entity2> <align:relation>=</align:relation> <align:measure rdf:datatype="&xsd;float">1.0</align:measure> </align:Cell> @@ -1275,7 +1527,23 @@ because the first part is defined as a relation.</p> </div> <div class="n3Div"><div class="n3">N3 Syntax</div> <div class="n3" id="ex3n3"> -NOT DONE +O1:Connection a edoal:Class . +O1:sourceComponent a edoal:Relation . +O1:targetComponent a edoal:Relation . +O2:connectedWith a edoal:Relation . + +edoal:M6 a align:Cell ; + align:entity1 [ a edoal:Relation ; + edoal:compose ( + [ a edoal:Relation ; + edoal:inverse O1:sourceComponent ] + [ a edoal:Relation ; + edoal:and ( O1:targetComponent + [ a edoal:RelationDomainRestriction ; + edoal:class O1:Connection ] ) ] ) ] ; + align:entity2 O2:connectedWith ; + align:measure "1.0"^^xsd:float ; + align:relation "=" . </div> </div> <!--div class="graphDiv"><div class="exampleheader">Graph</div> @@ -1312,7 +1580,6 @@ another. <div class="rdfxmlDiv"><div class="rdfxml">RDF/XML Syntax</div> <div class="rdfxml"> - <align:map> <align:Cell rdf:about="#M11b"> <align:entity1><Class rdf:about="&O1;Activity" /></align:entity1> @@ -1422,7 +1689,7 @@ another. <entity2> <Apply edoal:operator="http://www.google.com/finance/converter"> <arguments rdf:parseType="Collection"> - <Property><Property rdf:about="&O2;hasPrice" /></Property> + <Property rdf:about="&O2;hasPrice" /> <Literal edoal:string="EUR" /> <Literal edoal:string="CNY" /> </arguments> @@ -1432,24 +1699,82 @@ another. </transformation> </align:Cell> </align:map> - - </div> </div> <div class="n3Div"><div class="n3">N3 Syntax</div> <div class="n3" id="ex3n3"> -NOT DONE -O1:price a edoal:Property. -O2:hasPrice a edoal:Property. -:cell a align:Cell; - align:entity1 [ - edoal:function <http://www.google.com/finance/converter?>; - edoal:parameters [ rdf:li O1:price; - rdf:li "from=EUR"; - rdf:li "to=CNY". - ]. - ]; - align:entity2 O2:hasPrice. +O1:Activity a edoal:Class . +O1:cost a edoal:Property . +O1:hasEndDate a edoal:Property . +O1:hasStartingDate a edoal:Property . +O1:manpower a edoal:Property . +O1:subTask a edoal:Relation . +O2:Project a edoal:Class . +O2:duration a edoal:Property . +O2:firstname a edoal:Property . +O2:fullname a edoal:Property . +O2:hasPrice a edoal:Property . +O2:lastname a edoal:Property . +O2:load a edoal:Property . +O2:hasLeader a edoal:Property . +O2:leader a edoal:Relation . + +edoal:M11b a align:Cell ; + align:entity1 O1:Activity ; + align:entity2 O2:Project ; + align:measure "1.0"^^xsd:float ; + align:relation "=" ; + edoal:transformation [ a edoal:Transformation ; + edoal:direction "-o" ; + edoal:entity1 O1:hasLeader ; + edoal:entity2 [ a edoal:Apply ; + edoal:operator "http://www.w3.org/2005/xpath-functions#replace" ; + edoal:arguments ( [ a edoal:Property ; + edoal:compose ( O2:leader O2:fullname ) ] + [ a edoal:Literal ; + edoal:string "(.*) ([^ ]*)" ] + [ a edoal:Literal ; + edoal:string "$2, $1" ] ) ] ], + [ a edoal:Transformation ; + edoal:direction "o-" ; + edoal:entity1 [ a edoal:Apply ; + edoal:operator "http://www.w3.org/2005/xpath-functions#substring-after" ; + edoal:arguments ( O1:hasLeader [ a edoal:Literal ; + edoal:string ", " ] ) ] ; + edoal:entity2 [ a edoal:Property ; + edoal:compose ( O2:leader O2:firstname ) ] ], + [ a edoal:Transformation ; + edoal:direction "o-" ; + edoal:entity1 [ a edoal:Apply ; + edoal:operator "java:java.lang.String#substringBefore" ; + edoal:arguments ( O1:hasLeader [ a edoal:Literal ; + edoal:string ", " ] ) ] ; + edoal:entity2 [ a edoal:Property ; + edoal:compose ( O2:leader O2:lastname ) ] ], + [ a edoal:Transformation ; + edoal:direction "o-" ; + edoal:entity1 [ a edoal:Apply ; + edoal:operator "op:subtract-dates" ; + edoal:arguments ( O1:hasEndDate O1:hasStartingDate ) ] ; + edoal:entity2 O2:duration ], + [ a edoal:Transformation ; + edoal:direction "o-" ; + edoal:entity1 O1:cost ; + edoal:entity2 [ a edoal:Apply ; + edoal:operator "http://www.google.com/finance/converter" ; + edoal:arguments ( O2:hasPrice + [ a edoal:Literal ; + edoal:string "EUR" ] + [ a edoal:Literal ; + edoal:string "CNY" ] ) ] ], + [ a edoal:Transformation ; + edoal:direction "-o" ; + edoal:entity1 [ a edoal:Aggregate ; + edoal:operator "http://www.w3.org/2005/xpath-functions#sum" ; + edoal:arguments ( [ a edoal:Property ; + edoal:compose ( O1:subTask O1:manpower ) ] ) ] ; + edoal:entity2 O2:load ] . + </div> </div> <div class="graphDiv"><div class="exampleheader">Graph</div> @@ -1951,7 +2276,9 @@ and <a href="http://www.robertnyman.com">Robert Nyman</a> for the syntax toggling scripts borrowed from the OWL Recommendation web page. <a href="http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/">http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/</a>. </p> - +<p> +Thanks to Alex Stolz for his very useful <a href="http://rdf-translator.appspot.com/">RDF Translator</a>. +</p> <address> <small> diff --git a/html/style.css b/html/style.css index efa14c04..007d6c0c 100644 --- a/html/style.css +++ b/html/style.css @@ -35,19 +35,18 @@ div.owl, div.rdf, div.rdfxml, div.xml, div.swrl, div.skos, div.xslt, div.align, background: #edd; border:1pt dotted; padding: 5px; - font-family: monospace; - white-space: pre; - overflow: auto; + font-family: monospace; + white-space: pre; + overflow: auto; } /* For Java and code */ div.fragment, div.java, div.code, div.n3 { - margin: 0.9em 0; - padding: 5px; - width: 98%; background: #dde; border: 1pt dashed; + padding: 5px; + width: 98%; font-family: monospace; white-space: pre; overflow: auto; -- GitLab