OWL API удаляет пустые строки из многострочного комментария - PullRequest
0 голосов
/ 05 октября 2018

Я пытался кодифицировать следующий комментарий, используя OWL API:

Группа моделирования CRECK (Политехнический институт Милана) http://creckmodeling.chem.polimi.it/
Механизм первичного эталонного топлива (PRF) + PAHВерсия 1311, ноябрь 2013Детализированный и полурастворимый (сосредоточенный) механизм пиролиза,частичное окисление и сгорание первичного эталонного топлива,включая образование ПАУ (полициклических ароматических углеводородов) до C20.Кинетическая схема (низкая и высокая температура): 276 видов и 8476 реакций.Э. Ранзи, А. Фрассолдати, С. Граната, Т. Фаравелли,Ind. Eng.ХимреагентМестожительство44 (14), 5170-5183 (2005), doi: 10.1021 / ie049318gТ. Билевельд, А. Фрассолдати, А. Куоци, Т. Фаравелли, Э. Ранзи, У. Ниманн, К. Сешадри,Слушания Института Сгорания 32 I, стр 493-500 (2009), doi: 10.1016 / j.proci.2008.06.214Саггезе С., Фрассолдати, Куоци А., Фаравелли Т., Ранзи,Горение и Пламя (2013), DOI: 10.1016 / j.combustflame.2013.02.013CRECK Modeling Group (Политехнический университет Милана)http://creckmodeling.chem.polimi.it/Version 1311, ноябрь 2013

Для кодирования вышеуказанного комментария в OWL я использую следующий метод: org.semanticweb.owlapi.model.OWLDataFactory.getOWLLiteral (comment);

Фрагмент кода, которыйимеет отношение к описанию проблемы следующим образом:

/**
* Creates an OWL literal with one of the following data types:</br>
* 1. String.
* 2. Integer, and
* 3. Float.
* 
* @param ontoFactory
* @param propertyName
* @param literal
* @return
* @throws OntoException
*/


private OWLLiteral createOWLLiteral(OWLDataFactory ontoFactory, String propertyName, String literal) throws OntoException{
if(propertyName.startsWith(basePathTBox.concat(HASH))){
propertyName = propertyName.replace(basePathTBox.concat(HASH), EMPTY);
}
if(dataPropertyNameVsTypeMap.containsKey(propertyName.toLowerCase())){
if(dataPropertyNameVsTypeMap.get(propertyName.toLowerCase()).equals("string")){
return ontoFactory.getOWLLiteral(literal);
} else if(dataPropertyNameVsTypeMap.get(propertyName.toLowerCase()).equals("integer")){
try{
return ontoFactory.getOWLLiteral(Integer.parseInt(literal));
}catch(NumberFormatException e){
throw new OntoException("The following value is not an integer:"+literal);
}
} else if(dataPropertyNameVsTypeMap.get(propertyName.toLowerCase()).equals("float")){
try{
return ontoFactory.getOWLLiteral(Float.parseFloat(literal));
}catch(NumberFormatException e){
throw new OntoException("The following value is not a float:"+literal);
}
}
}
throw new OntoException("The following data type could not be recognised:"+dataPropertyNameVsTypeMap.get(propertyName.toLowerCase()));
}

Я был бы очень признателен за вашу помощь в решении этой проблемы.

1 Ответ

0 голосов
/ 18 октября 2018

Проблема не заводская.Следующий код создает правильно размещенную аннотацию комментария.Проблема должна быть в формате, используемом для сохранения, или в ошибке.

    OWLAnnotation a = df.getRDFSComment("\n" + "CRECK Modeling Group (Politecnico di Milano)\n"
        + "http://creckmodeling.chem.polimi.it/\n" + "\n" + "\n"
        + "Primary Reference Fuels (PRF) + PAH Mechanism\n" + "Version 1311, November 2013\n"
        + "Detailed and semidetailed (lumped) mechanism of the pyrolysis,\n"
        + "partial oxidation and combustion Primary Reference Fuels,\n"
        + "including PAH (Polycyclic Aromatic Hydrocarbons) formation up to C20.\n" + "\n"
        + "Kinetic scheme (Low and High temperature): 276 species and 8476 reactions\n" + "\n"
        + "References\n" + "\n" + "E. Ranzi, A. Frassoldati, S. Granata, T. Faravelli,\n"
        + "Ind. Eng. Chem. Res. 44(14), 5170-5183 (2005), doi: 10.1021/ie049318g\n" + "\n"
        + "T. Bieleveld, A. Frassoldati, A. Cuoci, T. Faravelli, E. Ranzi, U. Niemann K. Seshadri,\n"
        + "Proceedings of the Combustion Institute 32 I, pp. 493-500 (2009), doi:10.116/j.proci.2008.06.214\n"
        + "\n" + "Saggese C., Frassoldati, Cuoci A., Faravelli T., Ranzi,\n"
        + "Combustion and Flame (2013), DOI: 10.1016/j.combustflame.2013.02.013\n" + "\n"
        + "CRECK Modeling Group (Politecnico di Milano)http://creckmodeling.chem.polimi.it/\n"
        + "Version 1311, November 2013\n" + "\n" + "\n");
    System.out.println(a);

Annotation(rdfs:comment "
CRECK Modeling Group (Politecnico di Milano)
http://creckmodeling.chem.polimi.it/


Primary Reference Fuels (PRF) + PAH Mechanism
Version 1311, November 2013
Detailed and semidetailed (lumped) mechanism of the pyrolysis,
partial oxidation and combustion Primary Reference Fuels,
including PAH (Polycyclic Aromatic Hydrocarbons) formation up to C20.

Kinetic scheme (Low and High temperature): 276 species and 8476 reactions

References

E. Ranzi, A. Frassoldati, S. Granata, T. Faravelli,
Ind. Eng. Chem. Res. 44(14), 5170-5183 (2005), doi: 10.1021/ie049318g

T. Bieleveld, A. Frassoldati, A. Cuoci, T. Faravelli, E. Ranzi, U. Niemann K. Seshadri,
Proceedings of the Combustion Institute 32 I, pp. 493-500 (2009), doi:10.116/j.proci.2008.06.214

Saggese C., Frassoldati, Cuoci A., Faravelli T., Ranzi,
Combustion and Flame (2013), DOI: 10.1016/j.combustflame.2013.02.013

CRECK Modeling Group (Politecnico di Milano)http://creckmodeling.chem.polimi.it/
Version 1311, November 2013


"^^xsd:string)
...