[
https://issues.apache.org/jira/browse/JENA-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Alexiev updated JENA-1262:
-----------------------------------
Description:
1. Sort & align prefixes. Instead of this:
{noformat}
@prefix lcc-3166-1:
<http://www.omg.org/spec/LCC/Countries/ISO3166-1-CountryCodes/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix lcc-3166-2:
<http://www.omg.org/spec/LCC/Countries/ISO3166-2-SubdivisionCodes/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sm: <http://www.omg.org/techprocess/ab/SpecificationMetadata/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix lcc-lr: <http://www.omg.org/spec/LCC/Languages/LanguageRepresentation/>
.
@prefix lcc-cr: <http://www.omg.org/spec/LCC/Countries/CountryRepresentation/> .
{noformat}
it would be great to produce that:
{noformat}
@prefix dct: <http://purl.org/dc/terms/> .
@prefix lcc-3166-1:
<http://www.omg.org/spec/LCC/Countries/ISO3166-1-CountryCodes/> .
@prefix lcc-3166-2:
<http://www.omg.org/spec/LCC/Countries/ISO3166-2-SubdivisionCodes/> .
@prefix lcc-cr:
<http://www.omg.org/spec/LCC/Countries/CountryRepresentation/> .
@prefix lcc-lr:
<http://www.omg.org/spec/LCC/Languages/LanguageRepresentation/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sm: <http://www.omg.org/techprocess/ab/SpecificationMetadata/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
{noformat}
2. "Paragraphs"
(this applies only to non-streaming mode, i.e. --formatted=turtle).
By "paragraphs" I mean statements with the same subject, which RIOT separates
by an empty line (i.e. that also matches the common definition of paragraph in
text processing tools like Emacs).
If you sort them, in a well-constructed ontology that will output first the
ontology, then Classes, the properties: which GREATLY aids understanding.
Eg see attached the FIBO BusinessRegistries ontology reformatted in this way
(the comment lines are added manually).
{noformat}
## ontology
fibo-fbc-fct-breg: a owl:Ontology ;
rdfs:label "Business Registries Ontology" ;
dct:license
"http://www.omg.org/techprocess/ab/SpecificationMetadata/MITLicense"^^xsd:anyURI
;
sm:contentLanguage "http://www.omg.org/spec/ODM/"^^xsd:anyURI ,
"http://www.w3.org/standards/techs/owl#w3c_all"^^xsd:anyURI ;
sm:copyright "Copyright (c) 2015 EDM Council, Inc.\nCopyright
(c) 2015 Object Management Group, Inc." ;
sm:fileAbbreviation "fibo-fbc-fct-breg" ;
sm:filename "BusinessRegistries.rdf" ;
owl:imports fibo-fnd-aap-agt: , fibo-fnd-utl-av: ,
fibo-fbc-fct-ra: , fibo-be-le-fbo: , fibo-fnd-law-jur: , fibo-fnd-utl-bt: ,
fibo-fnd-rel-rel: , fibo-fnd-plc-adr: , lcc-cr: , fibo-fnd-dt-fd: ;
owl:versionIRI
<http://www.omg.org/spec/EDMC-FIBO/FBC/20150801/FunctionalEntities/BusinessRegistries/>
.
## classes
fibo-fbc-fct-breg:BusinessRegistrationAuthority
a owl:Class ;
rdfs:label "business registration authority" ;
rdfs:subClassOf fibo-fbc-fct-ra:RegistrationAuthority ;
rdfs:subClassOf [ a
owl:Restriction ;
owl:onClass
fibo-fnd-law-jur:Jurisdiction ;
owl:onProperty
fibo-fnd-rel-rel:isGovernedBy ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [ a
owl:Restriction ;
owl:minQualifiedCardinality
"1"^^xsd:nonNegativeInteger ;
owl:onClass
fibo-fbc-fct-breg:BusinessRegistry ;
owl:onProperty
fibo-fnd-rel-rel:manages
] ;
fibo-fnd-utl-av:adaptedFrom
"http://www.leiroc.org/publications/gls/lou_20140620.pdf"^^xsd:anyURI ;
skos:definition "a governmental registration authority
that is responsible for maintaining a registry of business entities for a
particular jurisdiction" .
...
## properties
fibo-fbc-fct-breg:hasAddressLine1
a owl:DatatypeProperty ;
rdfs:domain fibo-fbc-fct-breg:RegistrationAddress ;
rdfs:label "has address line 1" ;
rdfs:range fibo-fnd-utl-bt:text ;
fibo-fnd-utl-av:definitionOrigin
"http://www.leiroc.org/publications/gls/lou_20140620.pdf"^^xsd:anyURI ;
skos:definition "the first line of the street address" .
...
{noformat}
was:
1. Sort & align prefixes. Instead of this:
{noformat}
@prefix lcc-3166-1:
<http://www.omg.org/spec/LCC/Countries/ISO3166-1-CountryCodes/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix lcc-3166-2:
<http://www.omg.org/spec/LCC/Countries/ISO3166-2-SubdivisionCodes/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sm: <http://www.omg.org/techprocess/ab/SpecificationMetadata/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix lcc-lr: <http://www.omg.org/spec/LCC/Languages/LanguageRepresentation/>
.
@prefix lcc-cr: <http://www.omg.org/spec/LCC/Countries/CountryRepresentation/> .
{noformat}
it would be great to produce that:
{noformat}
@prefix dct: <http://purl.org/dc/terms/> .
@prefix lcc-3166-1:
<http://www.omg.org/spec/LCC/Countries/ISO3166-1-CountryCodes/> .
@prefix lcc-3166-2:
<http://www.omg.org/spec/LCC/Countries/ISO3166-2-SubdivisionCodes/> .
@prefix lcc-cr:
<http://www.omg.org/spec/LCC/Countries/CountryRepresentation/> .
@prefix lcc-lr:
<http://www.omg.org/spec/LCC/Languages/LanguageRepresentation/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sm: <http://www.omg.org/techprocess/ab/SpecificationMetadata/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
{noformat}
2. "Paragraphs"
(this applies only to non-streaming mode, i.e. --formatted=turtle).
By "paragraphs" I mean statements with the same subject, which RIOT separates
by an empty line (i.e. that also matches the common definition of paragraph in
text processing tools like Emacs).
If you sort them, in a well-constructed ontology that will output first the
ontology, then Classes, the properties: which GREATLY aids understanding.
Eg see attached the FIBO BusinessRegistries ontology reformatted in this way.
{noformat}
## ontology
fibo-fbc-fct-breg: a owl:Ontology ;
rdfs:label "Business Registries Ontology" ;
dct:license
"http://www.omg.org/techprocess/ab/SpecificationMetadata/MITLicense"^^xsd:anyURI
;
sm:contentLanguage "http://www.omg.org/spec/ODM/"^^xsd:anyURI ,
"http://www.w3.org/standards/techs/owl#w3c_all"^^xsd:anyURI ;
sm:copyright "Copyright (c) 2015 EDM Council, Inc.\nCopyright
(c) 2015 Object Management Group, Inc." ;
sm:fileAbbreviation "fibo-fbc-fct-breg" ;
sm:filename "BusinessRegistries.rdf" ;
owl:imports fibo-fnd-aap-agt: , fibo-fnd-utl-av: ,
fibo-fbc-fct-ra: , fibo-be-le-fbo: , fibo-fnd-law-jur: , fibo-fnd-utl-bt: ,
fibo-fnd-rel-rel: , fibo-fnd-plc-adr: , lcc-cr: , fibo-fnd-dt-fd: ;
owl:versionIRI
<http://www.omg.org/spec/EDMC-FIBO/FBC/20150801/FunctionalEntities/BusinessRegistries/>
.
## classes
fibo-fbc-fct-breg:BusinessRegistrationAuthority
a owl:Class ;
rdfs:label "business registration authority" ;
rdfs:subClassOf fibo-fbc-fct-ra:RegistrationAuthority ;
rdfs:subClassOf [ a
owl:Restriction ;
owl:onClass
fibo-fnd-law-jur:Jurisdiction ;
owl:onProperty
fibo-fnd-rel-rel:isGovernedBy ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
] ;
rdfs:subClassOf [ a
owl:Restriction ;
owl:minQualifiedCardinality
"1"^^xsd:nonNegativeInteger ;
owl:onClass
fibo-fbc-fct-breg:BusinessRegistry ;
owl:onProperty
fibo-fnd-rel-rel:manages
] ;
fibo-fnd-utl-av:adaptedFrom
"http://www.leiroc.org/publications/gls/lou_20140620.pdf"^^xsd:anyURI ;
skos:definition "a governmental registration authority
that is responsible for maintaining a registry of business entities for a
particular jurisdiction" .
...
## properties
fibo-fbc-fct-breg:hasAddressLine1
a owl:DatatypeProperty ;
rdfs:domain fibo-fbc-fct-breg:RegistrationAddress ;
rdfs:label "has address line 1" ;
rdfs:range fibo-fnd-utl-bt:text ;
fibo-fnd-utl-av:definitionOrigin
"http://www.leiroc.org/publications/gls/lou_20140620.pdf"^^xsd:anyURI ;
skos:definition "the first line of the street address" .
...
{noformat}
> Turtle serializer: sort & align prefixes; sort "paragraphs"
> -----------------------------------------------------------
>
> Key: JENA-1262
> URL: https://issues.apache.org/jira/browse/JENA-1262
> Project: Apache Jena
> Issue Type: Improvement
> Components: Cmd line tools
> Reporter: Vladimir Alexiev
> Attachments: BusinessRegistries.ttl
>
>
> 1. Sort & align prefixes. Instead of this:
> {noformat}
> @prefix lcc-3166-1:
> <http://www.omg.org/spec/LCC/Countries/ISO3166-1-CountryCodes/> .
> @prefix dct: <http://purl.org/dc/terms/> .
> @prefix owl: <http://www.w3.org/2002/07/owl#> .
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> @prefix lcc-3166-2:
> <http://www.omg.org/spec/LCC/Countries/ISO3166-2-SubdivisionCodes/> .
> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
> @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
> @prefix sm: <http://www.omg.org/techprocess/ab/SpecificationMetadata/> .
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
> @prefix lcc-lr:
> <http://www.omg.org/spec/LCC/Languages/LanguageRepresentation/> .
> @prefix lcc-cr:
> <http://www.omg.org/spec/LCC/Countries/CountryRepresentation/> .
> {noformat}
> it would be great to produce that:
> {noformat}
> @prefix dct: <http://purl.org/dc/terms/> .
> @prefix lcc-3166-1:
> <http://www.omg.org/spec/LCC/Countries/ISO3166-1-CountryCodes/> .
> @prefix lcc-3166-2:
> <http://www.omg.org/spec/LCC/Countries/ISO3166-2-SubdivisionCodes/> .
> @prefix lcc-cr:
> <http://www.omg.org/spec/LCC/Countries/CountryRepresentation/> .
> @prefix lcc-lr:
> <http://www.omg.org/spec/LCC/Languages/LanguageRepresentation/> .
> @prefix owl: <http://www.w3.org/2002/07/owl#> .
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
> @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
> @prefix sm:
> <http://www.omg.org/techprocess/ab/SpecificationMetadata/> .
> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
> {noformat}
> 2. "Paragraphs"
> (this applies only to non-streaming mode, i.e. --formatted=turtle).
> By "paragraphs" I mean statements with the same subject, which RIOT separates
> by an empty line (i.e. that also matches the common definition of paragraph
> in text processing tools like Emacs).
> If you sort them, in a well-constructed ontology that will output first the
> ontology, then Classes, the properties: which GREATLY aids understanding.
> Eg see attached the FIBO BusinessRegistries ontology reformatted in this way
> (the comment lines are added manually).
> {noformat}
> ## ontology
> fibo-fbc-fct-breg: a owl:Ontology ;
> rdfs:label "Business Registries Ontology" ;
> dct:license
> "http://www.omg.org/techprocess/ab/SpecificationMetadata/MITLicense"^^xsd:anyURI
> ;
> sm:contentLanguage "http://www.omg.org/spec/ODM/"^^xsd:anyURI ,
> "http://www.w3.org/standards/techs/owl#w3c_all"^^xsd:anyURI ;
> sm:copyright "Copyright (c) 2015 EDM Council, Inc.\nCopyright
> (c) 2015 Object Management Group, Inc." ;
> sm:fileAbbreviation "fibo-fbc-fct-breg" ;
> sm:filename "BusinessRegistries.rdf" ;
> owl:imports fibo-fnd-aap-agt: , fibo-fnd-utl-av: ,
> fibo-fbc-fct-ra: , fibo-be-le-fbo: , fibo-fnd-law-jur: , fibo-fnd-utl-bt: ,
> fibo-fnd-rel-rel: , fibo-fnd-plc-adr: , lcc-cr: , fibo-fnd-dt-fd: ;
> owl:versionIRI
> <http://www.omg.org/spec/EDMC-FIBO/FBC/20150801/FunctionalEntities/BusinessRegistries/>
> .
> ## classes
> fibo-fbc-fct-breg:BusinessRegistrationAuthority
> a owl:Class ;
> rdfs:label "business registration authority" ;
> rdfs:subClassOf fibo-fbc-fct-ra:RegistrationAuthority ;
> rdfs:subClassOf [ a
> owl:Restriction ;
> owl:onClass
> fibo-fnd-law-jur:Jurisdiction ;
> owl:onProperty
> fibo-fnd-rel-rel:isGovernedBy ;
> owl:qualifiedCardinality
> "1"^^xsd:nonNegativeInteger
> ] ;
> rdfs:subClassOf [ a
> owl:Restriction ;
> owl:minQualifiedCardinality
> "1"^^xsd:nonNegativeInteger ;
> owl:onClass
> fibo-fbc-fct-breg:BusinessRegistry ;
> owl:onProperty
> fibo-fnd-rel-rel:manages
> ] ;
> fibo-fnd-utl-av:adaptedFrom
> "http://www.leiroc.org/publications/gls/lou_20140620.pdf"^^xsd:anyURI ;
> skos:definition "a governmental registration authority
> that is responsible for maintaining a registry of business entities for a
> particular jurisdiction" .
> ...
> ## properties
> fibo-fbc-fct-breg:hasAddressLine1
> a owl:DatatypeProperty ;
> rdfs:domain fibo-fbc-fct-breg:RegistrationAddress ;
> rdfs:label "has address line 1" ;
> rdfs:range fibo-fnd-utl-bt:text ;
> fibo-fnd-utl-av:definitionOrigin
>
> "http://www.leiroc.org/publications/gls/lou_20140620.pdf"^^xsd:anyURI ;
> skos:definition "the first line of the street address" .
> ...
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)