SWCL

SWCL: A Semantic Web Constraint Language
Combining OWL 


1. Introduction

A field of decision science, the model management society, has made a great effort to represent constraints in an abstract level and to associate it with data models such as databases. What they ultimately hope to achieve is to allow human beings, regardless of what software and hardware platforms they are using, to manage and manipulate various mathematical decision models in a more abstract and seamless manner than before. The same thing is required currently in the Semantic Web. 

Semantic Web Constraint Language (SWCL) based on OWL to combine constraints with an OWL knowledge base in an abstract level. Abstract syntax of SWCL to facilitate access to constraints and the evaluation of their expressions in the Semantic Web. The syntax for SWCL extends the abstract syntax of OWL described in the OWL Semantics and Abstract Syntax document with additional axioms for constraints used in SWRL. An abstract syntax for SWCL is specified using a version of the EBNF notation used for XML Terminals are quoted, whereas non-terminals are bold but not quoted. 

Figure 1. SWCL Syntax Structure

2. Abstract Syntax

Axiom ::OptModel
OptModel 
::='OptModel('objective subjectTo')'

objective ::='Objective('optimizationInstruction objectiveTerm')' subjectTo ::='('{constraint}')'optimizationInstruction ::=Minimize'|' Maximize'objectiveTerms ::='objectiveTerm('termBlock{termBlock}')'constraint ::='Constraint('[URIreference]{qualifier}LHS operator RHS 
qualifier ::='Qualifier('variableID variable')'
variable ::='Variable('variableID description')'variableID ::='VariableID('URIreference')'LHS ::='LHS('termBlock{termBlock}')'operator ::='equal'|'notEqual'|'lessThan'|'lessThanOrEqual'|'greaterThan'|'greaterThanOrEqual'
RHS ::='RHS('termBlock{termBlock}')'termBlock ::='TermBlock('sign [aggregateOperator]{parameterfactor {factor}')'
sign ::='+'|''aggregateOperator ::=Sigma'|' Production'
factor ::='Factor('individualID datavaluePropertyID')'|'Factor('variableID datavaluedPropertyID')' parameter ::='Parameter('variableID variable')' 


3. Example of Constraints

Suppose that we have sample knowledge about two classes, namely, “Country” and “Province,” and their relationship, as shown in figure 2. Figure 4 also shows that each class has two properties, namely, “partOf” and “populationValue.” The “partOf” property denotes that “Province” is a part of “Country,” whereas “populationValue” indicates the number of inhabitants in the region. 


Figure 2. Country and province classes and the relationship 


The population of each country should equal the sum of the populations of the provinces belonging to that country. This natural knowledge can be easily represented by a mathematical constraint as Formula (1).

▶ Formula (1) :

▶ SWCL for constraint described above:

<swcl:Constraint rdf:ID="numberOfPopulation"> 
    <swcl:qualifier>
        <swcl:Variable rdf:id="y"> 
            <swcl:bindingClas rdf:resource="#Country"/>
        </swcl:Variable> 
    </swcl:qualifier> 
    <swcl:hasLHS>
        <swcl:TermBlock rdf:ID="termBlock_1">       
            <swcl:sign rdf:resource="&swcl;plus"/>         
            <swcl:aggregateOperator rdf:resource="&swcl;Sigma"/> 
            <swcl:parameter>
                <swcl:Variable rdf:id="x"> 
                    <rdfs:subClasOf>
                        <owl:Restriction> 
                            <owl:onPropertyrdf:resource="#partOf"/>     
                            <owl:hasValuerdf:resource="#y"/>
                       </owl:Restriction> 
                  </rdfs:subClassOf>
              </swcl:Variable> 
         </swcl:parameter> 
         <swcl:factor>
             <swcl:bindingClass rdf:resource="#x"/>            
            <swcl:bindingDatatypeProperty rdf:resource="#populationValue"/>
         </swcl:factor>
      </swcl:TermBlock>
    </swcl:hasLHS> 
    <swcl:hasOperator rdf:resource="&swcl;equal"/> 
    <swcl:hasRHS>
        <swcl:TermBlock rdf:ID="termBlock_2"> 
            <swcl:sign rdf:resource="&swcl;plus"/> 
                <swcl:factor>
                    <swcl:bindingClass rdf:resource="#y"/>     
                     <swcl:bindingDatatypeProperty rdf:resource="#populationValue"/>
                 </swcl:factor>
           </swcl:TermBlock> 
     </swcl:hasRHS> 
</swcl:Constraint>

  

 Related Publications

[1]. Semantic Web Constraint Language and its application to an intelligent shopping agent
      H.J. Kim, W.J. Kim and M.J. Lee, Decision Support Systems, p. 882-894, 2009.

[2]. Merging Mathematical Constraint Knowledge with the SemanticWeb using a SWCL

      W.J. Kim, M.J. Lee, J.S. Hong, T.H. Wang and H.J. Kim

[3]. Semantic Web Constraint Language complement and the editor development in Protégé

      Guangyuan Piao, W.J. Kim, Conference of Korea Society of IT Services, Seoul, Korea, 2011

[4]. SWCL Extension for Knowledge Representation of Piecewise‐linear Constraints on the Semantic Web
      Lee, Myungjin ; Kim, Wooju ; Kim, Hak-Ji,Journal of the Korean operations research and management science society, 2012

No comments:

Post a Comment