#+STARTUP: nonum
- Fix #46
- Issue 31: settle on Artistic-2.0 license
Issue 27: minimize the delete
clause to include only necessary binds:
--filterColumn
variable prebind- templated GRAPH URL and its constituent variables
- Issue 26: add command-line options
--filterColumn, --filter
that are useful for handling both initial loading and data updates. - See global filtering and
test/graphs-crunchbase
- Issue 2 remove
Carp::Always
since it produces a stack trace that’s too verbose
- Support “Conditional Nodes”, i.e. URLs that are conditional on the existence of some fields.
- issue 22 fixed (2023-05-31)
- issue 21: Round brackets in fields (eg “(name)”) and URLs (eg <type/(type)>) are not mangled to square brackets anymore
- issue 18 Add
puml:option
forleft to right direction
etc
- issue 19 Implement filter function, see
test/filter-content
- issue 20 Allow dynamic graph (computed from a data column), see
test/graphs-crunchbase
Datatype attachment eg strdt(?var,xsd:date)
now outputs to ?var_xsd_date
to avoid conflict with input field names in ALL_UPPERCASE
- issue 10 Handle blank-node types that occur on owl:Restriction (see
test/blank-node
) - Duplicate
rdfpuml.bat, puml.bat
as shell scriptsrdfpuml, puml
for use in Makefiles across Linux and Windows
Merge rdf2tarql
and rdf2ontorefine
to one tool rdf2sparql
Add script to generate OntoRefine SPARQL Update queries from model.
Use Perl option -C
when invoking for proper Unicode processing.
See doc section rdfpuml.html#Unicode
Use URL for logicalTable instead of blank node, so that R2RML generated from different models for different tables can be merged more easily. Warning: this assumes that all instances of one subjectMap use the same query.
Add rdf2tarql.pl script to generate TARQL script (CSV-RDF conversion) from model.
- Improve script to abort if the first pipeline step (“update”) fails
- Improve script to work on Cygwin (invokes the Jena tools as
riot.bat
andupdate.bat
) - Filter out harmless warnings from Jena update’s error log
for datatypes like
xsd:integer, xsd:date
etc since the mention of a source field doesn’t match the syntax of such literals. - If a node has single outgoing link and no SQL query/table (
puml:label
), propagate that property backward across the link into the node (previously that was done only for incoming links)
When an edge Y-P-X
is recorded in the RDB table of X
(as foreign key) or in an association table,
it is awkward to specify that table in the node Y
.
So I added this SPARQL UPDATE clause:
- If a node ?y has no SQL, is not Inlined, has a single outgoing edge, then add the SQL of its counterparty ?x as default
I often define puml:stereotype
for some classes in prefixes.ttl.
If the class is not used in some particular turtle, it should avoid emitting a disconnected puml class.
stereotypes()
: Avoid emittinghas_statements_different_from()
: Check that a node has statements other than puml:stereotype
When a type is also used with puml:InlineProperty
, it caused this error:
Can't locate object method "uri_value" via package "RDF::Trine::Node::Literal" at rdfpuml.pl line 261. main::puml_qname(RDF::Trine::Node::Literal=ARRAY(0x4fd0920)) called at rdfpuml.pl line 279 main::puml_node2(RDF::Trine::Node::Literal=ARRAY(0x4fd0920)) called at rdfpuml.pl line 128
An inline is converted to a literal, but rdf:type is always assumed to be a URL. Test: ./test/regression/type-inlineProperty.ttl
Add arrow attributes (dotted, dashed, bold) and length Test: ./test/regression/arrowLen.ttl
Support arrow color (named or hex)
Fix unicode of “decorative arrows” on links going to a Reified Relation:
left => "←", right => "→", up => "↑", down => "↓"
2016-02-10 rdfpuml.pl: blank nodes, hidden links
- support blank nodes
- support new puml “hidden” links that can sometimes help the layout: http://plantuml.com/class-diagram#layout