- Breaking: Rename the package from
rdflibtordf. Update imports frompackage:rdflib/rdflib.darttopackage:rdf/rdf.dart, and the dependency inpubspec.yamlfromrdflib:tordf:. The public API is otherwise unchanged.
- Upgrade
petitparserfrom 6.1.0 to 7.0.2
- Fix parsing of semicolon at end of predicateObjectList
- Fix multi-line parse issue
- Support navigation in Graph
g.value()to find out any triple that has a single rdf:valueg.subjects()to extract matching subjects in the graphg.predicates()to extract matching predicates in the graphg.objects()to extract matching objects in the graph
- Fix exception when triples have the Blank Node (in the format of
_:) parseTurtle()gives more information of error, such as pointing out which line has the error- Read remote turtle files (e.g. from web link)
parseTurtleFromWeb(webLink)
- Identify language tags properly
- Static analysis
- revert changes of static analysis
- Examples
- add a example to package homepage
- Static analysis
- fix warnings, lints, or formatting issues
pubspec.yaml- update version of package [petitparser]
graph.dart- new [_preprocessTurtleContent] method to to handle multiline string literals
- update [parseTurtle] to work when the content with multiline comments
- Examples
- add a example to parse files with multiline field
pubspec.yaml- update version of package [http]
graph.dart- new [addPropertyToGroups] method to add customized property to graph
- update [addObjectProperty] to work when the object or property does not exist
namespace.dart- add new URIRef object [objectProperty] and [Class]
graph.dart- add [deprecated] tags to some methods
- update to new methods to utilize parser effectively
- re-write comments based on dart style guide
- Parser
- fix bugs in trimming
- update tests to include real-world examples
- Examples
- update examples to utilize the new parser funtion in the package. Examples are included in
the
examplefolder, check out more examples here.
- update examples to utilize the new parser funtion in the package. Examples are included in
the
graph.dart- fix a bug of parsing and serializing
@baseand:
- fix a bug of parsing and serializing
graph.dart:- remove comments before parsing
- add function to add a triple to groups by passing in subject, predicate and object as strings
- update prefixes context for 'a' (rdf:type)
- fix a bug of causing duplicated triples added to the graph
grammar_parser.dart: customize evaluators for different parsed result- Support every rule specified in the documentation)
- Will support parsing and ignoring comment
#in the future
graph.dart: add a new parsing function to utilize new grammar parser- Support serializing full form of triples to shorter and simpler forms
- Will support parsing with file path in the future
- Use dart
petitparserpackage to rewrite a few of the parsing functions of turtle file base on the rules naive_parser.dart: support parsing forHEX,UCHAR,IRIREF,PN_CHARS_BASE- Include test cases for the above rules in
test/naive_parser_test.dart
- Include test cases for the above rules in
grammar_parser.dart: support modular grammar definitions for the above rules
term.dart: updateisValidUrito static methodgraph.dart: add support for reading different forms in subject/predicate/object to full URIRef form- Case 1:
<valid_uri>=>URIRef(valid_uri) - Case 2:
<invalid_uri>=> (there should be a default base to interpret this invalid uri)URIRef(base_uri+invalid_uri) - Case 3:
a:b=>URIRef(context[a]+b) - Case 4:
:a=> (there should be a shorthand prefix:in namespace prefix section)URIRef(shorthand_uri+a)
- Case 1:
graph.dart: add support for parsing and writing@baseand@prefix :in namespace prefixes sectionconstants.dart: create constants in this file to be imported to other files if necessary
graph.dart: add function inGraphto parse a whole text string in additional to a file.- Add a corresponding example for parsing full text string.
graph.dart: fix issue of encryption/decryption by using a different keysha256is for quick verification of hashed passphrasesha512is for encryption/decryption
graph.dart: adding optional decryption for the encryptedttlfile- Note the encrypted file must contain a hashed key triple (for quick verification of password) and the encrypted data triple
sha256is used for hashing and verifying the passwordAESis the only supported decryption now (depends onencrypt)
graph.dart: adding optional encryption when serializing graph data tottlfile.AESis the default encryptionsha256is used for generating hashed passphrase- new encrypted file will still be a valid
ttlfile with original contents encrypted in one triple
Adding acknowledgement for RDFLib
Adding examples for reading and writing a full ttl file, check it out in the example/ folder!
graph.dart:- fixing bugs in reading lines ending with
.,,and; - [partly] fixing prefix lines starting with ':' and '@base'
- fixing bugs in reading single numeric values (with no specified datatypes)
- fixing bugs in reading lines ending with
Updating description and GitHub repository.
Renaming rdfgraph to rdflib. (GitHub repository stays the same)
graph.dart: supporting reading local turtle file into aGraphinstance in memory- updating
example/rdfgraph_example3.dartto demonstrate parsing localttlfile
graph.dart: adding functionaddObjectProperty()to link two named triple individuals together- updating
example/rdfgraph_example2.dartto demonstrate linking triples
term.dart:Literaldefault constructor can parse integer, float/double, and date time strings with correspondingXSDtypesgraph.dart: adding named individual- Adding derived SOLID Health Ontology Example examples for demonstration
- Updating
README.mdto include new examples
Updating pub.dev page sidebar homepage link to new ANUSII GitHub repository.
namespace.dart: adding default namespaces (e.g.,RDF,RDFS,OWL, andXSD) with reserved vocabulary of OWL 2 including special treatment, refer to this link for more detailstriple.dart: converting single string value in object to aLiteralinstance with datatypexsd:stringterm.dart:- refactoring constructor to accept full URI
- updating base address later if need be
- adding
Literalclass with data type and language options for more specific object description
graph.dart:- updating contexts when adding triples with different types
- serializing prefixes based on contexts
Improve serialize() by shortening full URIRef instance to the bound namespace name.
Update Graph class:
- add
bind()method to bind string to a namespace for code readability - add
serialize()method to export the graph toturtleformat file.
Update documentation based on dart guide here
Move example code to the top example/ folder.
Add methods to find subjects and objects based on the criteria in the graph.
Update package description with what it can do currently.
Add example file in example/ folder.
Tidy up unused imports.
Add examples, refer to README.
- Namespace
- add RDF and FOAF (incomplete lists)
- URIRef
- add comments
- update methods
- Triple
- update method
Add the following simple naive classes:
- Graph
- Namespace
- URIRef
- Triple
Functionalities in creating the graph:
- add triple to the graph
- this will not add duplicates because a set structure is used to store the triples
Take baby steps in creating RDFGraph package.