[
https://issues.apache.org/jira/browse/JENA-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17345723#comment-17345723
]
Andy Seaborne commented on JENA-1262:
-------------------------------------
Prefixes: sorting and organising should only apply to pretty forms or where the
prefix map is provided separately. Some of the output formats for Turtle are
streaming and prefixes are in encounter order (an can be in the middle of
files). The PR applies to pretty forms so follows this already.
> 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
> Priority: Major
> Labels: First
> 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
(v8.3.4#803005)