Skip to main content

losd is (currently) a very simple python package for querying the LOSD (linked open social data) dataset

Project description

losd

a very simple python package for SPARQL querying the LOSD (linked open social data) dataset.

install with

$ pip install losd

or

$ python setup.py losd

For greater control of customization, hacking and debugging, clone the repository and install with pip using -e:

$ git clone https://github.com/ttm/losd.git
$ pip3 install -e <path_to_repo>

usage

Queries have the heading:

PREFIX po: <http://purl.org/socialparticipation/po/>

Examples of usage:

import losd as l
pl = l.plainQueryValues
q = l.query

# get all snapshots:
query = '''
SELECT ?s WHERE {
  ?s a po:Snapshot
}
'''

res = pl(q(query))

##########
# from here on, check to assure that the uris correspond to
# the snapshot (types) intended

# get all friendship relations in a facebook snapshot:
uri = res[99]
query = '''
SELECT ?a1 ?a2 WHERE {
?f a po:Friendship . ?f po:snapshot <%s> .
?f po:member ?a1, ?a2 .
FILTER(?a1 != ?a2)
}
''' % (uri,)
res2 = pl(q(query))


# get all retweet interactions in a Twitter snapshot:
uri = res[-1]
query = '''
SELECT ?a1 ?a2 WHERE {
?m1 po:retweetOf ?m2 . ?m1 po:author ?a1 . ?m2 po:author ?a2 .
?m1 po:snapshot <%s>
}
''' % (uri,)
res3 = pl(q(query))

# get all interactions in a email snapshot:
uri = res[48]
query = '''
SELECT ?from ?to WHERE {
?message1 po:snapshot <%s> . ?message2 po:replyTo ?message1 .
?message1 po:author ?from . ?message2 po:author ?to .
}
''' % (uri,)
res4 = pl(q(query))

# get all interactions in a IRC snapshot, with texts:
uri = res[102]
query = '''
SELECT ?a1 ?a2 ?t WHERE {
?m a po:IRCMessage . ?m po:author ?a1 . ?m po:directedTo ?a2 .
?m po:cleanText ?t . ?m po:snapshot <%s>
}
''' % (uri,)
res5 = pl(q(query))

# get all interactions in the AA snapshot:
query = '''
SELECT ?a1 ?a2 WHERE {
?s po:author ?a1 . ?s po:checkParticipant ?a2 .
}
'''
res6 = pl(q(query))


# get all friendshipts in the Participa.BR snapshot:
uri = res[104]
query = '''
SELECT ?a1 ?a2 WHERE {
?f a po:Friendship . ?f po:snapshot <%s> .
?f po:member ?a1, ?a2 .
FILTER(?a1 != ?a2)
}
''' % (uri,)
res7 = pl(q(query))

# get all interactions in the Participa.BR snapshot:
uri = res[104]
query = '''
SELECT ?a1 ?a2 WHERE {
?a po:snapshot <%s> . ?a a po:Article .
?a po:author ?a1 . ?c po:article ?a . ?c po:author ?a2 .
}
''' % (uri,)
res8 = pl(q(query))

# get all interaction in the Cidade Democrática snapshot:
uri = res[45]
query = '''
SELECT ?a1 ?a2 WHERE {
?t po:snapshot <%s> .  ?t a po:Topic . ?t po:author ?a1 .
?c a po:Comment . ?c po:topic ?t . ?c po:author ?a2 .
}
''' % (uri,)
res9 = pl(q(query))


interaction = [
    res3,
    res4,
    res5,
    res6,
    res8,
    res9
]
friendship = [
    res2,
    res7,
]

fr = []
for relations in friendship:
    fr.append(l.mkRelationNetwork(relations))

inte = []
for interactions in interaction:
    inte.append(l.mkInteractionNetwork(interactions))

# finished. Play with the networks in fr and inte
# maybe use networkx and pylab to plat them

# :::

deployment to pypi

This package іs delivered by running: $ python3 setup.py sdist $ twine upload dist/

Maybe use "python setup.py sdist upload -r pypi" ?

Further information

Further information should be found in the LOSD article repository:

Better usage

Please consider registration into Data.World to use LOSd in accordance with their policy and facilitating assistance by their staff. Take a look at their own python package.

Contact

Any issues, questions or ideas should be sent to:

renato (dot) fabbri [AT] gmail {DOT} com

:::

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

losd-0.2b0.tar.gz (5.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page