neo's People
neo's Issues
Searching sources from concept node
If you have a concept node, then you should be able to search Wikipedia based off the title of that node for relevant pages and optionally create new nodes from those.
Wikinode.get_categories() does not pull complete list of pages
This code only produces 1 article in the category, looking at the corresponding Wikipedia page shows that there should be 12. This seems to be an issue with the wikipedia library. This guide shows how to do something similar but with MediaWiki API but it is in Cypher.
from py2neo import Graph
from neo.graph.data import Node
from neo.graph.wikipedia import WikiNode
wikinode = WikiNode("Category:Bayesian networks")
wikinode.get_articles()
Duplicate nodes are created when instances with the same title are created
The title
property should be used as __primarykey__
and the value of title
should be __primaryvalue__
since this is how py2neo handles MERGE and CREATE clauses.
This code below should replicate the issue.
from py2neo import Graph
from neo.graph.data import Node
from neo.graph.wikipedia import WikiNode
node = Node("Some Node")
wikinode = WikiNode("Set theory")
node = Node("Some Node")
wikinode = WikiNode("Set theory")
This produces duplicate nodes as shown below.
https://github.com/Tyjch/Neo/blob/f5f16979ed74b19ab6bc7d52b998976a0add979a/neo/graph/data.py#L5-L36
Node should attempt to pull from database when initialized
When init is called in Node or subclasses of Node, it should attempt to merge with pre-existing nodes in the graph first.
https://github.com/Tyjch/Neo/blob/f5f16979ed74b19ab6bc7d52b998976a0add979a/neo/graph/data.py#L5-L36
Spreading activation
Incorporate spreading activation for WikiNodes (or other subclasses of Node that are capable of creating other nodes with raw data sources in their properties). It should incorporate multiple ways to fire (e.g. document similarity is over a given threshold value, a given key phrase exists in a node etc.) that allow it to be customizable by the user. Some other parameters may be initial activation value, firing threshold, decay factor, etc. as mentioned in the above article.
Rewrite get_categories and get_article methods
Both of these methods should be added to the parent class WikiNode instead as they both have similar implementations. Maybe even convert them into a single method that specifies what type of page to expand (as there might be more types of WikiNodes added later, like lists, glossaries, or portals).
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.